Expdp和Impdp的使用

网友投稿 609 2022-11-08

Expdp和Impdp的使用

Expdp和Impdp的使用

Expdp和Impdp的使用是Oracle 10g加入的新的功能,相对于以前的Exp和IMp来说,他有以下的优势。

1. 效率更高。2. 只支持server端,通过directory限制,存储在server端,从而保证速度。3. 更好的更方便的支持tablespace的transport4. 通过job的形式执行dump工作,这个不见得一定是个优点,但是至少是个新点。

下面来看看expdp和impdp的过程主要看tablespace transport1. 首先对表空间检查。表必须是只我子包含,当搬移表空间是,如果在两个表空间之间存在关联关系,则必须同时搬移这两个表空间。 通过执行包DBMS_TTS.TRANSPORT_SET_CHECK可以完成表空间集合是否为自包含的检测。执行完该过程后,系统将违反子包含表空间集合规则的信息写入到临时表transport_set_violations。

SQL> exec sys.dbms_tts.transport_set_check(’rmantbs’);PL/SQL procedure successfully completed.

SQL> select * from sys.transport_set_violations;no rows selected.

2. readonly tablespace导出SQL> alter tablespace testts1 read only;Tablespace altered.

要先建立directorySQL>create or replace directory data_pump_dir as ‘d:/orabackup/dump’;

授权directorySQL>grant read, write on directory data_pump_dir to test1;使用数据泵导出工具生成要搬移的表空间的集合。$expdp system/systempwd dumpfile=testts1.dmp transport_tablespaces=TESTTS1 directory= data_pump_dir ;注意:由于expdp会通过job的形式生成一个job来完成导入,如果当前用户的默认表空间是这个表空间的话,刚才我们已经read only了,所以这里会出现一个错ORA-31626: job does not existORA-31633: unable to create master table “RMAN.SYS_EXPORT_TRANSPORTABLE_05″ORA-06512: at “SYS.DBMS_SYS_ERROR”, line 95ORA-06512: at “SYS.KUPV$FT”, line 863ORA-01647: tablespace ‘TESTTS1′ is read only, cannot allocate space in it用其他用户导入。当然和exp一样,这个用户需要EXP_FULL_DATABASE的权限。

导入就逆过程了,如下$impdp test1/test1@test dumpfile=transport.dmp directory=data_pump_dir dumpfile=testts1.dmp

expdp也同样支持database级别,schema/user级别和表级别如下schemas=(user1, user2)tables=(table1, table2)includes=table:/”in(’table1′,’table2′)/”

===============================================================

Inthirties关注Oracle数据库 维护,优化,安全,备份,恢复,迁移,故障处理

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Oracle数据库中利用ASSM改善分段存储(转)
下一篇:linux下lvm动态扩展
相关文章

 发表评论

暂时没有评论,来抢沙发吧~