接同事电话,维护的9i数据库hang死,什么操作都无法进行。
喊他查看日志,检查lock,检查session wait等。发现无任何日志产生,查询v$lock等视图一直挂死,但能sqlplus /as sysdba登录。
由于看不到原因,我喊他做了个hanganalyze,然后把trace文件发给我看下
sqlplus /nolog
SQL> connect / as sysdba
SQL> oradebug setmypid
SQL> oradebug unlimit
SQL> oradebug hanganalyze 3
通过ass.awk格式化输出trace文件,发现了问题
Administrator@PCAT_# awk -f ass.awk 1.txt
Starting Systemstate 1
..............
Ass.Awk Version 1.0.9 - Processing 1.txt
System State 1
~~~~~~~~~~~~~~~~
1:
2: waiting for 'pmon timer' seq=1450
3: waiting for 'rdbms ipc message' seq=3567
4: waiting for 'rdbms ipc message' seq=13739
5: waiting for 'rdbms ipc message' seq=3264
6: waiting for 'buffer busy waits' (2,9,dc) seq=1652
7: waiting for 'rdbms ipc message' seq=9
8: waiting for 'rdbms ipc message' seq=826
9: waiting for 'log file switch (archiving needed)' seq=1815
Cmd: Select
10:
11:
12: waiting for 'buffer busy waits' (2,9,dc) seq=736
Cmd: Select
13: last wait for 'null event'
17: waiting for 'log file switch (archiving needed)' seq=9651
NO BLOCKING PROCESSES FOUND
5347 Lines Processed.
看结果显示log file switch (archiving needed),看来归档出问题了,但是没有报错,怎么回事,不管了,先处理再说。
再次联系同事确认归档目录满没有,答复是还有几十g,然后查看归档是否打开
Database log mode Archive Mode
Automatic archival Disabled
Archive destination /opt/oracle/product/9204/dbs/arch
Oldest online log sequence 1188
Current log sequence 1190
从上面的结果可以看出是9i的参数log_archive_start未设置为true(这个参数10g已经作废)。
但此参数是初始化参数,必须重启数据库。但客户在系统未恢复正常的情况下,不同意贸然重启,于是乎手工归档redo
alter system archive log sequence 80;
检查应用,已经正常。
改参数,重启.
但是,数据库怎么变成这个模样的?已经没人承认做过任何操作了
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11088128/viewspace-691847/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11088128/viewspace-691847/