作者:朱金灿
来源:http://blog.csdn.net/clever101
Oracle 10g的备份和恢复可以分为三个级别:数据库级别(针对指定数据库)、模式级别(针对指定用户)和记录表级别(针对指定表)。
1. 数据库的备份和恢复
oracle 10g 的数据库备份采用其命令行工具EXP.exe,其用法如下():
EXP.exe user_name/pwd@TNS_Alias full=yinctype=complete file=bake_file_path
user_name/pwd@service_name分别是用户名、密码和TNS_Alias(可以理解为数据库名),file对应的是数据库备份文件路径,如:EXP.exe system/zjc@ORCL full=y inctype=complete file=C:\BakeFile.bak。
和有一个备份工具对应,oracle10g也提供了一个数据库恢复工具:IMP.exe,其用法如下:
IMP user_name/pwd@TNS_Alias full=yignore=y commit=y file= bake_file_path
user_name/pwd@service_name分别是用户名、密码和TNS_Alias(可以理解为数据库名),file对应的是数据库备份文件路径,如:IMP system/zjc@ORCL full=y ignore=y commit=yfile= C:\BakeFile.bak。
2. 模式备份和恢复
oracle 10g 的模式备份采用其命令行工具EXP.exe,其用法如下():
EXP.exe user_name/pwd@TNS_Alias owner=owner_name file= bake_file_path,
user_name/pwd@service_name分别是用户名、密码和TNS_Alias(可以理解为数据库名),owner为指定备份的用户,file对应的是数据库备份文件路径,
如:EXP.exe system/zjc@ORCL owner=zjc file=C:\BakeFile.bak。
Oracle 10g的模式恢复采用其命令行工具IMP.exe,不过在恢复指定用户的数据必须先确保该用户是存在,且具有使用表空间的权限。IMP.exe进行模式恢复的命令如下:
IMP user_name/pwd@TNS_Alias fromuser=user_nametouser=restore_user file= bake_file_path
user_name/pwd@service_name分别是用户名、密码和TNS_Alias(可以理解为数据库名),fromuser为执行恢复操作的用户,name touser 为要恢复的用户的数据,file对应的是数据库备份文件路径,
如:IMP.exe system/zjc@ORCL fromuser=zjc touser=scott file=C:\BakeFile.bak。(恢复用户scott的数据)
3. 记录表备份和恢复
Oracle10g的记录表级别的备份依然使用EXP.exe,其用法如下():
EXP user_name/pwd@TNS_Alias tables=user_name.table file= bake_file_path,
user_name/pwd@service_name分别是用户名、密码和TNS_Alias(可以理解为数据库名),file对应的是数据库备份文件路径,这里需要注意的是tables参数必须指定该表所属的用户。例如EXP.exe system/zjc@ORCLtables=zjc.student file=C:\BakeFile.bak。即是备份用户zjc下的student表。
Oracle10g的记录表级别的恢复很简单,依然使用其恢复工具IMP.exe。用法如下:
IMP user_name/pwd@TNS_Alias file= bake_file_path
user_name/pwd@service_name分别是用户名、密码和TNS_Alias(可以理解为数据库名),file对应的是数据库备份文件路径,如:IMP system/zjc@ORCL file= C:\BakeFile.bak。