My dream

数据库连接

1. 静态连接

在listner.ora文件里定义监听的sid list. 此时运行lsnrctl status其sid对应的状态是unknow.

 

2 动态连接

oracle 的pmon进程会定期将instance_name, service_names的值注册到监听器里。注意一点:如果server端定义了db_domain参数,那么客户端在配置service_name (在tnsnames.ora)时,必须加上db_domain作后缀。另外一点:在参数文件里service_names有s, 但客户端tnsnames.ora的service_name 没有s.需注意之。

条件:在server端的listener文件里去掉sid列表。在spfile里指定instance_name, service_names.

使用:alter system register可手工触发PMON进程注册监听。

 

动态例子:

listern.ora:

image

运行lsnrctl status, 注意oracle自动加上了db_domain后缀。从这里看出,客户端既可以通过’DB10g21.robin.cn’(instance_name.db_domain)连数据库,也可以通过’RH2.robin.cn’ (service_names.db_domain)连数据库。

 

image

SQL> select name ,value from v$parameter where name in('db_domain','instance_nam e','service_names');
NAME                 VALUE
-------------------- --------------------
db_domain            robin.cn
instance_name        DB10g21
service_names        RH2

 

客户端的tnsnames.ora:

image

posted on 2010-10-11 23:23  robin hu  阅读(208)  评论(0)    收藏  举报