ITPub博客

首页 > 数据库 > Oracle > Oracle监听器的静态注册与动态注册,以及DB_DOMAIN问题

Oracle监听器的静态注册与动态注册,以及DB_DOMAIN问题

原创 Oracle 作者:denniswwh 时间:2009-07-08 15:49:02 0 删除 编辑

从Oracle8i开始,Oracle可以不需要在监听器SID_LIST中配置需要监听的Oracle实例,PMON会自动动态注册到监听器,当然,这是有条件限制的,如:监听器使用缺省名称或在local_listener、remote_listener中配置,端口1521,TCP协议。另外,如想使用动态注册,请注意检查/etc/hosts中的机器名及IP是否正确。

如果你设置了DB_DOMAIN,需要注意以下几点:

[@more@]

1、静态注册时,GLOBAL_NAME应该是SERVICE_NAMES+DB_DOMAIN。如下

(SID_DESC =
(GLOBAL_NAME = oradb.com)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID_NAME = oradb)
)

这时,注册到监听器中的是这样的

Service "oradb" has 1 instance(s).
Instance "oradb", status UNKNOWN, has 1 handler(s) for this service...

客户端连接时,tnsnames.ora中的SERVICE_NAME应该等于SERVICE_NAMES,如下

(CONNECT_DATA =
(SERVICE_NAME = oradb)
)
2、动态注册时,注册到监听器中的是这样的

Service "oradb.com" has 1 instance(s).
Instance "oradb", status READY, has 1 handler(s) for this service...

客户端连接时,tnsnames.ora中的SERVICE_NAME应该等于SERVICE_NAMES+DB_DOMAIN,如下

(CONNECT_DATA =
(SERVICE_NAME = oradb.com)
)

3、即使你设置了静态注册,ORACLE启动后也会自动进行动态注册,所以刚启动监听器时,你只能看到静态注册的信息,过一段时间或执行alter system register;后,就会看到动态注册的信息,因此,动态注册完成后,tnsnames.ora中的SERVICE_NAME加不加DB_DOMAIN都可以连接。

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

请登录后发表评论 登录
全部评论
  • 博文量
    74
  • 访问量
    397488