今天有一台server自动重启了,将db 开启时,发现log 信息:
Errors in file /orahome/admin/STCSMES/udump/stcsmes_ora_5247.trc:
ORA-00600: internal error code, arguments: [2662], [2360], [1026629198], [2360], [1026857683], [234881049], [], []
Wed Jul 11 13:12:07 2012
Errors in file /orahome/admin/STCSMES/udump/stcsmes_ora_5247.trc:
ORA-00600: internal error code, arguments: [2662], [2360], [1026629198], [2360], [1026857683], [234881049], [], []
Wed Jul 11 13:12:07 2012
Error 600 happened during db open, shutting down database
USER: terminating instance due to error 600
Instance terminated by USER, pid = 5247
ORA-1092 signalled during: ALTER DATABASE OPEN...
Wed Jul 11 13:17:06 2012
这是由于当前数据块的SCN大于当前的SCN
解决方法是推进当前的scn
利用参数:
*._allow_error_simulation=TRUE
*._minimum_giga_scn=10
然后将数据库启动到mount状态
sql>alter session set events '10015 trace name adjust_scn level 16';
sql>alter database open;
log中显示:
Thread 1: logseq 34162, block 4, scn 10137149487766
2 data blocks read, 2 data blocks written, 1 redo blocks read
Current SCN is not changed: _minimum_giga_scn (scn 10737418240) is too small
Errors in file /orahome/admin/STCSMES/udump/stcsmes_ora_5600.trc:
ORA-00600: internal error code, arguments: [2256], [1], [3221225472], [2360], [1026669211], [], [], []
Wed Jul 11 13:28:49 2012
Errors in file /orahome/admin/STCSMES/udump/stcsmes_ora_5600.trc:
ORA-00600: internal error code, arguments: [2662], [2360], [1026669213], [2360], [1026857683], [234881049], [], []
Wed Jul 11 13:28:51 2012
Errors in file /orahome/admin/STCSMES/udump/stcsmes_ora_5600.trc:
ORA-00600: internal error code, arguments: [2662], [2360], [1026669213], [2360], [1026857683], [234881049], [], []
Wed Jul 11 13:28:51 2012
这是因为当前的scn并没有推进到大与块的scn,需要调整adjust_scn level
计算方法:
c*4+d 即:2360*4+1=9441
继续:
sql>startup mount;
sql>alter session set events '10015 trace name adjust_scn level 9441';
sql>alter database open;
这是log中出现ora-600[4194]
Errors in file /orahome/admin/STCSMES/bdump/stcsmes_j000_5936.trc:
ORA-00600: internal error code, arguments: [4194], [20], [18], [], [], [], [], []
Wed Jul 11 13:46:09 2012
DEBUG: Replaying xcb 0x11ea06d88, pmd 0x11972ce08 for failed op 8
Doing block recovery for file 129 block 1380
No block recovery was needed
Wed Jul 11 13:46:10 2012
Errors in file /orahome/admin/STCSMES/bdump/stcsmes_j000_5936.trc:
ORA-00600: internal error code, arguments: [4194], [20], [18], [], [], [], [], []
ORA-00600: internal error code, arguments: [4194], [20], [18], [], [], [], [], []
这个是undo的问题
修改pfile文件
Undo_management=’MANUAL’;
SQL>create spfile from pfile;
SQL>startup;
SQL>create undo tablespace undotbs2 datafile ‘/oradata/STCSMES/undotbs02.dbf’ size 2000M autoextent on next 100M maxsize unlimited;
---注:刚开始建立undo tablelspace 时写成create tablespace导致之后不能使用该新建立的undo tablespace
ORA-30012: undo tablespace 'UNDOTBS1' does not exist or of wrong type
SQL>alter tablespace undotbs1 offline;
SQL>alter system set undo_tablespace=undotbs2 scope=spfile;
SQL>alter system set undo_management=auto scope=spfile;
SQL>shutdown immediate;
sql>alter database open;
alert log中已无报错 不过最好还是对数据库进行expdp/impdp