oracle 怎么创建sid,oracle 11.2.0.4 db link创建之sid语法一点浅谈之一

测试背景

在近期的数据库迁移中,进一步梳理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/,如需转载,请注明出处,否则将追究法律责任。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值