[oracle@xifenfei check_db]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Sun Oct 5 21:13:28 2025Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> recover datafile 1;Media recovery complete.SQL> recover datafile 2,3,4,5,6,7,8,9,10;Media recovery complete.SQL> alter database open;alter database open*ERROR at line 1:ORA-01157: cannot identify/lock data file 11 - see DBWR trace fileORA-01110: data file 11:'/u01/app/oracle/product/11.2.0.4/db_1/dbs/path_to_datafile.dbf'SQL> alter database datafile 11 offline drop;Database altered.SQL> alter database open;alter database open*ERROR at line 1:ORA-01147: SYSTEM tablespace file 11 is offlineORA-01110: data file 11:'/u01/app/oracle/product/11.2.0.4/db_1/dbs/path_to_datafile.dbf'
[oracle@xifenfei tmp]$ cat 1.txt1@/data/app/oracle/oradata/mtxdb1/system01.dbf11@/tmp/11.dbf[oracle@xifenfei tmp]$ ./m_scn 1.txt-------------Is processing datafile:/tmp/11.dbf-------------1+0 records in1+0 records out1048576 bytes (1.0 MB) copied, 0.000835728 s, 1.3 GB/s[oracle@xifenfei tmp]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Wed Oct 8 11:27:32 2025Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> set numw 16SQL> col CHECKPOINT_TIME for a40SQL> set lines 150SQL> set pages 1000SQL> SELECT status,2 to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss') checkpoint_time,FUZZY,checkpoint_change#,3 count(*) ROW_NUM4 FROM v$datafile_header5 GROUP BY status, checkpoint_change#, to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss'),fuzzy6 ORDER BY status, checkpoint_change#, checkpoint_time;STATUS CHECKPOINT_TIME FUZ CHECKPOINT_CHANGE# ROW_NUM------- ---------------------------------------- --- ------------------ ----------------OFFLINE 2025-10-02 06:50:06 NO 17328662858685 1ONLINE 2025-10-02 06:50:06 NO 17328662858685 10SQL> alter database datafile 11 online;Database altered.
然后重建ctl,并尝试打开库

SQL> select distinct owner,segment_name,segment_type from dba_extents where file_id=11;OWNER SEGMENT_NAME SEGMENT_TYPE------------------------------ -------------------------------------- ------------------SYS SYSTEM ROLLBACKSYS I_COL1 INDEXSYS AUD$ TABLESQL> select owner,segment_name from dba_segments where HEADER_FILE=11;no rows selected
证明丢失的11号文件(system表空间文件),涉及的对象较少,而且不涉及核心字典,比如tab$,obj$,col$等非常核心对象,评估理论上应该不涉业务数据丢失,尝试直接expdp导出数据,但是很不幸,报ORA-00600: internal error code, arguments: [kdBlkCheckError], [11], [3], [18018]错误

文章转载自惜分飞,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




