listener.ora文件里面配置的内容主要是静态监听,需要listener.ora文件主要为了添加静态监听global_dbname\sid_name(SID_LIST_LISTENER)和添加额外的监听器名称
默认的监听器host是hostname不是ip、端口是1521、协议是TCP,无listener.ora文件情况下默认监听器继续存在(监听器名称默认LISTENER,host是hostname不是ip、端口是1521、协议是TCP),如果需要向非默认监听注册,则需要配置local_listener参数
注册是把数据库信息作为一个服务注册(注册内容是servcice_name和instance_name)到监听中的host和port中,listener.ora中如果host配置的信息为ip,但是实际服务器上不存在这个ip则无法注册,如果host中配置的是服务器名称,而服务器名称不存在或服务器名在/etc/hosts中对应的ip不存在或与实际IP不一致则无法注册,DB默认监听器的host是hostname
listener.ora中静态监听的SID_NAME的值一定要区分大小写
listener.ora文件中不会出现service_name或service_names,只有GLOBAL_DBNAME和SID_NAME,出现service_name或service_names后lsnrctl start listenername会报错
静态监听如果有非默认监听器listener以外的其他名称的监听器,则操作方式如下,前提是两个监听中的port和key不能一样,否则也只能启动一个。
lsnrctl start listenername
lsnrctl status listenername
lsnrctl stop listenername
安装完数据库软件时默认的listener.ora如下,只有默认监听的信息
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = M0776)(PORT = 1521))
)
)
添加一个静态监听listener2后如下
LISTENER2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.98.0.31)(PORT = 1522))
)
SID_LIST_LISTENER2 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = luxus)
(ORACLE_HOME = E:\app\luxus.liao\product\11.1.0\db_1)
(SID_NAME = luxus)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = M0776)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
listener.ora想对监听名为listener的监听添加一个静态注册,只有如下内容时,是没有静态注册的
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.98.0.122)(PORT = 1521))
)
)
[oracle@DEMOSFCS admin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 14-MAY-2015 20:08:31
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.98.0.122)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 14-MAY-2015 20:03:59
Uptime 0 days 0 hr. 4 min. 32 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/DEMOSFCS/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.98.0.122)(PORT=1521)))
Services Summary...
Service "DEMOSFCS" has 1 instance(s).
Instance "DEMOSFCS", status READY, has 1 handler(s) for this service...
Service "DEMOSFCSXDB" has 1 instance(s).
Instance "DEMOSFCS", status READY, has 1 handler(s) for this service...
The command completed successfully
内容是如下时(添加了SID_LIST_LISTENER信息),才有静态注册
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.98.0.122)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = DEMOSFCS)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = DEMOSFCS)
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(PROGRAM = extproc)
)
)
[oracle@DEMOSFCS admin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 14-MAY-2015 20:08:41
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.98.0.122)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 14-MAY-2015 20:03:59
Uptime 0 days 0 hr. 4 min. 42 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/DEMOSFCS/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.98.0.122)(PORT=1521)))
Services Summary...
Service "DEMOSFCS" has 2 instance(s).
Instance "DEMOSFCS", status UNKNOWN, has 1 handler(s) for this service...
Instance "DEMOSFCS", status READY, has 1 handler(s) for this service...
Service "DEMOSFCSXDB" has 1 instance(s).
Instance "DEMOSFCS", status READY, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30126024/viewspace-1846958/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30126024/viewspace-1846958/