欢迎投稿

今日深度:

动态注册监听

动态注册监听


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

对于默认的端口号为1521的监听,是很简单,设置好了service_names,PMON自动帮助我们注册,十分便捷。下面介绍的是注册不是默认的端口号:

在$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 ;
系统已更改。

设置service_names:
SQL> alter system set service_names='a,b,c,d,diy,os';
系统已更改。

确认监听进程已停:
[oracle@localhost ~]$ 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

监听进程已经停止

[oracle@localhost ~]$ 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把监听注册进来了:

[oracle@localhost ~]$ 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 个处理程序...
命令执行成功

www.htsjk.Com true http://www.htsjk.com/DB2/20419.html NewsArticle 动态注册监听 SQL select * from v$version where rownum=1;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - ProductionSQL !cat /etc/issueEnt...
评论暂时关闭