Oracle 监听动态注册与静态注册
2013-09-08 18:11
501 查看
静态注册
静态注册是在启动listener时,listener会从listener.ora文件中获取服务名及相关信息。信息包括:实例名和服务名等。
--静态注册时,listener.ora中的内容如下:
--配置对应的tnsnames.ora 中的节点
--启动监听
--可以看到实例sun及实例+ASM都在被监听
从上面信息可以看到,静态注册时监听程序所获取的实例名或服务名均来自listener.ora文件
动态注册
动态注册是在instance启动的时候PMON进程根据init.ora中的instance_name,service_names两个参数将实例和服务动态注册到listener中。
instance_name默认是:db_name
service_names默认是:db_name.db_domain
在启动listener时,会从listener.ora读取监听配置,如果该文件不存在,则监听会在主机名对应的IP和1521端口上进行监听。但监听刚刚启动的时候,并没有注册的服务。
1.配置默认端口的动态服务注册
--关闭实例,关闭监听,备份listener.ora
--启动监听
可以看到:监听会在主机名对应的IP和1521端口上进行监听;监听刚刚启动的时候,并没有注册的服务
--启动实例后,查看监听 发现PMON进程会将服务注册进来
2.配置非默认端口的动态服务注册
服务器端的配置
a.配置非默认的listener.ora
b.在配置文件tnsnames.ora中加入
c.启动非默认的侦听器
d.设定local_listener参数
e.手动使动态注册立即生效(此操作可有可无)
静态注册是在启动listener时,listener会从listener.ora文件中获取服务名及相关信息。信息包括:实例名和服务名等。
--静态注册时,listener.ora中的内容如下:
#SID_LIST_LISTENER描述对外提供数据库服务的列表; #两个实例sun,+ASM分别对应服务名orcl01,orcl02 SID_LIST_LISTENER = ( SID_LIST = ( SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/oracle) (PROGRAM = extproc) ) ( SID_DESC = (SID_NAME = sun) --提供注册的实例名 (ORACLE_HOME = /u01/oracle) (GLOBAL_DBNAME =orcl01) --向外提供服务名 ) ( SID_DESC = (SID_NAME = +ASM) (ORACLE_HOME = /u01/oracle) (GLOBAL_DBNAME =orcl02) ) ) #LISTENER部分描述了主机地址、端口及协议 LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.128)(PORT = 1521)) )
--配置对应的tnsnames.ora 中的节点
-bash-3.00$ more tnsnames.ora # tnsnames.ora Network Configuration File: /u01/oracle/network/admin/tnsnames.ora # Generated by Oracle configuration tools. #通过实例名连接 SUN01 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = mysolaris)(PORT = 1521)) ) (CONNECT_DATA = (SID = sun) ) ) #通过服务名连接 SUN02 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = mysolaris)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl01) ) ) #通过实例名连接 ASM01 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = mysolaris)(PORT = 1521)) ) (CONNECT_DATA = (SID = +ASM) ) ) #通过服务名连接 ASM02 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = mysolaris)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl02) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
--启动监听
-bash-3.00$ lsnrctl start LSNRCTL for Solaris: Version 10.2.0.2.0 - Production on 10-AUG-2013 20:50:35 Copyright (c) 1991, 2005, Oracle. All rights reserved. Starting /u01/oracle/bin/tnslsnr: please wait... TNSLSNR for Solaris: Version 10.2.0.2.0 - Production System parameter file is /u01/oracle/network/admin/listener.ora Log messages written to /u01/oracle/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.100)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.100)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Solaris: Version 10.2.0.2.0 - Production Start Date 10-AUG-2013 20:50:35 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/oracle/network/admin/listener.ora Listener Log File /u01/oracle/network/log/listener.log Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.100)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0))) Services Summary... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... Service "orcl01" has 1 instance(s). Instance "sun", status UNKNOWN, has 1 handler(s) for this service... Service "orcl02" has 1 instance(s). Instance "+ASM", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
--可以看到实例sun及实例+ASM都在被监听
Service "orcl01" has 1 instance(s). Instance "sun", status UNKNOWN, has 1 handler(s) for this service... Service "orcl02" has 1 instance(s). Instance "+ASM", status UNKNOWN, has 1 handler(s) for this service...
从上面信息可以看到,静态注册时监听程序所获取的实例名或服务名均来自listener.ora文件
动态注册
动态注册是在instance启动的时候PMON进程根据init.ora中的instance_name,service_names两个参数将实例和服务动态注册到listener中。
instance_name默认是:db_name
service_names默认是:db_name.db_domain
在启动listener时,会从listener.ora读取监听配置,如果该文件不存在,则监听会在主机名对应的IP和1521端口上进行监听。但监听刚刚启动的时候,并没有注册的服务。
1.配置默认端口的动态服务注册
--关闭实例,关闭监听,备份listener.ora
-bash-3.00$ ls -l -rw-r--r-- 1 oracle oinstall 603 Aug 10 20:50 listener.ora.bak drwxr-x--- 2 oracle oinstall 512 Jan 21 2013 samples -rw-r----- 1 oracle oinstall 172 Dec 26 2003 shrept.lst -rw-r--r-- 1 oracle oinstall 1056 Aug 10 20:40 tnsnames.ora
--启动监听
-bash-3.00$ lsnrctl start ......... Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Solaris: Version 10.2.0.2.0 - Production Start Date 10-AUG-2013 22:20:20 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Log File /u01/oracle/network/log/listener.log Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mysolaris)(PORT=1521))) The listener supports no services The command completed successfully
可以看到:监听会在主机名对应的IP和1521端口上进行监听;监听刚刚启动的时候,并没有注册的服务
--启动实例后,查看监听 发现PMON进程会将服务注册进来
-bash-3.00$ lsnrctl status ........ Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mysolaris)(PORT=1521))) Services Summary... Service "+ASM" has 1 instance(s). Instance "+ASM", status BLOCKED, has 1 handler(s) for this service... Service "+ASM_XPT" has 1 instance(s). Instance "+ASM", status BLOCKED, has 1 handler(s) for this service... Service "sun" has 1 instance(s). Instance "sun", status READY, has 1 handler(s) for this service... Service "sun_XPT" has 1 instance(s). Instance "sun", status READY, has 1 handler(s) for this service... The command completed successfully
2.配置非默认端口的动态服务注册
服务器端的配置
a.配置非默认的listener.ora
-bash-3.00$ more listener.ora LISTENER02 = --这个名字最好不要用默认的LISTENER (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = mysolaris)(PORT = 1522)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) )
b.在配置文件tnsnames.ora中加入
-bash-3.00$ more tnsnames.ora # tnsnames.ora Network Configuration File: /u01/oracle/network/admin/tnsnames.ora # Generated by Oracle configuration tools. LISTENER02 = ( ADDRESS = (PROTOCOL = TCP) (HOST = mysolaris) (PORT = 1522) ) -bash-3.00$
c.启动非默认的侦听器
-bash-3.00$ lsnrctl start LISTENER02 STATUS of the LISTENER ------------------------ Alias LISTENER02 Version TNSLSNR for Solaris: Version 10.2.0.2.0 - Production Start Date 10-AUG-2013 23:22:01 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/oracle/network/admin/listener.ora Listener Log File /u01/oracle/network/log/listener.log Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.100)(PORT=1522))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0))) The listener supports no services The command completed successfully -bash-3.00$
d.设定local_listener参数
SQL> alter system set local_listener = 'LISTENER02'; --LISTENER2为tnsnames.ora中的监听名称
e.手动使动态注册立即生效(此操作可有可无)
SQL> alter system register;
相关文章推荐
- oracle监听动态注册与静态注册
- oracle监听动态注册与静态注册
- Oracle监听静态注册和动态注册
- Oracle监听配置(四)--如何实现静态、动态注册
- oracle监听 动态注册与静态注册
- oracle监听动态注册与静态注册
- ORACLE 监听动态注册与静态注
- 【Oracle】监听动态注册与静态注册
- oracle监听动态注册与静态注册
- oracle监听动态注册与静态注册
- Oracle 动态/静态监听注册
- oracle监听的静态注册,与动态注册理解
- Oracle监听的静态注册和动态注册
- Oracle DBA之监听的静态注册与动态注册
- oracle监听静态注册和动态注册相关知识整理
- Oracle监听的静态注册和动态注册
- Oracle DBA之监听的静态注册与动态注册
- Oracle DBA之监听的静态注册与动态注册
- Oracle的监听服务配置listener.ora的动态注册和静态注册
- oracle监听 动态注册与静态注册