Oracle备份还原(expdp/impdp)

人勤阡陌绿 2014-06-06

Oracle备份还原(expdp/impdp)

1. 创建目录
 
SQL> create directory dump_file as ‘/db/backup’;
 
2. 目录赋权限
 
SQL> grant read,write on directorydump_file to bam;
 
  查看目录
 
SQL> select * from dba_directories;
 
3. 备份
 
SQL>expdp user/pwd directory=dump_filedumpfile=expdp_%U.dmp logfile=expdp.log filesize=20G
 
4. 还原
 
SQL>impdp user/pwd directory=dump_filedumpfile=expdp_%U.dmp logfile=impdp.log 
 
备份内容(content):
 
(1)备份所有(对象结构、数据):content = all(默认)
 
(2)逻辑备份(只有对象结构):content = metadata_only
 
(3)数据备份(只有数据):content = data_only(导入时,需要确保数据定义已经存在,如果已经存在,导入时最好指定data_only)
 
过滤已经存在的数据(table_exists_action):
 
(1)table_exists_action = skip:跳过该表,继续处理下一个表(如果同时指定了CONTENT参数为Data_only的话,skip参数无效,默认为append)
 
(2)table_exists_action = append:继续添加数据
 
(3)table_exists_action = truncate:截断表,再添加数据
 
(4)table_exists_action = replace:删除并重建表,再添加数据(如果同时指定了CONTENT参数为Data_only的话,replace参数无效)
 
重定义对象所属用户(Remap_schema):
 
语法:REMAP_SCHEMA=Source_schema:Target_schema[,Source_schema:Target_schema]
 
(Remap_schema=a:b,c:d这个可以,但是不能在同一个IMPDP命令中指定remap_schema=a:b,a:c.)
 
 
重定义对象的表空间(remap_tablespace):
 
REMAP_TABLESPACE=Source_tablespace:Target_tablespace[,Source_tablespace:Target_tablespace]

相关推荐