彻底理解初始化参数SERVICE_NAMES和客户端TNS中SERVICE_NAME(2)

 SERVICE_NAMES与客户端的TNS配置

 


      本文可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明

      http://blog.itpub.net/post/11/3115

      2.       SERVICE_NAMES与客户端的TNS配置

在客户端配置tnsnames.ora

test1 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 129.0.8.91)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = SIMIS)

    )

  )

test2 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 129.0.8.91)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = hyk)

    )

  )

test3 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 129.0.8.91)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = hyb)

    )

  )

 

下面分布尝试用这三个tns来连接:

SQL> conn system/manager@test1

已连接。

SQL> /

 

INSTANCE_NAME    HOST_NAME

---------------- ------------------------------

simis            SB-HYK

 

SQL> conn system/manager@test2

已连接。

SQL> /

 

INSTANCE_NAME    HOST_NAME

---------------- ------------------------------

simis            SB-HYK

 

SQL> conn system/manager@test3

已连接。

SQL> /

 

INSTANCE_NAME    HOST_NAME

---------------- ------------------------------

simis            SB-HYK

 

SQL>

 

我们看到配置的SERVICE_NAME不管是simishykhyb均可以成功连接到服务器上。

 

下面看看如果SERVICE_NAMES中如果不包含INSTANCE_NAME的时候能不能通过INSTANCE_NAME进行连接,事实证明连接不成功:

SQL> alter system set service_names='hyb,hyk' scope=both;

 

系统已更改。

 

SQL> shutdown abort;

ORACLE 例程已经关闭。

SQL> startup

ORA-03113: 通信通道的文件结束

SQL> conn / as sysdba

已连接到空闲例程。

SQL> startup

ORACLE 例程已经启动。

 

Total System Global Area  114061244 bytes

Fixed Size                   282556 bytes

Variable Size              79691776 bytes

Database Buffers           33554432 bytes

Redo Buffers                 532480 bytes

数据库装载完毕。

数据库已经打开。

SQL>

 

SQL> conn system/manager@test1

ERROR

ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME

 

      3.       结论

oracle9i开始,后台进程PMON自动在监听器中注册初始化参数SERVICE_NAMES中定义的服务名,SERVICE_NAMES默认为DB_NAME+DOMAIN_NAME。客户端tns配置中SERVICE_NAME的名称必须是SERVICE_NAMES或其中的一个NAME

 

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

转载于:http://blog.itpub.net/6906/viewspace-21585/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值