如何处理HANG住的DB

如何处理HANG住的DB

1. 生成 systemstate dump:
SQL>sqlplus -prelim / as sysdba
SQL> alter session set max_dump_file_size = unlimited;
SQL> alter session set events 'immediate trace name systemstate level 10';
Wait for some 30 seconds
SQL> alter session set events 'immediate trace name systemstate level 10';
Wait for some 30 seconds
SQL> alter session set events 'immediate trace name systemstate level 10;


2. 开一个新的SESSION:
SQL>sqlplus -prelim / as sysdba
SQL>oradebug setmypid
SQL>oradebug unlimit;
SQL>oradebug dump hanganalyze 3
Wait for 30 seconds
SQL>oradebug dump hanganalyze 3
Wait for 30 seconds
SQL>oradebug dump hanganalyze 3

对生成的文件进行分析。

附:system state dump when connection to the instance is not possible
There are several ways of getting more information when connection to an instance is not possible by sqlplus. It is useful to collect as much information about a hang before clearing the instance.

1.)  Using OS debuggers like dbx or gdb.
For example:
$ps -ef |grep $ORACLE_SID                                    ## Use PID of any User Process instead of BG Process
$gdb $ORACLE_HOME/bin/oracle <PID_from_earlier_step>
print ksudss(10)
The systemstate dump will be in the bdump or udump depending on the PID chosen
2.) Using the new 10.1 sqlplus -prelim option.  
For example:
export ORACLE_SID=PROD                                 ## Replace PROD with the SID you want to trace
sqlplus -prelim / as sysdba
oradebug setmypid
oradebug unlimit;
oradebug dump systemstate 10
3.) Finally if either option (1) or (2) is not doable, please remember to take stacks of all the Oracle Background process using pstack or gdb
For example:
script stack.log
pstack <pid_of_pmon>
pstack <pid_of_smon>
4.) Finally you may also want to collect some truss, tusc or strace of sqlplus
Note:  The recommended systemstate level for 10g is 266

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值