我申请这个blog是为了督促自己,把自己平时的一些想法和思考结果保留下来。 本博客所有内容均为原创,如有转载请注明作者和出处

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个人空间4YXx fea%?;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 个例程。
0fTfh r;P6U0
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...服务 "testrac" 包含 2 个例程。
!|4`&R X:j[0
例程 "testrac1", 状态 READY, 包含此服务的 1 个处理程序...ITPUB个人空间4D Ol&mtLH B
例程 "testrac2", 状态 READY, 包含此服务的 2 个处理程序
...服务 "testracXDB" 包含 2 个例程。ITPUB个人空间%N-c!Ih`[-j*}
例程 "testrac1", 状态 READY, 包含此服务的 1 个处理程序...
(v6] @/S;pSn"w0
例程 "testrac2", 状态 READY, 包含此服务的 1 个处理程序
...服务 "testrac_XPT" 包含 2 个例程。
'O7g6J k}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个人空间0w JJ^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\%B SF,N;O0 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=racnode2)(PORT=1521)))
监听程序不支持服务
命令执行成功
v|&B"U%cR1C#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*p h*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,R fCQ
(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~8Zm yKQ6v
例程 "testrac1", 状态 READY, 包含此服务的 1 个处理程序...
B \5g)Q/@$N:~T0
例程 "testrac2", 状态 READY, 包含此服务的 2 个处理程序
...命令执行成功ITPUB个人空间#f{U5N z:[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))
/v ql{.}&q0TNS-12541: TNS:
无监听程序
ITPUB个人空间sl'Y$w0a3k^'Oa*L
TNS-12560: TNS:
协议适配器错误
"F1AzG,rE*Z r9o0 TNS-00511:
无监听程序
4REU/d{'R*cW$Bgo0 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))
eb D.s cH8^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*^&p Q
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
8w j&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 个处理程序...命令执行成功
![$c%xx"qx8{0$ lsnrctl stop

LSNRCTL for Solaris: Version 10.2.0.2.0 - Production on 29-3 -2007 11:14:29

Copyright (c) 1991, 2005, Oracle. All rights reserved.

正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))命令执行成功
'q6f t[PC`x4e#O0$ srvctl start listener -n racnode2
s{:`$G@gyQ4y0$ lsnrctl status

LSNRCTL for Solaris: Version 10.2.0.2.0 - Production on 29-3 -2007 11:14:50

Copyright (c) 1991, 2005, Oracle. All rights reserved.

正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
s!GN`(e[D0LISTENER
STATUS
@,}A8NG0------------------------
别名
LISTENER_RACNODE2版本 TNSLSNR for Solaris: Version 10.2.0.2.0 - Production启动日期 29-3 -2007 11:14:44正常运行时间 0 0 小时 0 5 跟踪级别 off安全性 ON: Local OS Authentication
0zg%nV[q0SNMP OFF
监听程序参数文件
/data/oracle/product/10.2/database/network/admin/listener.ora监听程序日志文件 /data/oracle/product/10.2/database/network/log/listener_racnode2.log监听端点概要...
lzp~Z{V+i0 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
E?6v c!Bn0 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.225)(PORT=1521)))ITPUB个人空间 X.f T2k@u h
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.25.198.223)(PORT=1521)))
服务摘要
..服务 "PLSExtProc" 包含 1 个例程。
a`F8?[0
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...命令执行成功


TAG:

yangtingkun的个人空间 引用 删除 yangtingkun   /   2008-03-11 23:29:06
srvctl记录状态,如果srvctl启动或关闭之后,使用其他方式改变了状态,srvctl不会进行检查
引用 删除 ricky_zhu   /   2008-03-11 22:30:48
it's a bug 6717103,  and will be fixed on 10.2.0.4, also for former release, there will be patch

start/stop listener using lsnrctl will hit the bug
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar