动态注冊监听
Posted wzzkaifa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态注冊监听相关的知识,希望对你有一定的参考价值。
SQL> select * from v$version where rownum=1;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
SQL> !cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel \r on an \m
对于默认的port号为1521的监听,是非常easy,设置好了service_names,PMON自己主动帮助我们注冊,十分便捷。以下介绍的是注冊不是默认的port号:
在$ORACLE_HOME/network/admin/listener.ora加入:
LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.115.78)(PORT = 1590))
)
)
(注意这里最好用IP)
设置local_listener:
SQL> alter system set local_listener = ‘(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.115.78)(PORT = 1590))‘ scope=both
2 ;
系统已更改。
SQL> alter system set service_names=‘a,b,c,d,diy,os‘;
系统已更改。
确认监听进程已停:
[[email protected] ~]$ ps -ef|grep tnslsnr|grep -v grep
oracle 7312 1 0 11:20 ? 00:00:00 /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -inherit
oracle 7465 1 0 11:25 ? 00:00:00 /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr listener1 -inherit
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
SQL> !cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel \r on an \m
对于默认的port号为1521的监听,是非常easy,设置好了service_names,PMON自己主动帮助我们注冊,十分便捷。以下介绍的是注冊不是默认的port号:
在$ORACLE_HOME/network/admin/listener.ora加入:
LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.115.78)(PORT = 1590))
)
)
(注意这里最好用IP)
设置local_listener:
SQL> alter system set local_listener = ‘(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.115.78)(PORT = 1590))‘ scope=both
2 ;
系统已更改。
或者设置local_listener=diy,则须要在?/rdbms/network/admin/tnsnames.ora里加入:
diy=(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.115.78)(PORT = 1590))
设置service_names:diy=(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.115.78)(PORT = 1590))
SQL> alter system set service_names=‘a,b,c,d,diy,os‘;
系统已更改。
[[email protected] ~]$ ps -ef|grep tnslsnr|grep -v grep
oracle 7312 1 0 11:20 ? 00:00:00 /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -inherit
oracle 7465 1 0 11:25 ? 00:00:00 /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr listener1 -inherit
直接停止监听,或者用os命令停止
这里我们直接kill process:
SQL> !kill -9 7312
SQL> !kill -9 7465
SQL> !ps -ef|grep tnslsnr|grep -v grep
监听进程已经停止
[[email protected] ~]$ lsnrctl start listener1
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 08-6月 -2015 11:42:08
Copyright (c) 1991, 2009, Oracle. All rights reserved.
启动/u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: 请稍候...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
系统參数文件为/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
写入/u01/app/oracle/diag/tnslsnr/localhost/listener1/alert/log.xml的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.18.115.78)(PORT=1590)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.18.115.78)(PORT=1590)))
LISTENER 的 STATUS
------------------------
别名 listener1
版本号 TNSLSNR for Linux: Version 11.2.0.1.0 - Production
启动日期 08-6月 -2015 11:42:08
正常执行时间 0 天 0 小时 0 分 0 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序參数文件 /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
监听程序日志文件 /u01/app/oracle/diag/tnslsnr/localhost/listener1/alert/log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.18.115.78)(PORT=1590)))
监听程序不支持服务
命令运行成功
过一会PMON把监听注冊进来了:
[[email protected] ~]$ lsnrctl status listener1
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 08-6月 -2015 11:43:06
Copyright (c) 1991, 2009, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.18.115.78)(PORT=1590)))
LISTENER 的 STATUS
------------------------
别名 listener1
版本号 TNSLSNR for Linux: Version 11.2.0.1.0 - Production
启动日期 08-6月 -2015 11:42:08
正常执行时间 0 天 0 小时 0 分 57 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序參数文件 /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
监听程序日志文件 /u01/app/oracle/diag/tnslsnr/localhost/listener1/alert/log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.18.115.78)(PORT=1590)))
服务摘要..
服务 "a.localdomain" 包括 1 个实例。
这里我们直接kill process:
SQL> !kill -9 7312
SQL> !kill -9 7465
SQL> !ps -ef|grep tnslsnr|grep -v grep
监听进程已经停止
[[email protected] ~]$ lsnrctl start listener1
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 08-6月 -2015 11:42:08
Copyright (c) 1991, 2009, Oracle. All rights reserved.
启动/u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: 请稍候...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
系统參数文件为/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
写入/u01/app/oracle/diag/tnslsnr/localhost/listener1/alert/log.xml的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.18.115.78)(PORT=1590)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.18.115.78)(PORT=1590)))
LISTENER 的 STATUS
------------------------
别名 listener1
版本号 TNSLSNR for Linux: Version 11.2.0.1.0 - Production
启动日期 08-6月 -2015 11:42:08
正常执行时间 0 天 0 小时 0 分 0 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序參数文件 /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
监听程序日志文件 /u01/app/oracle/diag/tnslsnr/localhost/listener1/alert/log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.18.115.78)(PORT=1590)))
监听程序不支持服务
命令运行成功
过一会PMON把监听注冊进来了:
[[email protected] ~]$ lsnrctl status listener1
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 08-6月 -2015 11:43:06
Copyright (c) 1991, 2009, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.18.115.78)(PORT=1590)))
LISTENER 的 STATUS
------------------------
别名 listener1
版本号 TNSLSNR for Linux: Version 11.2.0.1.0 - Production
启动日期 08-6月 -2015 11:42:08
正常执行时间 0 天 0 小时 0 分 57 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序參数文件 /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
监听程序日志文件 /u01/app/oracle/diag/tnslsnr/localhost/listener1/alert/log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.18.115.78)(PORT=1590)))
服务摘要..
服务 "a.localdomain" 包括 1 个实例。
实例 "ORCL3939", 状态 READY, 包括此服务的 1 个处理程序...
服务 "b.localdomain" 包括 1 个实例。
实例 "ORCL3939", 状态 READY, 包括此服务的 1 个处理程序...
服务 "c.localdomain" 包括 1 个实例。
实例 "ORCL3939", 状态 READY, 包括此服务的 1 个处理程序...
服务 "d.localdomain" 包括 1 个实例。
实例 "ORCL3939", 状态 READY, 包括此服务的 1 个处理程序...
服务 "diy.localdomain" 包括 1 个实例。
实例 "ORCL3939", 状态 READY, 包括此服务的 1 个处理程序...
服务 "orcl3939.localdomain" 包括 1 个实例。
实例 "ORCL3939", 状态 READY, 包括此服务的 1 个处理程序...
服务 "orcl3939XDB.localdomain" 包括 1 个实例。
实例 "ORCL3939", 状态 READY, 包括此服务的 1 个处理程序...
服务 "os.localdomain" 包括 1 个实例。
实例 "ORCL3939", 状态 READY, 包括此服务的 1 个处理程序...
命令运行成功
以上是关于动态注冊监听的主要内容,如果未能解决你的问题,请参考以下文章