oracel进程hang住了,怎么查找故障原因

2025-04-28 18:12:24
推荐回答(1个)
回答1:

以下两种方法通过process、全局两个层面,对hang住的process做重新激活的操作,思路很新颖,如果真的有作用,不失为一种较为方便有效的办法,记录下以便日后查阅。
Workaround: oradebug setospid+unlimit to free the hanging process:
1、identify the Unix process id of the hanging process
2、use oradebug on it as follows (the unlimit command is sufficient to stop the hang)
SQL> oradebug setospid
SQL> oradebug unlimit
3、alternatively, if there are many processes hanging on 'cursor: pin S wait on X', or time is short, a systemstate dump (at minimum level 1 to minimize the amount of trace that will be written) will be the quickest way to go over all hanging processes and wake them up:
SQL> oradebug setmypid
SQL> oradebug unlimit
SQL> oradebug dump systemstate 1
[@more@]