《ORA-01152: 檔案 1 不是自一個夠早的備份中復原回來的》

oracle recovery practice - ora-01152


SQL> select file#,checkpoint_change# from v$datafile;
     FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1             392146
         2             392146
         3             392146
         4             392146
         5             392146
         6             392146
         7             392146
         8             392146
         9             392146
        10             392146
        11             392146
已選取 11 個資料列.
SQL> select file#,checkpoint_change# from v$datafile_header;
     FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1             404926
         2             404926
         3             404926
         4             404926
         5             404926
         6             404926
         7             404926
         8             404926
         9             404926
        10             404926
        11             404926
已選取 11 個資料列.
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
            392146
SQL> alter database open;
alter database open
*
 ERROR 在行 1:
ORA-01589: 必須為要開啟的資料庫使用 RESETLOGS 或 NORESETLOGS 選項

SQL> alter database open resetlogs;
alter database open resetlogs
*
 ERROR 在行 1:
ORA-01152: 檔案 1 不是自一個夠早的備份中復原回來的
ORA-01110: 資料檔 1: 'C:\ORACLE\ORADATA\ORACLEA\SYSTEM01.DBF'

SQL> recover database until cancel using backup controlfile;
ORA-00279: 必須變更 404924 建立於 06/13/2009 10:13:43 上 (對於繫線 1 而言)
ORA-00289: 建議 : C:\ORACLE\ARCHIVEDLOG\ARC00076.001
ORA-00280: 變更 404924 (屬於繫線 1) 是在序列 #76

指定日誌: {=suggested | filename | AUTO | CANCEL}
ORA-00308: 無法開啟存檔日誌 'C:\ORACLE\ARCHIVEDLOG\ARC00076.001'
ORA-27041: 無法開啟檔案
OSD-04002: 無法開啟檔案
O/S-Error: (OS 2) 系統找不到指定的檔案。

ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將有如下的錯誤
ORA-01152: 檔案 1 不是自一個夠早的備份中復原回來的
ORA-01110: 資料檔 1: 'C:\ORACLE\ORADATA\ORACLEA\SYSTEM01.DBF'

SQL> alter database open resetlogs;
alter database open resetlogs
*
 ERROR 在行 1:
ORA-01152: 檔案 1 不是自一個夠早的備份中復原回來的
ORA-01110: 資料檔 1: 'C:\ORACLE\ORADATA\ORACLEA\SYSTEM01.DBF'

SQL> shutdown immediate
ORA-01109: 尚未開啟此一資料庫

資料庫已卸載.
已關閉 ORACLE 執行處理.
SQL> startup mount
已啟動 ORACLE 執行處理.
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
資料庫已掛載.
SQL> recover database;
ORA-00283: 發生錯誤, 取消復原階段作業
ORA-01610: 必須完成使用 BACKUP CONTROLFILE 選項的復原作業

SQL> recover database using backup controlfile until cancel;
ORA-00279: 必須變更 404924 建立於 06/13/2009 10:13:43 上 (對於繫線 1 而言)
ORA-00289: 建議 : C:\ORACLE\ARCHIVEDLOG\ARC00076.001
ORA-00280: 變更 404924 (屬於繫線 1) 是在序列 #76

指定日誌: {=suggested | filename | AUTO | CANCEL}
ORA-00308: 無法開啟存檔日誌 'C:\ORACLE\ARCHIVEDLOG\ARC00076.001'
ORA-27041: 無法開啟檔案
OSD-04002: 無法開啟檔案
O/S-Error: (OS 2) 系統找不到指定的檔案。

ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將有如下的錯誤
ORA-01152: 檔案 1 不是自一個夠早的備份中復原回來的
ORA-01110: 資料檔 1: 'C:\ORACLE\ORADATA\ORACLEA\SYSTEM01.DBF'

SQL> alter database open resetlogs;
alter database open resetlogs
*
 ERROR 在行 1:
ORA-01152: 檔案 1 不是自一個夠早的備份中復原回來的
ORA-01110: 資料檔 1: 'C:\ORACLE\ORADATA\ORACLEA\SYSTEM01.DBF'

SQL> alter database backup controlfile to trace;
已更改資料庫.
SQL> shutdown immediate
ORA-01109: 尚未開啟此一資料庫

資料庫已卸載.
已關閉 ORACLE 執行處理.
--重建control file from user_dump_dest
SQL> @c:\createctl.sql
已啟動 ORACLE 執行處理.
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
已建立控制檔.
SQL> alter database open resetlogs;
已更改資料庫.