数据库连接
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:
| |
运行lsnrctl status, 注意oracle自动加上了db_domain后缀。从这里看出,客户端既可以通过’DB10g21.robin.cn’(instance_name.db_domain)连数据库,也可以通过’RH2.robin.cn’ (service_names.db_domain)连数据库。
| 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:
浙公网安备 33010602011771号