oracle数据库的impdp,expdp

oracle数据库在迁移的时候如果数据库的数据量在100G以内,建议是用数据泵,如果数据库的数据量大于100G,建议使用其它的数据同步工具。

oracle数据库使用数据泵导入导出的是 相同的数据库版本,相同的用户名字,相同的表空间 ,想要看导出的情况可以加个参数logfile=日志的名字,查看导出导入的详细过程,

建立目录

create  directory dump_dir  as  '/home/oracle/dump/'

grant  read,write  on directory dump_dir to public;

数据的导出

--1)按用户导

expdp scott/tiger@192.168.0.110:1521/orcl  schemas=scott  dumpfile=expdp.dmp DIRECTORY=dump_dir;

--2)并行进程parallel

expdp scott/tiger@192.168.0.110:1521/orcl directory=dump_dir dumpfile=scott3.dmp  parallel=40  job_name=scott3

--3)按表名导( 多张表使用逗号隔开 )

expdp scott/tiger@192.168.0.110:1521/orcl   TABLES=emp,dept  dumpfile=expdp.dmp DIRECTORY=dump_dir;

--4)按查询条件导

expdp scott/tiger@192.168.0.110:1521/orcl directory=dump_dir dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

--5)按表空间导( 多个表空间使用逗号隔开 )

expdp system/oracle DIRECTORY=dump_dir DUMPFILE=tablespace.dmp  TABLESPACES=temp,example ;

--6)导整个数据库

expdp system/oracle DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

------------------------------------------------------------------------------------------------------------

数据的导入

--1)导到指定用户下

impdp scott/tiger    DIRECTORY=dump_dir DUMPFILE=expdp.dmp SCHEMAS=scott;

--2)导入表

impdp system/oracle DIRECTORY=dump_dir DUMPFILE=expdp.dmp TABLES=scott.dept;

--3)导入表空间

impdp system/oracle DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=example;

--4)导入数据库

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

------------------------------------------------------------------------------------------------------------- 

如果是不同版本数据库,不同用户,不同表空间需要使用version,remap_tablespace,remap_schemas

其中

-------------------------------------------------------------------------------------------------------------

 多个表空间对象导入到一个表空间中 

impdp yngtts/yngtts DIRECTORY=DATA_PUMP_DIR dumpfile=mydir:yngtts0514.dmp logfile=mydir:yngtts0514.log  remap_schema=yngtts/yngtts remap_tablespace='(TS_YNGT:TS_YNGT,CWFTS:TS_YNGT,TS_EDIDB_DEFAULT:TS_YNGT)'

------------------------------------------------------------------------------------------------------------

TABLE_EXISTS_ACTION

TABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE]

SKIP按原样离开表并移动到下一个对象。如果CONTENT参数设置为,则这不是有效选项DATA_ONLY。

APPEND 从源加载行并保持现有行不变。

TRUNCATE 删除现有行,然后从源加载行。

REPLACE删除现有表,然后从源创建并加载它。如果CONTENT参数设置为,则这不是有效选项DATA_ONLY。

使用这些选项时,以下注意事项适用:

使用TRUNCATE或时REPLACE,请确保受影响的表中的行不是任何引用约束的目标。

在源中使用SKIP,APPEND或者TRUNCATE现有的表依赖对象(如索引,授权,触发器和约束)不会被修改。因为REPLACE,如果未明确或隐式排除(使用EXCLUDE)它们并且它们存在于源转储文件或系统中,则从源中删除并重新创建从属对象。

使用APPEND或时TRUNCATE,会执行检查以确保源中的行与现有表兼容,然后再执行任何操作。

如果现有表具有活动约束和触发器,则使用外部表访问方法加载它。如果任何行违反了活动约束,则加载失败并且不加载任何数据。您可以通过DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS在“导入”命令行上指定来覆盖此行为。

如果您有必须加载的数据,但可能导致约束违规,请考虑禁用约束,加载数据,然后在重新启用约束之前删除问题行。

使用时APPEND,数据总是加载到新空间; 即使可用,现有空间也不会被重复使用。因此,您可能希望在加载后压缩数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值