下面环境来至于QQ群
里面的朋友,远程帮他处理故障时遇到的,在数据库打开的时候报下面的错误
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [2662], [0], [672853125], [0],
[672867878], [12583104], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [2662], [0], [672853124], [0],
[672867878], [12583104], [], [], [], [], [], []
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [0], [672853122], [0],
[672867878], [12583104], [], [], [], [], [], []
Process ID: 9003
Session ID: 286 Serial number: 1
1,环境介绍
Starting up:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options.
ORACLE_HOME = /u01/oracle/app/oracle/product/11.2.0
System name: Linux
Node name: HTZ.PW
Release: 2.6.18-348.el5
Version: #1 SMP Wed Nov 28 21:22:00 EST 2012
Machine: x86_64
VM name: VMWare Version: 6
2,错误说明
2662错误的说明
ORA-600 [2662] [a] [b] [c] [d] [e]
Arg [a] Current SCN WRAP
Arg [b] Current SCN BASE
Arg [c] dependent SCN WRAP
Arg [d] dependent SCN BASE
Arg [e] Where present this is the DBA where the dependent SCN came from
3,处理方案
2662错误的处理办法一般通过增加SCN值为期望值就可以了。增加SCN的方法很多,比如常用的:oradebug,event,parameter等方法。下面通过oradebug的方式来增加scn,此方法是通用的,win/linux/unix平台都可以使用。
SQL> oradebug setmypid
Statement processed.
SQL> oradebug dumpvar sga kcsgscn_
kcslf kcsgscn_ [0XXXXXXX0, 06001AEA0) = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 6001AB50 00000000
SQL> oradebug poke 0xXXXXXXXX0 4 772867878;
BEFORE: [0XXXXXXX0, 0XXXXXXX4) = 00000000
AFTER: [0XXXXXXX0, 0XXXXXXX4) = 2E110726
SQL> alter database open resetlogs;
Database altered.
SQL> select open_mode from v$database;
OPEN_MODE
----------------------------------------
READ WRITE
数据库已经正常的打开,接下来一些其它的操作,就由他自己去解决了。


OPEN数据库报ORA-00600 2662错误:等您坐沙发呢!