ITPub博客

首页 > 数据库 > Oracle > Oracle静态监听和动态监听

Oracle静态监听和动态监听

原创 Oracle 作者:巡完南山巡南山 时间:2019-01-22 15:45:44 0 删除 编辑

一、静态注册
静态注册指实例启动时读取 listener.ora 配置文件,将实例和服务注册到监听程序。无论何时启动一个数据库,默认都有两条信息注册到监听器中:实例和服务。

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC = 

     (GLOBAL_DBNAME = rman)

     (ORACLE_HOME = /u01/oracle)

     (SID_NAME = rman)

    )

   (SID_DESC =

     (GLOBAL_DBNAME = gel)

     (ORACLE_HOME = /u01/oracle)

     (SID_NAME = gl)

     )

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))

    )

  )

说明:
1
) (ORACLE_HOME = /u01/oracle) oracle_home 目录,测试不加也行
2
)本静态监听两个数据库实例,每个实例的静态监听写到 SID_DESC 中
3
)在数据库未 open 状态中,就可以远程连接到数据库,对数据库进行操作
4
)使用静态监听时,客户端的 tns 最好配置为 SERVICE_NAME ,当然也可以同时配置 SID 和 SERVICE_NAME ,等数据库启动后, tns 中无论是 sid 还是 SERVICE_NAME 均能访问数据库

 

二、动态注册
动态注册不需要显示的配置 listener.ora 文件,实例启动的时候, PMON 进程根据 instance_name,service_name 参数将实例和服务动态注册到 listerer 中。如果没有设定 instance_name ,将使用 db_name 初始化参数值。如果没有设定 service_names ,将拼接 db_name 和 db_domain 参数值来注册监听。

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC = 

     (GLOBAL_DBNAME = rman)

     (ORACLE_HOME = /u01/oracle)

     (SID_NAME = rman)

    )

   (SID_DESC =

     (GLOBAL_DBNAME = gel)

     (ORACLE_HOME = /u01/oracle)

     (SID_NAME = gl)

     )

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))

    )

  )

说明:
1
)不需要人工干预在 lsnrctl start 后,会自动注册数据库的 instance_name,service_name ,然后 tns 不论使用 SID 和 SERVICE_NAME 均可以连接上来
2
)修改了 SERVICE_NAME 或者 SID 不用修改 listener.ora 文件


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

请登录后发表评论 登录
全部评论

注册时间:2016-04-11

  • 博文量
    45
  • 访问量
    101770