Oracle 用户既存在PUBLIC/私有DBLINK 会优先选择?



标题:Oracle 用户既存在PUBLIC/私有DBLINK 会优先选择? 

作者:lōττéry©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]

笔记整理~

前言:
 用户既存在PUBLIC/私有DBLINK的原因如下:
 原test_3用户的存储过程一直访问CWJK_3用户的DB_CWJK_3 public dblink ;
 后将CWJK_3用户的数据复制到CWJK_2,test_3用户的数据复制到test_2
 test的2个用户都正常使用,想实现新用户test_2访问CWJK_2的数据,其他用户正常访问DB_CWJK_3 public的dblink;
 由于test_2用户复制的test_3的存储过程,新建dblink DB_CWJK_2,,所以需要在test_2创建一个私有dblink来访问DB_CWJK_2;

测试结果:会优先选择私有DBLINK

测试如下:

SQL> SELECT * FROM dba_db_links where db_link='DB_CWJK_3';
 
OWNER         DB_LINK          USERNAME       HOST                                                                             CREATED
------------- ---------------- -------------- -----------------------
PUBLIC       DB_CWJK_3         CWJK_3    (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.49)(PO    2014/8/13 1
 
SQL> SELECT * FROM user_users@db_cwjk_3;
 
USERNAME   
-----------
CWJK_3    
 
SQL>
 

SQL> conn test_2/test_2@192.168.0.49:1521/db
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
Connected as test_2@192.168.0.49:1521/db
 
SQL> create  database link db_cwjk_3 connect to cwjk_2 identified by cwjk_2 using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.49)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = fescotestdb)))';
 
Database link created
 
SQL> SELECT * FROM user_users@db_cwjk_3;
 
USERNAME   
-----------
CWJK_2    
 
SQL>

 
    【源于本人笔记】 若有书写错误,表达错误,请指正...


此条目发表在 Oracle 分类目录。将固定连接加入收藏夹。


请使用浏览器的分享功能分享到微信等