oracle设置多个LSNRCTL
来源:互联网 发布:新视野零售软件 编辑:程序博客网 时间:2024/05/23 12:29
Case: 1. 一台服务器主机, 有多个实例, 如: TSDB/ORCL; 又需要配置多个监听器: TSDB<--->LISTENER/ORCL<--->LISTENER_ORCL
2. 需要指定不同的LISTENER端口
Cause: pmon只会动态注册port等于1521的监听器, 其它端口则pmon不能动态注册listener, 要想让pmon动态注册listener, 需要设置local_listener参数
Solution: 设置local_listener参数
1. LSNRCTL HELP信息 C:\>lsnrctl
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-11月-2008 22:1
8:25 Copyright (c) 1991, 2005, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL> help
星号 (*) 表示修改符或扩展命令:
start stop status
services version reload
save_config trace change_password
quit exit set*
show* LSNRCTL> show current_listener
目 前的监听程序为 LISTENER
LSNRCTL> status
正 在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521)))
LISTENER 的 STATUS
别 名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日 期 20-11月-2008 19:32:04
正常运行时间 0 天 2 小时 51 分 20 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文 件 E:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监 听程序日志文件 E:\oracle\product\10.2.0\db_1\network\log\listener.log
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)))
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdb" 包含 2 个例程。
例程 "tsdb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdbXDB" 包含 1 个例程。
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdb_XPT" 包含 1 个例程。
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
LSNRCTL>
2. listener.ora文件内容 ============================================
# listener.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = tsdb)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = tsdb)
) LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
)
(DESCRIPTION =
(PROTOCOL_STACK =
(PRESENTATION = GIOP)
(SESSION = RAW)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 15210))
) SID_LIST_LISTENER_ORCL =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = orcl)
) LISTENER_ORCL =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1522))
)
) ==============================================
LSNRCTL> show current_listener;
NL-00853: 未定义的 show 命令 "current_listener;"。请尝试 "help show"
LSNRCTL> show current_listener
目前的监听程序为 LISTENER
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
32-bit Windows Error: 61: Unknown error
LSNRCTL> start
启 动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数 文件为E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入 E:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
监 听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=15210))(PROT
OCOL_STACK=(PRESENTATION=GIOP)(SESSION=RAW)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521)))
LISTENER 的 STATUS
别 名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日 期 20-11月-2008 22:47:03
正常运行时间 0 天 0 小时 0 分 1 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 E:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文 件 E:\oracle\product\10.2.0\db_1\network\log\listener.log
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=15210))(PROTOCOL
_STACK=(PRESENTATION=GIOP)(SESSION=RAW)))
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdb" 包含 2 个例程。
例程 "tsdb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdbXDB" 包含 1 个例程。
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdb_XPT" 包含 1 个例程。
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
LSNRCTL> set current_listener LISTENER_ORCL
目前的监听程序为 LISTENER_ORCL
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1520)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
32-bit Windows Error: 61: Unknown error
LSNRCTL> start
启 动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数 文件为E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入 E:\oracle\product\10.2.0\db_1\network\log\listener_orcl.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
监 听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1522)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1520)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
32-bit Windows Error: 61: Unknown error
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
别名 LISTENER_ORCL
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 20-11月-2008 22:49:08
正常运行时间 0 天 0 小时 25 分 33 秒
跟踪级 别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 E:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文 件 E:\oracle\product\10.2.0\db_1\network\log\listener_orc
l.log (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1522)))
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功 C:\>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1485 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1518 0.0.0.0:0 LISTENING
TCP 0.0.0.0:5900 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1025 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1806 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1814 0.0.0.0:0 LISTENING
TCP 192.168.1.100:139 0.0.0.0:0 LISTENING
TCP 192.168.1.100:1496 219.133.60.243:8000 CLOSE_WAIT
TCP 192.168.1.100:1505 192.168.1.100:1521 ESTABLISHED
TCP 192.168.1.100:1521 0.0.0.0:0 LISTENING
TCP 192.168.1.100:1521 192.168.1.100:1505 ESTABLISHED
TCP 192.168.1.100:1521 192.168.1.100:1808 ESTABLISHED
TCP 192.168.1.100:1521 192.168.1.100:1809 ESTABLISHED
TCP 192.168.1.100:1522 0.0.0.0:0 LISTENING
TCP 192.168.1.100:1808 192.168.1.100:1521 ESTABLISHED
TCP 192.168.1.100:1809 192.168.1.100:1521 ESTABLISHED
TCP 192.168.1.100:1882 219.232.239.182:80 ESTABLISHED
TCP 192.168.1.100:15210 0.0.0.0:0 LISTENING
TCP 192.168.40.1:139 0.0.0.0:0 LISTENING
TCP 192.168.242.1:139 0.0.0.0:0 LISTENING
UDP 0.0.0.0:445 *:*
................
下面是大致测试过程。
1.
listener.ora内容如下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = E:oracleproduct10.2.0db_1)
(SID_NAME = orcl)
(SID_DESC =
(GLOBAL_DBNAME = test)
(ORACLE_HOME = E:oracleproduct10.2.0db_1)
(SID_NAME = test)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xys)(PORT = 1522))
--=======================================
因 为listener.ora中port是1522而非默认的1521,因此此时pmon不会动态注册监听:
LSNRCTL> status
正 在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:22:50
正常运行时间 0 天 0 小时 0 分 7 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服 务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
--=============================================
SQL> alter system register;
上述命令执行之后再次查看pmon 是否动态注册了listener,下面结果显示还是没有动态注册:
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:22:50
正常运行时间 0 天 0 小时 0 分 12 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服 务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
--============================================
没 有注册的原因是pmon default只会注册port=1521的listener。如果想让pmon动态注册prot以外的监听,此时需要设置参数
local_listener=listener:
下 面设置参数local_listener:
SQL> alter system set local_listener=listener;
alter system set local_listener=listener
第 1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-00119: 系统参数 LOCAL_LISTENER 的说明无效
ORA-00132: 语法错误或无法解析的网络名称 'LISTENER'
--提示错误,错 误的原因是设置参数local_listener时需要把下面内容增加到服务器端的tnsnames.ora中,因为pmon在动态注册监听时要从 tnsnames.ora中读取相关信息:
接下来把下面内容增加到服务器端的tnsnames.ora中
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xys)(PORT = 1522))
--=====================================
再次尝试修改 local_listener参数,修改成功:
SQL> alter system set local_listener=listener;
SQL> 修 改之后过一会查看是否动态注册了监听,发现已经注册了:
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:22:50
正常运行时间 0 天 0 小时 1 分 50 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 2 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例 程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
LSNRCTL>
2.也可以把 local_listener设置为address or address list:
SQL> alter system set local_listener='(DESCRIPTION =
2 (ADDRESS = (PROTOCOL = TCP)(HOST = xys)(PORT = 1522))
3 )'; LSNRCTL> stop
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LSNRCTL> start
启动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为 e:oracleproduct10.2.0db_1networkadminlistener.ora
写入 e:oracleproduct10.2.0db_1networkloglistener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:39:07
正常运行时间 0 天 0 小时 0 分 3 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服 务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:39:07
正常运行时间 0 天 0 小时 0 分 6 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服 务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
SQL> alter system register;
SQL>
LSNRCTL> status
正在 连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:39:07
正常运行时间 0 天 0 小时 0 分 21 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 2 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例 程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
LSNRCTL>
部分摘自: http://warehouse.itpub.net/post/777/472788
2. 需要指定不同的LISTENER端口
Cause: pmon只会动态注册port等于1521的监听器, 其它端口则pmon不能动态注册listener, 要想让pmon动态注册listener, 需要设置local_listener参数
Solution: 设置local_listener参数
1. LSNRCTL HELP信息 C:\>lsnrctl
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-11月-2008 22:1
8:25 Copyright (c) 1991, 2005, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL> help
星号 (*) 表示修改符或扩展命令:
start stop status
services version reload
save_config trace change_password
quit exit set*
show* LSNRCTL> show current_listener
目 前的监听程序为 LISTENER
LSNRCTL> status
正 在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521)))
LISTENER 的 STATUS
别 名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日 期 20-11月-2008 19:32:04
正常运行时间 0 天 2 小时 51 分 20 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文 件 E:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监 听程序日志文件 E:\oracle\product\10.2.0\db_1\network\log\listener.log
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)))
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdb" 包含 2 个例程。
例程 "tsdb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdbXDB" 包含 1 个例程。
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdb_XPT" 包含 1 个例程。
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
LSNRCTL>
2. listener.ora文件内容 ============================================
# listener.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = tsdb)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = tsdb)
) LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
)
(DESCRIPTION =
(PROTOCOL_STACK =
(PRESENTATION = GIOP)
(SESSION = RAW)
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 15210))
) SID_LIST_LISTENER_ORCL =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
(SID_NAME = orcl)
) LISTENER_ORCL =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1522))
)
) ==============================================
LSNRCTL> show current_listener;
NL-00853: 未定义的 show 命令 "current_listener;"。请尝试 "help show"
LSNRCTL> show current_listener
目前的监听程序为 LISTENER
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
32-bit Windows Error: 61: Unknown error
LSNRCTL> start
启 动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数 文件为E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入 E:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
监 听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=15210))(PROT
OCOL_STACK=(PRESENTATION=GIOP)(SESSION=RAW)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521)))
LISTENER 的 STATUS
别 名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日 期 20-11月-2008 22:47:03
正常运行时间 0 天 0 小时 0 分 1 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 E:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文 件 E:\oracle\product\10.2.0\db_1\network\log\listener.log
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=15210))(PROTOCOL
_STACK=(PRESENTATION=GIOP)(SESSION=RAW)))
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdb" 包含 2 个例程。
例程 "tsdb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdbXDB" 包含 1 个例程。
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
服务 "tsdb_XPT" 包含 1 个例程。
例程 "tsdb", 状态 READY, 包含此服务的 1 个处理程序...
LSNRCTL> set current_listener LISTENER_ORCL
目前的监听程序为 LISTENER_ORCL
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1520)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
32-bit Windows Error: 61: Unknown error
LSNRCTL> start
启 动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数 文件为E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入 E:\oracle\product\10.2.0\db_1\network\log\listener_orcl.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
监 听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1522)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1520)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
32-bit Windows Error: 61: Unknown error
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
别名 LISTENER_ORCL
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 20-11月-2008 22:49:08
正常运行时间 0 天 0 小时 25 分 33 秒
跟踪级 别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 E:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文 件 E:\oracle\product\10.2.0\db_1\network\log\listener_orc
l.log (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1522)))
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功 C:\>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1485 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1518 0.0.0.0:0 LISTENING
TCP 0.0.0.0:5900 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1025 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1806 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1814 0.0.0.0:0 LISTENING
TCP 192.168.1.100:139 0.0.0.0:0 LISTENING
TCP 192.168.1.100:1496 219.133.60.243:8000 CLOSE_WAIT
TCP 192.168.1.100:1505 192.168.1.100:1521 ESTABLISHED
TCP 192.168.1.100:1521 0.0.0.0:0 LISTENING
TCP 192.168.1.100:1521 192.168.1.100:1505 ESTABLISHED
TCP 192.168.1.100:1521 192.168.1.100:1808 ESTABLISHED
TCP 192.168.1.100:1521 192.168.1.100:1809 ESTABLISHED
TCP 192.168.1.100:1522 0.0.0.0:0 LISTENING
TCP 192.168.1.100:1808 192.168.1.100:1521 ESTABLISHED
TCP 192.168.1.100:1809 192.168.1.100:1521 ESTABLISHED
TCP 192.168.1.100:1882 219.232.239.182:80 ESTABLISHED
TCP 192.168.1.100:15210 0.0.0.0:0 LISTENING
TCP 192.168.40.1:139 0.0.0.0:0 LISTENING
TCP 192.168.242.1:139 0.0.0.0:0 LISTENING
UDP 0.0.0.0:445 *:*
................
下面是大致测试过程。
1.
listener.ora内容如下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = E:oracleproduct10.2.0db_1)
(SID_NAME = orcl)
(SID_DESC =
(GLOBAL_DBNAME = test)
(ORACLE_HOME = E:oracleproduct10.2.0db_1)
(SID_NAME = test)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xys)(PORT = 1522))
--=======================================
因 为listener.ora中port是1522而非默认的1521,因此此时pmon不会动态注册监听:
LSNRCTL> status
正 在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:22:50
正常运行时间 0 天 0 小时 0 分 7 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服 务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
--=============================================
SQL> alter system register;
上述命令执行之后再次查看pmon 是否动态注册了listener,下面结果显示还是没有动态注册:
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:22:50
正常运行时间 0 天 0 小时 0 分 12 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服 务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
--============================================
没 有注册的原因是pmon default只会注册port=1521的listener。如果想让pmon动态注册prot以外的监听,此时需要设置参数
local_listener=listener:
下 面设置参数local_listener:
SQL> alter system set local_listener=listener;
alter system set local_listener=listener
第 1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-00119: 系统参数 LOCAL_LISTENER 的说明无效
ORA-00132: 语法错误或无法解析的网络名称 'LISTENER'
--提示错误,错 误的原因是设置参数local_listener时需要把下面内容增加到服务器端的tnsnames.ora中,因为pmon在动态注册监听时要从 tnsnames.ora中读取相关信息:
接下来把下面内容增加到服务器端的tnsnames.ora中
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xys)(PORT = 1522))
--=====================================
再次尝试修改 local_listener参数,修改成功:
SQL> alter system set local_listener=listener;
SQL> 修 改之后过一会查看是否动态注册了监听,发现已经注册了:
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:22:50
正常运行时间 0 天 0 小时 1 分 50 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 2 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例 程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
LSNRCTL>
2.也可以把 local_listener设置为address or address list:
SQL> alter system set local_listener='(DESCRIPTION =
2 (ADDRESS = (PROTOCOL = TCP)(HOST = xys)(PORT = 1522))
3 )'; LSNRCTL> stop
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LSNRCTL> start
启动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为 e:oracleproduct10.2.0db_1networkadminlistener.ora
写入 e:oracleproduct10.2.0db_1networkloglistener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:39:07
正常运行时间 0 天 0 小时 0 分 3 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服 务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:39:07
正常运行时间 0 天 0 小时 0 分 6 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服 务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
SQL> alter system register;
SQL>
LSNRCTL> status
正在 连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xys)(PORT=1522)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 25-10月-2008 20:39:07
正常运行时间 0 天 0 小时 0 分 21 秒
跟踪级别 off
安全性 ON: Password or Local OS Authentication
SNMP OFF
监听程序参数文件 e:oracleproduct10.2.0db_1networkadminlistener.o
ra
监听程序日志文件 e:oracleproduct10.2.0db_1networkloglistener.log
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xys)(PORT=1522)))
服务 "orcl" 包含 2 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例 程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl_XPT" 包含 1 个例程。
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
LSNRCTL>
部分摘自: http://warehouse.itpub.net/post/777/472788
0 0
- oracle设置多个LSNRCTL
- Oracle listener lsnrctl
- oracle 监听 lsnrctl 命令
- 理解 oracle 的 "lsnrctl status"
- Oracle lsnrctl Tracing Listener Connections
- ORACLE服务器监听程序LSNRCTL
- 理解 oracle 的 “lsnrctl status”
- Oracle lsnrctl命令使用总结
- LSNRCTL
- lsnrctl oracle 监听器 命令行 操作命令 lsnrctl services
- Oracle LSNRCTL------监听器的启动和关闭
- LSNRCTL-命令行控制oracle的监听器
- Oracle监听lsnrctl查询状态详解
- Oracle学习笔记(20140419)(lsnrctl関連)
- oracle数据库使用不了命令行 sqlplus lsnrctl
- Oracle lsnrctl--监听器的启动和关闭
- Oracle监听lsnrctl查询状态详解
- oracle常用命令-sqlplus、lsnrctl 、exp、imp
- MFC MDI和SDI非客户区框架界面美化之----界面全面美化
- flex builder3 编译 flash项目
- 3、套索工具、多边形套索工具、磁性套索工具
- NYOJ 84 阶乘的0
- R语言编程入门--replicate()函数比较有意思!
- oracle设置多个LSNRCTL
- 接口
- 图谱导航Graphviz文件生成,转dot类
- 主流浏览器的一些CSS hack
- 解析Json需要设置Mime
- 查看当前session的SQL
- R入门
- SQL2428N 归档日志缺失导致在线备份失败
- warden_client