早上有个问题报ora-600,记录下来,后面有时间了仔细研究:
Mon Aug 30 23:56:19 2010
Errors in file /opt/app/oracle/admin/xateldb/udump/xateldb_ora_21118.trc:
ORA-00600: 内部错误代码, 参数: [17059], [0x6CFFCB260], [], [], [], [], [], []
Mon Aug 30 23:57:29 2010
Errors in file /opt/app/oracle/admin/xateldb/udump/xateldb_ora_21118.trc:
ORA-00600: 内部错误代码, 参数: [17059], [0x6CFFCB260], [], [], [], [], [], []
Tue Aug 31 00:01:02 2010
Thread 1 advanced to log sequence 46361
Current log# 3 seq# 46361 mem# 0: /redo_log/xateldb/sys/redo03a.log
Current log# 3 seq# 46361 mem# 1: /redo_log/xateldb/sys/redo03b.log
Tue Aug 31 00:09:49 2010
Errors in file /opt/app/oracle/admin/xateldb/udump/xateldb_ora_21118.trc:
通过收集这段时间的AWR信息,发现:
比较严重和显著的事件是latch: library cache
暂时解决方法:
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> select do.obj#,
2 po.obj# ,
3 p_timestamp,
4 po.stime ,
5 decode(sign(po.stime-p_timestamp),0,'SAME','*DIFFER*') X
6 from sys.obj$ do, sys.dependency$ d, sys.obj$ po
7 where P_OBJ#=po.obj#(+)
8 and D_OBJ#=do.obj#
9 and do.status=1 /*dependent is valid*/
10 and po.status=1 /*parent is valid*/
11 and po.stime!=p_timestamp /*parent timestamp not match*/
12 order by 2,1;
未选定行
SQL> show parameter cursor;
NAME TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
cursor_sharing string
SIMILAR
cursor_space_for_time boolean
FALSE
open_cursors integer
300
session_cached_cursors integer
200
SQL> alter system set open_cursors=500 scope=both;
系统已更改。
SQL> show parameter cursor;
NAME TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
cursor_sharing string
SIMILAR
cursor_space_for_time boolean
FALSE
open_cursors integer
500
session_cached_cursors integer
200
参见metalink:ORA-600 [17059] [ID 138554.1]
问题还是未能解决,最终定位为bug
临时解决方法:
session_cached_cursors设置为0
或者升级到10204