9.数据的启动和关闭05(动态监听)05

1.前言

  从Oracle 8i开始,Oracle引入了动态服务注册(Dynamic Service Registration)的功能,所谓动态注册是指当实例启动之后,由后台进程Pmon在监听器中注册数据库服务信息,在动态注册机制下,原来监听器中的SID_LIST部分将不再需要。

2.简化配置

  服务注册可以减化监听器的配置,SID_LIST_<listener_name>参数将不再需要

3.连接时Failover

  在动态注册时,有数据库主动向监听器注册实例,因此监听器总是可以知道实例的状态,在RAC环境下,当某个数据库出现故障时,动态服务注册功能可以快速地Failover客户端请求到其他实例;而如果在静态注册模式下,监听器将首先启动一个专用服务器进程接受客户端请求,然后向数据库服务器发起连接,随后才能发现实例已经停止,给出“Oracle not available”的错误提示,这个过程要缓慢低效的多。

4.运行时连接负载均衡

  服务注册使得监听能够向负载最轻的实例转发连接请求,从而实现运行时连接的负载均衡。

  动态注册在Oracle 9i里是自动启用的,监听器文件可以不再需要,或者可以配置一个经过极大简化的监听器文件。现在一个简单的监听器配置可能类似如下实例(缺省的监听PLSExtProc是为外部存储过程调用而配置的):

  

[oracle@node04 admin]$ cat listener.ora 
# listener.ora Network Configuration File: /data/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.40.2)(PORT = 1521))
    )
  )
SID_LIST_LISTENER = 
  (SID_LIST = 
    (SID_DESC =
      (SID_NAME = PLSExtProc) 
      (ORACLE_HOME = /data/oracle/product/11.2.0/db_1) 
      (PROGRAM = extproc)
    ) 
  )
ADR_BASE_LISTENER = /data/oracle
[oracle@node04 admin]$ cat tnsnames.ora 
# tnsnames.ora Network Configuration File: /data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.40.2)(PORT = 1521))
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.40.2)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

以上是专用服务器模式下的配置

5.RAC模式的监听

  后续再补。。。

posted on 2021-09-25 23:13  太白金星有点烦  阅读(71)  评论(0)    收藏  举报

导航