环境:HP-UX 11.31
Oracle 9.2.0.8

数据库异常崩溃,询问维护人员之前有大量数据操作。查看alert日志:

Thu Oct 9 02:20:18 2008
Errors in file /oracle/OraHome1/rdbms/log/acct_ora_11361.trc:
ORA-00600: internal error code, arguments: [ktprhtnew6], [], [], [], [], [], [], []
Thu Oct 9 02:20:19 2008
Fatal internal error happened while SMON was doing active transaction recovery.
Thu Oct 9 02:20:19 2008
Errors in file /oracle/OraHome1/rdbms/log/acct_ora_11361.trc:
ORA-00600: internal error code, arguments: [ktprhtnew6], [], [], [], [], [], [], []
SMON: terminating instance due to error 600
Instance terminated by SMON, pid = 11361

检查trace文件,没有发现有用的信息。

重启数据库,数据库能打开,但不到一分钟实例就crash。在alert日志中的错误信息均如上所示。
在网上及在metalink中以ktprhtnew6为关键字搜索,没有找到相似的BUG和案例。同时当时手边是用的163拨号上网,速度非常慢,只有通过分析来解决问题。

仔细分析alert日志可以发现是在做事务恢复时SMON出错,导致实际中止:

Fatal internal error happened while SMON was doing active transaction recovery.

我们知道ORA-600错误后面参数,如果像ktprhtnew6这样的均表示出错的函数。这里可以看出是在做并行恢复:

[K]enerl [T]ransaction [P]arallel [R]ecovery

设置fast_start_parallel_rollback参数为false,关闭数据库的并行恢复功能,重启数据库,数据库正常,故障消失。
看起来这应该又是一个BUG。

Trackback

7 comments untill now

  1. 竟然有这样的事情!
    能说说数据库和os的版本吗?
    小熊强的!这样都看出来了。

    [回复]

  2. to 小荷:

    文章的最前面写了数据库和OS的版本:

    环境:HP-UX 11.31
    Oracle 9.2.0.8

    [回复]

  3. 今天在metalink上,发现了10.2.0.4下的类似的BUG,参见Note 736348.1
    临时的解决办法也类似:Set fast_start_parallel_rollback=false and recovery_parallelism=0

    [回复]

  4. 今天又遇上一次并行恢复故障。

    [回复]

  5. 哎呀妈呀,老熊老牛逼了。

    [回复]

  6. luolongjiu @ 2009-10-17 19:36

    bug!
    有没有补丁!

    [回复]

  7. 佩服。
    高,实在是高。

    [回复]

Add your comment now