使用impdp,expdp数据泵进入海量数据迁移

利用expdp,impdp进行海量数据导出和导入时,需要建立多个表空间进行协同, 而且需要表空间文件能够自动增长,在特殊情况下还需要临时表空间TEMP的协同, 具体的使用请观看下面的视频,

本文demo下载链接:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=1030

上述视频有个错误点(见下方),请及时修正一下,下载对应的脚本已经修复

--创建目录, 只是数据库中有这条记录,真实的物理文件夹需要自己添加

create directory EXPORT_DATA as 'F:\oracleapp\Administrator\admin\MyOracle\DIR_DP' --错误

create directory DIR_DP as 'F:\oracleapp\Administrator\admin\MyOracle\DIR_DP' --正确

视频中的脚本可以点击【下载实例】进行下载, 此脚本在Windows和Linux下皆可以(适用于>=10g的oracle版本)

注意点:

1. 导出文件的大小可能比导入文件小很多, 例如: 导出文件500g, 但导入后,实际数据文件占用600G, 这是因为导出数据是不建立索引空间 的, 只标注相应的索引信息, 但导入时,会根据索引信息建立索引文件

2. 导入时,及时使用提供的脚本进行相关数据的观察,以避免表空间文件不足或者磁盘文件不足引发的错误

3. IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件

4.导出数据

1)按用户导

expdp scott/tiger@orclschemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;

2)并行进程parallel

expdp scott/tiger@orcldirectory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3

3)按表名导

expdp scott/tiger@orclTABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;

4)按查询条件导

expdp scott/tiger@orcldirectory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

5)按表空间导

expdp system/managerDIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;

6)导整个数据库

expdp system/managerDIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;

5. 导入数据

1)导到指定用户下

impdp scott/tiger DIRECTORY=dpdata1DUMPFILE=expdp.dmp SCHEMAS=scott;

2)改变表的owner

impdp system/managerDIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.deptREMAP_SCHEMA=scott:system;

3)导入表空间

impdp system/managerDIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;

4)导入数据库

impdb system/managerDIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

5)追加数据

impdp system/managerDIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180405A10N7700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券