前言
在实际工作中可能会遇到测试或者迁移工作,对于数据库建立较多的dblink应用重新建立dblink工作量较大,此时可以通过逻辑导出导入dblink方式进行实现。
提示:以下是本篇文章正文内容,下面案例可供参考
一、实现步骤
获取ddl方式(不可行)
select dbms_metadata.get_ddl('db_link','IW','HTHE')|| ';' as ddl from dual ;
CREATE DATABASE LINE HTHE.IW
CONNECT TO "IW” IDENTIFIED SY VALUES ':1'
USIHG '192.168.1.111/db';
以上获取的ddl可以看到,在密码部分无法输出原值,遂无法拿出此ddl执行。
expdp单独导出dblink
#expdp 导出只包含db_link的元数据
#expdp 建议添加schemas用户加上public的dblink,否则是不导出public的dblink
expdp system/123456 directory=dmpdir dumpfile=db_link.dmp content=metadata_only logfile=db_link01.log INCLUDE=db_link schemas=public,user1,user2,user3,user4
expdp无法单独导出public dblink,正确写法schemas=public,user1…
二、impdp单独导入dblink
#导入dblink
impdp a/a@192.168.1.112/pdb1 directory=oracledir dumpfile=db_link.dmp content=metadata_only INCLUDE=db_link logfile=impdb_link01.log
#查询确认
select * from dba_db_links;
select * from dba_objects where object_type='DATABASE LINK';