怎样导dblink

我想将dblink从一个数据库迁移到另一个数据库,发现在源端直接用pl/sql developer查看DBLINK的创建sql,sql里里不包含用户的密码,所以在目标端创建失败。

这里用这种方法导出。

1.在源端查看LINK$表,导出insert语句

在源端用pl/sql developer执行如下查询sql,并将查询的结果导出成insert语句(< Export Query Results>-->sql file,另存为)
SELECT owner#, name,host, userid, flag,passwordx FROM LINK$;

2.在目标端执行insert语句

3.验证

注意:执行完成后在每个节点都测试一下dblink是否建成功:

select 1 from dual@link名称 

--发现按这种方式导dblink,link$里的owner#和dba_users里的user_id对应不上(用户名称一样,但是userid发生变化),导致dblink无法使用,需要在新环境修改link$里的owner#为dba_users里查出来的user_id。

如果出现一个节点报未找到远程数据连接说明:

另一个节点报dblink lock或者其它,即两个节点测试dblink结果不一致 ,需要在报未找到远程数据连接说明的节点清理数据库缓存,执行:
SQL>alter system flush shared_pool;
SQL>alter system flush buffer_cache;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值