首页 » ORACLE 9i-23ai » ORA-600 [25016] internal error when ALTER DATABASE OPEN ORA-01092
ORA-600 [25016] internal error when ALTER DATABASE OPEN ORA-01092
前几天修改了基表,在重建控制文件时遇到了这个问题,记录一下
很可能是当前系统的数据字典还存在问题
SYS>select file_id,file_name,tablespace_name from dba_data_files order by 1; FILE_ID FILE_NAME TABLESPACE_NAME ---------- -------------------------------------------------- -------------------- 1 /oracle/oradata/ncme/system01.dbf SYSTEM 2 /oracle/product/10.2.0/dbs/BJHR_INDEX BJHR_INDEX 3 /oracle/oradata/ncme/sysaux01.dbf SYSAUX 4 /oracle/oradata/ncme/users01.dbf USERS 5 /oracle/oradata/ncme/BJHR_DEV.dbf BJHR_DEV 6 /oracle/oradata/ncme/ncme01.dbf NCME 7 /oracle/oradata/ncme/undotbs01.dbf UNDOTBS1 9 /oracle/oradata/ncme/keyan01.dbf KEYAN 12 /oracle/oradata/ncme/users02.dbf USERS 9 rows selected. SYS>select file#,name from v$datafile; FILE# NAME ---------- ------------------------------------------------------------ 1 /oracle/oradata/ncme/system01.dbf 2 /oracle/product/10.2.0/dbs/BJHR_INDEX 3 /oracle/oradata/ncme/sysaux01.dbf 4 /oracle/oradata/ncme/users01.dbf 5 /oracle/oradata/ncme/BJHR_DEV.dbf 6 /oracle/oradata/ncme/ncme01.dbf 7 /oracle/oradata/ncme/undotbs01.dbf 9 /oracle/oradata/ncme/keyan01.dbf 12 /oracle/oradata/ncme/users02.dbf 14 /oracle/oradata/ncme/undotbs02.dbf 10 rows selected. SYS>select file#,ts# from file$; FILE# TS# ---------- ---------- 1 0 2 30 3 2 4 4 5 25 6 7 7 1 8 9 18 10 11 12 4 13 13 rows selected. With the Partitioning, OLAP and Data Mining options [oracle@ora10g ~]$ ll -h /oracle/oradata/ncme/ total 45G -rw-r----- 1 oracle oinstall 960M Mar 22 14:31 BJHR_DEV.dbf -rw-r----- 1 oracle oinstall 7.3M Mar 22 14:36 control01.ctl -rw-r----- 1 oracle oinstall 7.3M Mar 22 14:36 control02.ctl -rw-r----- 1 oracle oinstall 7.3M Mar 22 14:36 control03.ctl -rw-r----- 1 oracle oinstall 81M Mar 22 14:31 keyan01.dbf -rw-r----- 1 oracle oinstall 2.1G Mar 22 14:31 ncme01.dbf -rw-r----- 1 oracle oinstall 51M Mar 22 14:36 redo01.log -rw-r----- 1 oracle oinstall 51M Mar 22 14:31 redo02.log -rw-r----- 1 oracle oinstall 51M Mar 22 14:31 redo03.log -rw-r----- 1 oracle oinstall 1.3G Mar 22 14:36 sysaux01.dbf -rw-r----- 1 oracle oinstall 1.3G Mar 22 14:36 system01.dbf -rw-r----- 1 oracle oinstall 2.1G Mar 22 10:20 temp02.dbf -rw-r----- 1 oracle oinstall 11M Mar 21 17:58 test.dbf -rw-r----- 1 oracle oinstall 1.1G Mar 22 14:36 undotbs01.dbf -rw-r----- 1 oracle oinstall 23G Mar 22 14:31 users01.dbf -rw-r----- 1 oracle oinstall 14G Mar 22 14:31 users02.dbf SYS>alter database backup controlfile to trace; Database altered. SYS>exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options [oracle@ora10g ~]$ cd /oracle/admin/ncme/udump/ [oracle@ora10g udump]$ ll -t|head total 36 -rw-r----- 1 oracle oinstall 6660 Mar 22 14:37 ncme_ora_28507.trc -rw-r----- 1 oracle oinstall 2229 Mar 22 14:31 ncme_ora_28457.trc -rw-r----- 1 oracle oinstall 641 Mar 22 14:26 ncme_ora_28454.trc -rw-r----- 1 oracle oinstall 584 Mar 22 14:26 ncme_ora_28429.trc -rw-r----- 1 oracle oinstall 769 Mar 22 14:26 ncme_ora_28423.trc -rw-r----- 1 oracle oinstall 641 Mar 22 14:22 ncme_ora_28383.trc -rw-r----- 1 oracle oinstall 612 Mar 22 14:22 ncme_ora_28357.trc -rw-r----- 1 oracle oinstall 806 Mar 22 14:14 ncme_ora_28268.trc [oracle@ora10g udump]$ vi ncme_ora_28507.trc /oracle/admin/ncme/udump/ncme_ora_28507.trc Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options ORACLE_HOME = /oracle/product/10.2.0 System name: Linux Node name: ora10g Release: 2.6.9-55.ELsmp Version: #1 SMP Wed May 2 14:28:44 EDT 2007 Machine: i686 Instance name: ncme Redo thread mounted by this instance: 1 Oracle process number: 14 Unix process pid: 28507, image: oracle@ora10g (TNS V1-V3) -- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "NCME" NORESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 4672 LOGFILE GROUP 1 '/oracle/oradata/ncme/redo01.log' SIZE 50M, GROUP 2 '/oracle/oradata/ncme/redo02.log' SIZE 50M, GROUP 3 '/oracle/oradata/ncme/redo03.log' SIZE 50M -- STANDBY LOGFILE DATAFILE '/oracle/oradata/ncme/system01.dbf', '/oracle/product/10.2.0/dbs/BJHR_INDEX', '/oracle/oradata/ncme/sysaux01.dbf', '/oracle/oradata/ncme/users01.dbf', '/oracle/oradata/ncme/BJHR_DEV.dbf', '/oracle/oradata/ncme/ncme01.dbf', '/oracle/oradata/ncme/undotbs01.dbf', '/oracle/oradata/ncme/keyan01.dbf', '/oracle/oradata/ncme/users02.dbf', '/oracle/oradata/ncme/undotbs02.dbf' CHARACTER SET ZHS16GBK ; -- Take files offline to match current control file. ALTER DATABASE DATAFILE '/oracle/oradata/ncme/undotbs02.dbf' OFFLINE DROP; -- Commands to re-create incarnation table -- Below log names MUST be changed to existing filenames on -- disk. Any one log file from each branch can be used to -- re-create incarnation records. -- ALTER DATABASE REGISTER LOGFILE '/oracle/flash_recovery_area/NCME/archivelog/2012_03_22/o1_mf_1_1_%u_.arc'; -- ALTER DATABASE REGISTER LOGFILE '/oracle/flash_recovery_area/NCME/archivelog/2012_03_22/o1_mf_1_1_%u_.arc'; -- Recovery is required if any of the datafiles are restored backups, -- or if the last shutdown was not normal or immediate. RECOVER DATABASE -- Database can now be opened normally. ALTER DATABASE OPEN; [oracle@ora10g udump]$ cp ncme_ora_28507.trc /home/oracle/re_createctl.sql [oracle@ora10g udump]$ cd [oracle@ora10g ~]$ vi re_createctl.sql --##去掉了, '/oracle/oradata/ncme/undotbs02.dbf'和ALTER DATABASE DATAFILE '/oracle/oradata/ncme/undotbs02.dbf' OFFLINE DROP; sql>startup nomount ORACLE instance started. Total System Global Area 603979776 bytes Fixed Size 1220796 bytes Variable Size 218107716 bytes Database Buffers 377487360 bytes Redo Buffers 7163904 bytes sql>startup nomount ORACLE instance started. Total System Global Area 603979776 bytes Fixed Size 1220796 bytes Variable Size 218107716 bytes Database Buffers 377487360 bytes Redo Buffers 7163904 bytes sql>CREATE CONTROLFILE REUSE DATABASE "NCME" NORESETLOGS NOARCHIVELOG 2 MAXLOGFILES 16 3 MAXLOGMEMBERS 3 4 MAXDATAFILES 100 5 MAXINSTANCES 8 6 MAXLOGHISTORY 4672 7 LOGFILE 8 GROUP 1 '/oracle/oradata/ncme/redo01.log' SIZE 50M, 9 GROUP 2 '/oracle/oradata/ncme/redo02.log' SIZE 50M, 10 GROUP 3 '/oracle/oradata/ncme/redo03.log' SIZE 50M 11 -- STANDBY LOGFILE 12 DATAFILE 13 '/oracle/oradata/ncme/system01.dbf', 14 '/oracle/product/10.2.0/dbs/BJHR_INDEX', 15 '/oracle/oradata/ncme/sysaux01.dbf', 16 '/oracle/oradata/ncme/users01.dbf', 17 '/oracle/oradata/ncme/BJHR_DEV.dbf', 18 '/oracle/oradata/ncme/ncme01.dbf', 19 '/oracle/oradata/ncme/undotbs01.dbf', 20 '/oracle/oradata/ncme/keyan01.dbf', 21 '/oracle/oradata/ncme/users02.dbf' 22 CHARACTER SET ZHS16GBK 23 ; Control file created. sql>RECOVER DATABASE; Media recovery complete. sql>ALTER DATABASE OPEN; ALTER DATABASE OPEN * ERROR at line 1: ORA-01092: ORACLE instance terminated. Disconnection forced alert 日志 Thu Mar 22 14:44:49 2012 CREATE CONTROLFILE REUSE DATABASE "NCME" NORESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 4672 LOGFILE GROUP 1 '/oracle/oradata/ncme/redo01.log' SIZE 50M, GROUP 2 '/oracle/oradata/ncme/redo02.log' SIZE 50M, GROUP 3 '/oracle/oradata/ncme/redo03.log' SIZE 50M -- STANDBY LOGFILE DATAFILE '/oracle/oradata/ncme/system01.dbf', '/oracle/product/10.2.0/dbs/BJHR_INDEX', '/oracle/oradata/ncme/sysaux01.dbf', '/oracle/oradata/ncme/users01.dbf', '/oracle/oradata/ncme/BJHR_DEV.dbf', '/oracle/oradata/ncme/ncme01.dbf', '/oracle/oradata/ncme/undotbs01.dbf', '/oracle/oradata/ncme/keyan01.dbf', '/oracle/oradata/ncme/users02.dbf' CHARACTER SET ZHS16GBK Thu Mar 22 14:44:49 2012 WARNING: Default Temporary Tablespace not specified in CREATE DATABASE command Default Temporary Tablespace will be necessary for a locally managed database in future release Setting recovery target incarnation to 1 Thu Mar 22 14:44:50 2012 Successful mount of redo thread 1, with mount id 1208628513 Thu Mar 22 14:44:50 2012 Completed: CREATE CONTROLFILE REUSE DATABASE "NCME" NORESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 4672 LOGFILE GROUP 1 '/oracle/oradata/ncme/redo01.log' SIZE 50M, GROUP 2 '/oracle/oradata/ncme/redo02.log' SIZE 50M, GROUP 3 '/oracle/oradata/ncme/redo03.log' SIZE 50M -- STANDBY LOGFILE DATAFILE '/oracle/oradata/ncme/system01.dbf', '/oracle/product/10.2.0/dbs/BJHR_INDEX', '/oracle/oradata/ncme/sysaux01.dbf', '/oracle/oradata/ncme/users01.dbf', '/oracle/oradata/ncme/BJHR_DEV.dbf', '/oracle/oradata/ncme/ncme01.dbf', '/oracle/oradata/ncme/undotbs01.dbf', '/oracle/oradata/ncme/keyan01.dbf', '/oracle/oradata/ncme/users02.dbf' CHARACTER SET ZHS16GBK Thu Mar 22 14:45:03 2012 ALTER DATABASE RECOVER DATABASE Thu Mar 22 14:45:03 2012 Media Recovery Start parallel recovery started with 2 processes Thu Mar 22 14:45:03 2012 Recovery of Online Redo Log: Thread 1 Group 2 Seq 40722 Reading mem 0 Mem# 0 errs 0: /oracle/oradata/ncme/redo02.log Thu Mar 22 14:45:03 2012 Media Recovery Complete (ncme) Completed: ALTER DATABASE RECOVER DATABASE Thu Mar 22 14:45:29 2012 ALTER DATABASE OPEN Thu Mar 22 14:45:29 2012 Beginning crash recovery of 1 threads parallel recovery started with 2 processes Thu Mar 22 14:45:29 2012 Started redo scan Thu Mar 22 14:45:29 2012 Completed redo scan 45 redo blocks read, 0 data blocks need recovery Thu Mar 22 14:45:29 2012 Started redo application at Thread 1: logseq 40722, block 2, scn 12965692819 Thu Mar 22 14:45:29 2012 Recovery of Online Redo Log: Thread 1 Group 2 Seq 40722 Reading mem 0 Mem# 0 errs 0: /oracle/oradata/ncme/redo02.log Thu Mar 22 14:45:29 2012 Completed redo application Thu Mar 22 14:45:29 2012 Completed crash recovery at Thread 1: logseq 40722, block 47, scn 12965712876 0 data blocks read, 0 data blocks written, 45 redo blocks read Thu Mar 22 14:45:29 2012 Thread 1 advanced to log sequence 40723 Thread 1 opened at log sequence 40723 Current log# 3 seq# 40723 mem# 0: /oracle/oradata/ncme/redo03.log Successful open of redo thread 1 Thu Mar 22 14:45:30 2012 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Thu Mar 22 14:45:30 2012 SMON: enabling cache recovery Thu Mar 22 14:45:30 2012 Successfully onlined Undo Tablespace 1. Dictionary check beginning File #2 in the controlfile not found in data dictionary. Removing file from controlfile. data file 2: '/oracle/product/10.2.0/dbs/BJHR_INDEX' Tablespace 'BJHR_INDEX' #30 found in controlfile, but not in the data dictionary. Deleting from controlfile. File #5 in the controlfile not found in data dictionary. Removing file from controlfile. data file 5: '/oracle/oradata/ncme/BJHR_DEV.dbf' Tablespace 'BJHR_DEV' #25 found in controlfile, but not in the data dictionary. Deleting from controlfile. File #6 in the controlfile not found in data dictionary. Removing file from controlfile. data file 6: '/oracle/oradata/ncme/ncme01.dbf' Tablespace 'NCME' #7 found in controlfile, but not in the data dictionary. Deleting from controlfile. File #9 in the controlfile not found in data dictionary. Removing file from controlfile. data file 9: '/oracle/oradata/ncme/keyan01.dbf' Tablespace 'KEYAN' #18 found in controlfile, but not in the data dictionary. Deleting from controlfile. Thu Mar 22 14:45:30 2012 Errors in file /oracle/admin/ncme/udump/ncme_ora_28605.trc: ORA-00600: internal error code, arguments: [25016], [2], [30], [], [], [], [], [] Thu Mar 22 14:45:30 2012 Errors in file /oracle/admin/ncme/udump/ncme_ora_28605.trc: ORA-00600: internal error code, arguments: [25016], [2], [30], [], [], [], [], [] Error 600 happened during db open, shutting down database USER: terminating instance due to error 600 Instance terminated by USER, pid = 28605 ORA-1092 signalled during: ALTER DATABASE OPEN... Thu Mar 22 14:52:54 2012 Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 Picked latch-free SCN scheme 2 Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST Autotune of undo retention is turned on. IMODE=BR ILAT =220 LICENSE_MAX_USERS = 0 SYS auditing is disabled ksdpec: called for event 13740 prior to event group initialization Starting up ORACLE RDBMS Version: 10.2.0.1.0. trace文件中 *** 2012-03-22 14:54:22.753 ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [25016], [2], [30], [], [], [], [], [] Current SQL statement for this session: alter database open ----- Call Stack Trace ----- calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- ksedst()+27 call ksedst1() 0 ? 1 ? ksedmp()+557 call ksedst() 0 ? 322E3031 ? 642F302E ? B5D2B008 ? BFFF6438 ? 51333110 ? ksfdmp()+19 call ksedmp() 3 ? BFFF629C ? AC05B10 ? CBC2A40 ? 3 ? CB740C0 ? kgeriv()+188 call 00000000 CBC2A40 ? 3 ? kgesiv()+118 call kgeriv() CBC2A40 ? B7110020 ? 61B8 ? 2 ? BFFF6308 ? ksesic2()+44 call kgesiv() CBC2A40 ? B7110020 ? 61B8 ? 2 ? BFFF6308 ? 61B8 ? 2 ? BFFF6308 ? krtadf()+74 call ksesic2() 61B8 ? 0 ? 2 ? 0 ? 0 ? 1E ? 0 ? kcfckdf()+1264 call krtadf() BFFF6C48 ? 1E ? 2 ? BFFF6994 ? dbsckd()+1038 call kcfckdf() 2 ? 2 ? 1E ? 1 ? BFFF6E00 ? BFFF6DAC ? 0 ? 0 ? 2000 ? adbdrv()+5727 call dbsckd() 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? opiexe()+18301 call adbdrv() 101C5 ? 0 ? 8478EF72 ? 49F68 ? 43B2EAD8 ? 0 ? opiosq0()+3918 call opiexe() 4 ? 0 ? BFFFC888 ? --#######################MOS##################--- ORA-600[25016] At Startup [ID 1017018.102] 修改时间 31-AUG-2010 类型 PROBLEM 状态 PUBLISHED Problem Description ------------------- After a restore of the database, you may see the following error: svrmgrl> startup svrmgrl> ORA-00600: internal error code, arguments: [25016] Solution Description -------------------- You need to create a new control file. svrmgrl> alter database backup controlfile to trace; 1. This will be dumped in the user dump directory. 2. Modify it by removing the unnecessary details above the "alter database no mount". 3. Run this script to create a new control file. Example: svrmgrl>@cntrl.sql 4. Make sure that this controlfile has the correct datafiles before proceeding. Either add the next steps to the control file or issue manually: svrmgrl> recover database using backup controlfile; svrmgrl> alter database open resetlogs; Explanation ----------- This type of ORA-600 indicates that it is possible that the control file created is referencing different datafiles than that which is in the database. A new control file is needed in order to identify the datafiles necessary to open the database.
对不起,这篇文章暂时关闭评论。