一. 导出
1. 按表
1. expdp username/password@database dumpfile=11.dmp directory=DATA_PUMP_DIR tables=tableName logfile=tables.log;
2. expdp username/password@database dumpfile=11.dmp directory=DATA_PUMP_DIR tables=(tableName1,tableName2) logfile=tables.log;
2. 按条件
1. expdp username/password@database dumpfile=11.dmp directory=DATA_PUMP_DIR tables=tableName logfile=tables.log query=\"t where t.Id=1\";
上述按条件导出语句存在特殊字符转义问题,较复杂的语句例如时间日期条件(t.time>=to_date(‘2099-01-01 00:00:00’,‘yyyy-mm-dd hh24:mi:ss’)) 就不方便了,所以可以考虑下面的parfile
方式
parfile方式
- 创建parfile文件:par1.par
- par1文件内容:
DIRECTORY=DATA_PUMP_DIR
LOGFILE=logfile.log
DUMPFILE=dmp1.dmp
tables=(tableName1,tableName2)
query=
(tableName1:“where time>=to_date(‘2099-01-01 00:00:00’,‘yyyy-mm-dd hh24:mi:ss’)”),
(tableName2:“where time>=to_date(‘2099-01-02 00:00:00’,‘yyyy-mm-dd hh24:mi:ss’)”)- 将文件放在数据库dmp根目录下,也可以随意路径
- 导出:
expdp username/pwd@10.10.10.10:1521/orcl parfile=E:\app\Administrator\admin\orcl\dpdump\par1.par
二. 导入
1. 按表
通过expdp导出表a(适用于oracle11R2以上版本)
通过impdp remap_table参数
expdp xxx/xxx directory=xx dumpfile=a.dmp tables=a
impdp xxx/xxx directory=xx dumpfile=a.dmp remap_table=a:b
1. impdp username/password@database directory=DATA_PUMP_DIR dumpfile=a.dmp remap_table=a:b
END |