Oracle数据恢复ORA-01251: Unknown File Header Version read for file number 7
Oracle数据恢复 ORA-01251: Unknown File Header Version read for file number 7
今天在公司帮开发部门打开一个测试库,到open状态时,报以下错误:
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01122: database file 6failed verification check
ORA-01110: data file 6: '/u02/oradata/crmdb/test01.dbf'
ORA-01251: Unknown File Header Version read for file number 6
提示数据文件6的文件头信息已经损坏,不能正确读取
分三种情况恢复:
第一.非归档模式 则会丢失这个表空间下的所有数据
fix:
Drop the datafile and the associated tablespace.
1. Connect to the database as a user with SYSDBA privileges.
SVRMGRL>connect sys/
2. Mount the database.
SVRMGRL>startup mount;
3. Drop the datafile specified in the error message.
SVRGMRL>alter database datafile '
4. Open the database.
SVRMGRL>alter database open;
5. Drop the tablespace associated with the datafile.
SVRMGRL>drop tablespace '
第二.归档模式,并且创建这个数据文件以来的归档日志都在
1. The database needs to be in Archive log mode.
2. You need to have all the Archive log file from the time the datafile was created .
3. The control file should have datafile created information.If the controlfile was re-created
after the datafile was created then the below solution will not work and step 2 will
error with ORA-01178
Steps to be followed
====================
Step1 :-
Take the problematic datafile offline.
SQL> Alter database datafile '/oracle/test_lob12.dbf' offline;
Copy the file to an alternate backup location.
Step 2:-
Issue the following command to re-create the file :
SQL> Alter database create datafile '/oracle/test_lob12.dbf';
Step 3:-
Start applying the archive log file to recreate datafile.
SQL> Recover datafile '/oracle/test_lob12.dbf';
Step 4:-
When the recovery is finished, bring the datafile online.
SQL> Alter database datafile '/oracle/test_lob12.dbf' online;
3.用dul工具直接提取数据文件中的数据
这个提取数据难度就有点高。