在之前的博文中,我们详细说明了如何去模拟ORA-600 [2662]错误:ORA-600 [2662] 错误模拟
接下来,我们简单介绍一下,如何去解决2662这个问题
Thu Aug 01 10:50:36 CST 2013
Errors in file /oracle/app/admin/test/bdump/test_smon_14956.trc:
ORA-00600: internal error code, arguments: [2662], [0], [469288], [0], [20502828], [4194344], [], []
Thu Aug 01 10:50:36 CST 2013
Errors in file /oracle/app/admin/test/udump/test_ora_15243.trc:
ORA-00600: internal error code, arguments: [2662], [0], [469295], [0], [20502828], [4194344], [], []
Thu Aug 01 10:50:39 CST 2013
Errors in file /oracle/app/admin/test/udump/test_ora_15243.trc: ORA-00600: internal error code, arguments: [2662], [0], [469295], [0], [20502828], [4194344], [], []
Error 600 happened during db open, shutting down database
USER: terminating instance due to error 600
Instance terminated by USER, pid = 15243
ORA-1092 signalled during: ALTER DATABASE OPEN…
Thu Aug 01 10:50:40 CST 2013
Errors in file /oracle/app/admin/test/udump/test_ora_15243.trc:
ORA-00600: internal error code, arguments: [opiodr: call 2], [], [], [], [], [], [], []
ORA-27300: OS system dependent operation:semctl failed with status: 22
ORA-27301: OS failure message: Invalid argument
ORA-27302: failure occurred at: sskgpwpost1
ORA-27303: additional information: semid = 1572871
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [0], [469295], [0], [20502828], [4194344], [], []
由于2662的参数如下:ORA-600 [2662] [A][B][C][D][E]
ARGUMENTS:
Arg [a] Current SCN WRAP
Arg [b] Current SCN BASE –(即是select checkpoint_change# from v$database)也可理解为当前SCN
Arg [c] dependent SCN WRAP
Arg [d] dependent SCN BASE 即当前出现错误的数据块的SCN b和d即为2662产生的scn差
Arg [e] Where present this is the DBA where the dependent SCN came from. –即对应异常问题出现的DBA
ORA-600的参数格式如下:
Arg[a] Current SCN WRAP
Arg[b] Current SCN BASE
Arg[c] dependent SCNWRAP
Arg[d] dependent SCN BASE
Arg[e] Where present this is the DBA wherethe dependent SCN came from.
本次我通过添加事件和隐含参数来解决2662 问题:
[oracle@s1-10g lib]$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.5.0 – Production on Thu Aug 1 11:46:08 2013
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.
Total System Global Area 1610612736 bytes
Fixed Size 2096632 bytes
Variable Size 385876488 bytes
Database Buffers 1207959552 bytes
Redo Buffers 14680064 bytes
Database mounted. SQL> alter system set "_allow_error_simulation"=true scope=spfile; 在Oracle 9i 下面,直接使用alter session 命令就可以增加SCN。 但是在Oracle 10g下面,还需要修改隐含参数:_allow_error_simulation,将该参数设置为true,才能真正增进scn。
SQL> startup mount force
ORACLE instance started.
Total System Global Area 1610612736 bytes
Fixed Size 2096632 bytes
Variable Size 385876488 bytes
Database Buffers 1207959552 bytes
Redo Buffers 14680064 bytes
Database mounted. SQL> alter session set events '10015 trace name adjust_scn level 1';
Session altered.
SQL> alter database open;
Database altered.
观察后台日志:
Thu Aug 01 11:47:14 CST 2013
Thread 1 advanced to log sequence 17 (thread open)
Thread 1 opened at log sequence 17
Current log# 2 seq# 17 mem# 0: /home/oradata/test/redo02.log
Successful open of redo thread 1
Thu Aug 01 11:47:14 CST 2013
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Debugging event used to advance scn to 1073741824
Thu Aug 01 11:47:14 CST 2013
SMON: enabling cache recovery
Thu Aug 01 11:47:14 CST 2013
Successfully onlined Undo Tablespace 1.
Thu Aug 01 11:47:14 CST 2013
SMON: enabling tx recovery
Thu Aug 01 11:47:15 CST 2013
Database Characterset is ZHS16GBK ------------------------------------------------------------------------------------ <版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!> 原博客地址:http://blog.itpub.net/23732248/ 原作者:应以峰 (frank-ying) -------------------------------------------------------------------------------------