ORA-01122: 數據庫文件 1 驗證失敗


1.SQL>shutdown abort 如果數據庫是打開狀態,強行關閉

2.SQL>sqlplus / as sysdba

3.SQL>startup
ORACLE 例程已經啟動。

Total System Global Area 293601280 bytes
Fixed Size 1248624 bytes
Variable Size 121635472 bytes
Database Buffers 167772160 bytes
Redo Buffers 2945024 bytes
數據庫裝載完畢。
ORA-01122: 數據庫文件 1 驗證失敗
ORA-01110: 數據文件 1:
'F:/ORACLE/PRODUCT/10.2.0/DB_1/ORADATA/ORCLDW/SYSTEM01.DBF'
ORA-01207: 文件比控制文件更新 - 舊的控制文件

4.SQL>alter database backup controlfile to trace as 'f:/aa';
數據庫已更改。

5.SQL>shutdown immediate 如果數據庫是打開狀態,則關閉
ORA-01109: 數據庫未打開
已經卸載數據庫

6.SQL>startup nomount;
ORACLE 例程已經啟動。
Total System Global Area 105979576 bytes
Fixed Size 454328 bytes
Variable Size 79691776 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes

7.Editplus之類的編輯器打開在第四步生成的f:/aa文件;
其實在這個文件中的已經告訴你咋樣恢復你的數據庫了,找到STARTUP NOMOUNT字樣,然后下面可以看到類似語句,這個文件有好幾個類似的生成控制文件語句,主要針對不懂的環境執行不同的語句,象我的數據庫沒有做任何備份,也不是在歸檔模式,就執行這句
CREATE CONTROLFILE REUSE DATABASE "ORCLDW" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'F:/ORACLE/PRODUCT/10.2.0/DB_1/ORADATA/ORCLDW/REDO01.LOG' SIZE 50M,
GROUP 2 'F:/ORACLE/PRODUCT/10.2.0/DB_1/ORADATA/ORCLDW/REDO02.LOG' SIZE 50M,
GROUP 3 'F:/ORACLE/PRODUCT/10.2.0/DB_1/ORADATA/ORCLDW/REDO03.LOG' SIZE 50M
DATAFILE
'F:/ORACLE/PRODUCT/10.2.0/DB_1/ORADATA/ORCLDW/SYSTEM01.DBF',
'F:/ORACLE/PRODUCT/10.2.0/DB_1/ORADATA/ORCLDW/UNDOTBS01.DBF',
'F:/ORACLE/PRODUCT/10.2.0/DB_1/ORADATA/ORCLDW/SYSAUX01.DBF',
'F:/ORACLE/PRODUCT/10.2.0/DB_1/ORADATA/ORCLDW/USERS01.DBF',
'F:/ORACLE/PRODUCT/10.2.0/DB_1/ORADATA/ORCLDW/EXAMPLE01.DBF'
CHARACTER SET ZHS16GBK
;
執行上面這段語句,這個語句重建控制文件,然后你可以看着f:/aa文件完成下面的恢復工作了,

8.SQL>RECOVER DATABASE (恢復指定表空間、數據文件或整個數據庫)

9.SQL>ALTER DATABASE OPEN 打開數據庫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM