测试背景
在近期的数据库迁移中,进一步梳理DB LINK的定义时,发现其定义存在类似如下语句
(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL
= TCP)(HOST =xxxxx)(PORT = 1521)))(CONNECT_
DATA =(SID = xx)))
我们知道,一般DB LINK的定义是通过SERVICE_NAME实现访问数据库达到其功能的
测试结论
1,DB LINK通过SERVICE_NAME可以创建成功
create database link link_using_sid connect to user_zxy identified by system
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.39)(PORT = 1521))
)
(CONNECT_DATA =
(service_name = esbdb)
)
)';
2,db link也可以通过SID创建成功
create database link link_using_sid connect to user_zxy identified by system
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.39)(PORT = 1521))
)
(CONNECT_DATA =
(sid = esbdb)
)
)';
3,总结一下:
A,SID好像是数据库旧版本保留下来的
B,为了使用数据库新版本的一些新功能,比如客户端负载均衡以及应用连接时故障切换,ORACLE建议用SERVICE_NAME替换SID
C,关于ORACLE为何建议用SERVICE_NAME替换SID,请进一步参考官方手册 Oracle Database Net Services Administrator
测试明细
1,DB LINK使用方与提供方的数据库概况
DB LINK使用方数据库名称 db LINK使用方数据库版本 DB LINK提供方数据库名称 db link提供方数据库版本
mygirl 10.0.0.5 esbdb 10.0.0.39
2,在DB LINK使用方创建基于SID的DB LINK
SQL> show user
USER is "SYS"
create database link link_using_sid connect to user_zxy identified by system
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.39)(PORT = 1521))
)
(CONNECT_DATA =
(sid = esbdb)
)
)';
3,在DB LINK使用方验证DB LINK功能
SQL> select * from t_test@link_using_sid;
A
----------
1
4,通过在oracle官方手册 Database Net Services Reference之tnsnames.ora未找到关于SID的进一步定义
继续采用关键字 tns sid查阅到在官方手册
Database Net Services Reference, 11g Release 2 (11.2)
发现如下信息
Connect descriptors that are currently configured with the SID parameter can remain. However, to take advantage of new features,
such as client load balancing and connect-time failover, Oracle recommends replacing SID with SERVICE_NAME
See Also:
Oracle Database Net Services Administrator's Guide for additional information about database identification by SERVICE_NAME rather than SID
总结一下:
A,SID好像是数据库旧版本保留下来的
B,为了使用数据库新版本的一些新功能,比如客户端负载均衡以及应用连接时故障切换,ORACLE建议用SERVICE_NAME替换SID
C,关于ORACLE为何建议用SERVICE_NAME替换SID,请进一步参考官方手册 Oracle Database Net Services Administrator
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-2141269/,如需转载,请注明出处,否则将追究法律责任。