今天遇到一个oracle很奇葩的问题。。因为cpu数太大了导致数据挂掉了。重启不到一分钟就直接挂掉。所以记录一笔。
alter日志就报如下的错误。。
Completed: alter database open
Mon Oct 21 18:19:59 2013
Incremental checkpoint up to RBA [0x2984.3.0], current log tail at RBA [0x2984.43.0]
Mon Oct 21 18:20:06 2013
Errors in file /paic/bank/bcard/data/app/oracle/admin/bcard/bdump/bsbcard2_smon_51315864.trc:
ORA-00600: internal error code, arguments: [ktprhtnew6], [], [], [], [], [], [], []
Mon Oct 21 18:20:07 2013
Fatal internal error happened while SMON was doing active transaction recovery.
Mon Oct 21 18:20:07 2013
Errors in file /paic/bank/bcard/data/app/oracle/admin/bcard/bdump/bsbcard2_smon_51315864.trc:
ORA-00600: internal error code, arguments: [ktprhtnew6], [], [], [], [], [], [], []
SMON: terminating instance due to error 474
Instance terminated by SMON, pid = 51315864
ora-600一看就知道完蛋了,上metlink上瞧了一下,还果然有这等错误。。
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.1.0.7 - Release: 10.2 to 11.1
Symptoms
ORA-00600: internal error code, arguments: [ktprhtnew6] is reported prior to instance crash in the alert log
Stack Trace resembles the following:
Cause
The issue was identified as Bug 8310931 ORA-600 [KTPRHTNEW6] LEADING TO DATABASE CRASH
Solution
- error occurs in SMON process
- usually occurs when cpu count is high e.g. 125 physical and 256 logical [if multithreading]
2- If confirmed to be the issue, Bug 8310931 is fixed in 11.2, patches exist for 10.2.0.4. If no patch is found for your platform you may request a backport be created.
References
BUG:8310931 - ORA-600 [KTPRHTNEW6] LEADING TO DATABASE CRASH
很明显的一个bug。。usually occurs when cpu count is high e.g. 125 physical and 256 logical 无语啊!cpu太多了导致的bug。。
哎还好知道oracle有个参数cpu_count是记录cpu个数的。所以修改了一下就OK了。
SQL> show parameter cpu
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cpu_count integer 168
parallel_threads_per_cpu integer 2
SQL> alter system set cpu_count=124;
System altered.
起库就OK了。。
这个bug在11.2中已经修复了,不过出现这种问题,说出来都搞笑。。。