1.前言
上一篇主要讲解了expdp/impdp的一些讲解,这里主要具体介绍这两个命令的常用语法
2.常用的场景
0.创建目录和赋予权限
##导出 create or replace directory exp as '/home/oracle/backup/exp';##创建文件 grant read,write on directory exp to system; ##比如说给这个system用户赋予对这个目录读写权限 grant 'EXP_FULL_DATABASE' to system; ##给system用户赋予数据导出权限 ##导入 1.create or replace directory imp as '/home/oracle/backup/imp';##创建文件 2.grant read,write on directory imp to system; 3.grant 'imp_ful_database' to system ##赋予导入权限
1.按用户
导出:expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=file_path;
导入:impdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=file_path;
2.按照表名(如果导出普通用户的表,用户.表名)
导出:expdp 用户名/密码@监听别名 tables=scott.emp,scott.dept directory=file_path dumpfile=2017.5.12.dmp 导入:impdp 用户名/密码@监听别名1 tables=scott.emp,scott.dept directory=file_path dumpfile=2017.5.12.dmp
3.按照表空间
导出:expdp system/manager DIRECTORY=file_path DUMPFILE=tablespace.dmp TABLESPACES=temp,example; 导入:impdp system/manager DIRECTORY=file_path DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
4.整个库
导出:expdp system/manager DIRECTORY=file_path DUMPFILE=full.dmp FULL=y; 导入:impdp system/manager DIRECTORY=file_path DUMPFILE=full.dmp FULL=y;
5.只导表结构
导出:expdp system/oracle directory=file_path dumpfile=LMEC_BHA.dmp logfile=new.log tables=BHA.t content=metadata_only 导入:impdp system/oracle directory=file_path dumpfile=LMEC_BHA.dmp logfile=new.log tables=BHA.t
6.按照不同表空间、不同用户(将一个用户的数据迁移到另外一个用户)
导出:expdp sys/xxx directory=file_path dumpfile=bha.dmp logfile=hj.log schemas=BHA exclude=statistics 导入:impdp sys/xxx dumpfile=bha.dmp directory=file_path remap_schema=BHA:HFBHA remap_tablespace=BHA:HFBHA logfile=bha.log
7.并行导出导入
导出:expdp system/oracle schemas=BHA file_path dumpfile=bha_%U.dmp parallel=3 logfile=bha.log 导入:impdp system/oracle schemas=BHA file_path dumpfile=bha_%U.dmp parallel=3 logfile=bha.log
8.只导出数据,表结构和索引,不导出其它对象
expdp 用户/密码 tables=FUND_CURR_INFO,FUND_NAV_CALC directory=tong dumpfile=upcenter.dump logfile=upcenter.log INCLUDE=TABLE,TABLE_DATA,INDEX compression=ALL
3.常见的参数
1.compression={ALL, DATA_ONLY, [METADATA_ONLY] and NONE}:压缩
2.INCLUDE:指定导出是要包含的对象类型以及相关对象 include=object_type[:name_clause]
3.table_exists_action={skip,append,truncate,replace} 该参数主要是针对导入impdp命令
上面的参数针对与表空间已经存在的表,导入数据有4中情况
skip:如果表已经存在,就直接跳过导入
append:保持现有的数据,导入新数据
truncate:删除原有的数据,导入新数据
replace:删除所有表(drop),并重建(create),再导入新数据
.....
参考:https://blog.csdn.net/weixin_33725239/article/details/89774189