create database link中的identified by values

问题描述:
客户数据库11.2.0.4(db01)要建一个db link去连接远程的数据库10.2.0.4(db02),用于连接远程数据库上的中间用户的密码忘记了,而且中间用户的密码
又不方便改,因为还有其它数据库10.2.0.4(db03)在用这个用户做db link连接。

解决方法:
通过在db03上找到link$表中db link 的加密密码,然后利用这个加密密码通过identified by values去create database link.

具体操作:
----db03
--查询加密密码
select passwordx from link$
where userid='LNK_TEST' and host='db02';
/*
PASSWORDX
0541AE17AAFEB5CCD8D125C3D4F8B710A707EAAB638A30FD87
*/

----db01
--通过在db03上查询出来的加密密码,建db link
create public database link lnk_db02
  connect to LNK_TEST identified by values '0541AE17AAFEB5CCD8D125C3D4F8B710A707EAAB638A30FD87'
  using 'db02';
--验证db link是否可用
select * from dual@lnk_db02;
/*
DUMMY
X
*/

备注:
1.在10g数据库上通过明码建的db link产生的加密密码在10g/11g上都是可用的;11g数据库上通过明码建的dblink产生的加密密码在10g/11g上都是不可用的, 会报ora-02153:无效的values口令字符串。
2.相同的明码,会产生不同的加密密码,这些加密密码都是可用的。
3.通过加密密码建db link时,加密密码一定不能错,不然在调用时会触发ORA-00600: [Kzdlk_zt2 Err] While Selecting Using a Database Link [ID 456320.1]
4.个人不建议通过identified by values去建db link,上面的问题如果能再建一个中间用户,把相应的权限复制过来是最好的。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28539951/viewspace-1758545/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28539951/viewspace-1758545/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值