Oracle srvctl的小bug
上一篇 / 下一篇 2007-03-29 00:00:00 / 个人分类:Bug
今天发现一个SRVCTL命令的小bug。
ITPUB个人空间v^(P O}SRVCTL工具可以用来管理RAC环境,用来启动、关闭数据库、监听和其他服务。
今天在使用srvctl关闭监听的时候,发现一个小问题:
$ lsnrctl status
LSNRCTL for Solaris: Version 10.2.0.2.0 - Production on 29-3月 -2007 10:31:11
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))ITPUB个人空间pjh@,M;r4O7_2p
LISTENER 的 STATUS
8d!c&_@"c.~0------------------------别名 LISTENER_RACNODE2版本 TNSLSNR for Solaris: Version 10.2.0.2.0 - Production启动日期 28-3月 -2007 10:27:02正常运行时间 1 天 0 小时 4 分 9 秒跟踪级别 off安全性 ON: Local OS AuthenticationITPUB个人空间-y8QgEz
SNMP OFF监听程序参数文件 /data/oracle/product/10.2/database/network/admin/listener.ora监听程序日志文件 /data/oracle/product/10.2/database/network/log/listener_racnode2.log监听端点概要...ITPUB个人空间4YXxfea%?;i)V7B
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
sZ
M1_*Q8iy0 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.225)(PORT=1521)))
,[Iqt X4h]0 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.223)(PORT=1521)))服务摘要..服务 "+ASM" 包含 1 个例程。
z1DO(ft:J9_@.i0 例程 "+ASM2", 状态 BLOCKED, 包含此服务的 1 个处理程序...服务 "+ASM_XPT" 包含 1 个例程。ITPUB个人空间'kFE
g2p0U
例程 "+ASM2", 状态 BLOCKED, 包含此服务的 1 个处理程序...服务 "PLSExtProc" 包含 1 个例程。
0fTfhr;P6U0 例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...服务 "testrac" 包含 2 个例程。
!|4`&R
X:j[0 例程 "testrac1", 状态 READY, 包含此服务的 1 个处理程序...ITPUB个人空间4D Ol&mtL HB
例程 "testrac2", 状态 READY, 包含此服务的 2 个处理程序...服务 "testracXDB" 包含 2 个例程。ITPUB个人空间%N-c!Ih `[-j*}
例程 "testrac1", 状态 READY, 包含此服务的 1 个处理程序...
(v6]
@/S;pSn"w0 例程 "testrac2", 状态 READY, 包含此服务的 1 个处理程序...服务 "testrac_XPT" 包含 2 个例程。
'O7g6Jk}8M\KjC0 例程 "testrac1", 状态 READY, 包含此服务的 1 个处理程序...
v&gp7~:cf!s`}0 例程 "testrac2", 状态 READY, 包含此服务的 2 个处理程序...命令执行成功ITPUB个人空间 ~0V2Y2F']2Z&Z&h
$ srvctl stop listener -n racnode2ITPUB个人空间/PG?A0B
N;jp
$ lsnrctl status
LSNRCTL for Solaris: Version 10.2.0.2.0 - Production on 29-3月 -2007 10:32:44
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))ITPUB个人空间~"?H1m-O8V
TNS-12541: TNS: 无监听程序
gi
vQ%C/^md'f0 TNS-12560: TNS: 协议适配器错误ITPUB个人空间8^UPp:a8`"w.kJ
TNS-00511: 无监听程序
o%hb6D(y~5r0 Solaris Error: 146: Connection refusedITPUB个人空间2B)I _B){7i3Q/Q
$ lsnrctl start
LSNRCTL for Solaris: Version 10.2.0.2.0 - Production on 29-3月 -2007 10:32:47
Copyright (c) 1991, 2005, Oracle. All rights reserved.
启动/data/oracle/product/10.2/database/bin/tnslsnr: 请稍候...
TNSLSNR for Solaris: Version 10.2.0.2.0 - Production系统参数文件为/data/oracle/product/10.2/database/network/admin/listener.ora写入/data/oracle/product/10.2/database/network/log/listener.log的日志信息监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=racnode2)(PORT=1521)))
正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))ITPUB个人空间,b"{j~H*t,v
LISTENER 的 STATUS
$`U^F?!g}5^G1[AK0------------------------别名 LISTENER版本 TNSLSNR for Solaris: Version 10.2.0.2.0 - Production启动日期 29-3月 -2007 10:32:47正常运行时间 0 天 0 小时 0 分 0 秒跟踪级别 off安全性 ON: Local OS AuthenticationITPUB个人空间0wJJ^R3^l\"E
SNMP OFF监听程序参数文件 /data/oracle/product/10.2/database/network/admin/listener.ora监听程序日志文件 /data/oracle/product/10.2/database/network/log/listener.log监听端点概要...
7V
\ uI8q6\%BSF,N;O0 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=racnode2)(PORT=1521)))监听程序不支持服务命令执行成功
v|&B"U%c R1C#o0$ srvctl stop listener -n racnode2ITPUB个人空间6B
U)NA)UZ+S
$ lsnrctl status
LSNRCTL for Solaris: Version 10.2.0.2.0 - Production on 29-3月 -2007 10:33:00
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
+b(@+h
pX${&h`U0J_0LISTENER 的 STATUS
X7b0om$~i s8k3E|0------------------------别名 LISTENER版本 TNSLSNR for Solaris: Version 10.2.0.2.0 - Production启动日期 29-3月 -2007 10:32:47正常运行时间 0 天 0 小时 0 分 12 秒跟踪级别 off安全性 ON: Local OS Authentication
C)a D)zK2DB0SNMP OFF监听程序参数文件 /data/oracle/product/10.2/database/network/admin/listener.ora监听程序日志文件 /data/oracle/product/10.2/database/network/log/listener.log监听端点概要...
$y,q
^4^4T0T0 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=racnode2)(PORT=1521)))监听程序不支持服务命令执行成功
如果用srvctl关闭监听后,再用lsnrctl start打开监听。这时srvctl仍然认为监听已经关闭。因此,再次使用srvctl关闭监听,似乎srvctl根本没有去执行。
如果希望srvctl可以关闭监听,那么需要先用srvctl启动监听,然后再关闭。
$ lsnrctl status
LSNRCTL for Solaris: Version 10.2.0.2.0 - Production on 29-3月 -2007 10:50:47
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
c(s5x-~u0LISTENER 的 STATUSITPUB个人空间2ZB+P[Rn"GCre
------------------------别名 LISTENER版本 TNSLSNR for Solaris: Version 10.2.0.2.0 - Production启动日期 29-3月 -2007 10:32:47正常运行时间 0 天 0 小时 18 分 0 秒跟踪级别 off安全性 ON: Local OS Authentication
bn7m*uJ*|8}1P%JH*ph*h0SNMP OFF监听程序参数文件 /data/oracle/product/10.2/database/network/admin/listener.ora监听程序日志文件 /data/oracle/product/10.2/database/network/log/listener.log监听端点概要...ITPUB个人空间W+Zs,RfCQ
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=racnode2)(PORT=1521)))服务摘要..服务 "+ASM" 包含 1 个例程。
`ryE8EY0 例程 "+ASM2", 状态 BLOCKED, 包含此服务的 1 个处理程序...服务 "+ASM_XPT" 包含 1 个例程。ITPUB个人空间w(??~+e"`g
例程 "+ASM2", 状态 BLOCKED, 包含此服务的 1 个处理程序...服务 "testrac" 包含 2 个例程。
-n` m6ID5z0 例程 "testrac1", 状态 READY, 包含此服务的 1 个处理程序...
gc6ZEDP0 例程 "testrac2", 状态 READY, 包含此服务的 2 个处理程序...服务 "testracXDB" 包含 2 个例程。ITPUB个人空间5ga@{4n!x
例程 "testrac1", 状态 READY, 包含此服务的 1 个处理程序...
^)e3]NT0 例程 "testrac2", 状态 READY, 包含此服务的 1 个处理程序...服务 "testrac_XPT" 包含 2 个例程。ITPUB个人空间1d~8Z m yKQ6v
例程 "testrac1", 状态 READY, 包含此服务的 1 个处理程序...
B\5g)Q/@$N:~T0 例程 "testrac2", 状态 READY, 包含此服务的 2 个处理程序...命令执行成功ITPUB个人空间#f{U5Nz:[U
$ srvctl start listener -n racnode2
?A2U{MjZ0$ srvctl stop listener -n racnode2ITPUB个人空间'D@oW6\'p]D
$ lsnrctl status
LSNRCTL for Solaris: Version 10.2.0.2.0 - Production on 29-3月 -2007 10:51:28
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
/vql{.}&q0TNS-12541: TNS: 无监听程序ITPUB个人空间sl'Y$w0a3k^'Oa*L
TNS-12560: TNS: 协议适配器错误
"F1AzG,r E*Zr9o0 TNS-00511: 无监听程序
4REU/d{'R*cW$B go0 Solaris Error: 146: Connection refused
搜索了一下metalink,没有发现关于这个问题的说明。
而且,这个问题只在关闭监听时出现,启动监听则没有问题:
$ srvctl start listener -n racnode2
z&ly,W,vSW0$ lsnrctl status
LSNRCTL for Solaris: Version 10.2.0.2.0 - Production on 29-3月 -2007 11:14:25
Copyright (c) 1991, 2005, Oracle. All rights reserved.
正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
ebD.scH8^0LISTENER 的 STATUS
S5uaxu^0------------------------别名 LISTENER_RACNODE2版本 TNSLSNR for Solaris: Version 10.2.0.2.0 - Production启动日期 29-3月 -2007 11:14:20正常运行时间 0 天 0 小时 0 分 4 秒跟踪级别 off安全性 ON: Local OS Authentication
Z3{*M%ceZ~
OL0SNMP OFF监听程序参数文件 /data/oracle/product/10.2/database/network/admin/listener.ora监听程序日志文件 /data/oracle/product/10.2/database/network/log/listener_racnode2.log监听端点概要...ITPUB个人空间1Y
O2{&zml*^&pQ
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
8wj&G#{/U$Z!B?:{0 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.225)(PORT=1521)))
V,}oYT2k+cd0 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.223)(PORT=1521)))服务摘要..服务 "PLSExtProc" 包含 1 个例程。
^,{y9np0 例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...命令执行成功
