DBGRPC: krmxr: sleeping for 10 seconds
环境:windows系统,oracle10.2.0.1
现象:Rman备份,利用catalog备份到磁带,在备份的途中,出现挂起的情况
debug:打开debug,显示信息如下:
……
DBGRPC: krmxr: sleeping for 1 seconds
DBGRPC: krmxpoq: xc=182936172424, action=”0000064 STARTED40″, col_l=17, ind=0, sid=647
DBGRPC: krmxr: sleeping for 2 seconds
DBGRPC: krmxpoq: xc=182936172424, action=”0000064 STARTED40″, col_l=17, ind=0, sid=647
DBGRPC: krmxr: sleeping for 4 seconds
DBGRPC: krmxpoq: xc=182936172424, action=”0000064 STARTED40″, col_l=17, ind=0, sid=647
DBGRPC: krmxr: sleeping for 8 seconds
DBGRPC: krmxpoq: xc=182936172424, action=”0000064 STARTED40″, col_l=17, ind=0, sid=647
DBGRPC: krmxr: sleeping for 10 seconds
DBGRPC: krmxpoq: xc=182936172424, action=”0000064 STARTED40″, col_l=17, ind=0, sid=647
DBGRPC: krmxr: sleeping for 10 seconds
DBGRPC: krmxpoq: xc=182936172424, action=”0000064 STARTED40″, col_l=17, ind=0, sid=647
DBGRPC: krmxr: sleeping for 10 seconds
DBGRPC: krmxpoq: xc=182936172424, action=”0000064 STARTED40″, col_l=17, ind=0,
另:测试,利用控制文件,备份到本机,没有任何问题。
出现这个情况的过程(可能):
在一次备份时(客户端连接备份),网络突然断了,导致备份挂起,然后通过Oracle命令kill session和orakill将进程干掉。再次备份,就一直出现这种情况。
查了MOS,有一篇文章458259.1,写的就是debug输出跟我遇到的是一样的。解决办法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Run the following commands / query against the target database via SQL*Plus during the time when RMAN is showing the "sleeping" statements (these commands will run in nomount mode): -- Up to 10gR2 use: -- COLUMN EVENT FORMAT a10 COLUMN SECONDS_IN_WAIT FORMAT 999 COLUMN STATE FORMAT a20 COLUMN CLIENT_INFO FORMAT a30 SELECT p.SPID, sw.EVENT, sw.SECONDS_IN_WAIT AS SEC_WAIT, sw.STATE, s.CLIENT_INFO FROM V$SESSION_WAIT sw, V$SESSION s, V$PROCESS p WHERE sw.EVENT LIKE 'sbt%' AND s.SID=sw.SID AND s.PADDR=p.ADDR; -- From 11g onward use: -- COLUMN EVENT FORMAT a10 COLUMN SECONDS_IN_WAIT FORMAT 999 COLUMN STATE FORMAT a20 COLUMN CLIENT_INFO FORMAT a30 SELECT p.SPID, sw.EVENT, sw.SECONDS_IN_WAIT AS SEC_WAIT, sw.STATE, s.CLIENT_INFO FROM V$SESSION_WAIT sw, V$SESSION s, V$PROCESS p WHERE sw.EVENT LIKE '%MML%' AND s.SID=sw.SID AND s.PADDR=p.ADDR; |
这个解决办法肯定是解决不了这个问题的。
其实,重启一下windows系统就可以解决此问题,只不过,有些系统不是很方便重启。最后实在没招了,也是重启windows系统了事儿。
问题应该就是操作系统的事儿,可能是某些内存没有彻底释放导致的吧。