記錄當前資訊,插入一行資料(5),再觀察時間和scn號,再插入一行資料(6),再觀察時間和scn號,每次執行後都記錄這些資訊。commit
sql> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
session altered.
sql> select current_scn from v$database;
current_scn
-----------
2241126
sql> select sysdate from dual;
sysdate
-------------------
2021-02-15 09:54:53
sql> select * from hr.t1;
id----------12
34sql> insert into hr.t1 values(5);
1 row created.
sql> select current_scn from v$database;
current_scn
-----------
2241161
sql> select sysdate from dual;
sysdate
-------------------
2021-02-15 09:56:27
sql> commit;
commit complete.
sql> select current_scn from v$database;
current_scn
-----------
2241189
sql> select sysdate from dual;
sysdate
-------------------
2021-02-15 09:57:28
sql> insert into hr.t1 values(6);
1 row created.
sql> select current_scn from v$database;
current_scn
-----------
2241199
sql> select sysdate from dual;
sysdate
-------------------
2021-02-15 09:57:45
sql> commit;
commit complete.
sql> select current_scn from v$database;
current_scn
-----------
2241204
sql> select sysdate from dual;
sysdate
-------------------
2021-02-15 09:57:52
sql>
從上面記錄的資料,我們確定scn號為:2241189(插入5,然後commit的scn號),此時的時間為:2021-02-15 09:57:28
shutdown abort
將資料檔案全部乾掉
然後從我們的備份中拷貝回來:
啟動資料庫到mount狀態,並執行恢復
恢復命令:recover database unsing backup controlfile until time 『2021-02-15 09:57:28』;
sql> startup mount;
oracle instance started.
total system global area 838860800 bytes
fixed size 8626240 bytes
variable size 348131264 bytes
database buffers 473956352 bytes
redo buffers 8146944 bytes
database mounted.
sql> recover database unsing backup controlfile until time '2021-02-15 09:57:28';
ora-00905: missing keyword
sql> recover database unsing backup controlfile until time '2021-02-15 09:57:28';
ora-00905: missing keyword
sql> recover database using backup controlfile until time '2021-02-15 09:57:28';
ora-00279: change 2239494 generated at 02/14/2021 04:40:36 needed for thread 1
ora-00280: change 2239494 for thread 1 is in sequence #3
specify log:
ora-00279: change 2240089 generated at 02/14/2021 04:55:35 needed for thread 1
ora-00280: change 2240089 for thread 1 is in sequence #4
longer needed for this recovery
specify log:
media recovery complete.
sql>
恢復完成開啟資料庫,檢視,已經恢復完成
sql> alter database open resetlogs;
database altered.
sql> select * from hr.t1;
id----------12
345sql>
oracle基於時間點的不完全恢復
下面我們做乙個實驗,演示如何對oracle進行基於時間點的不完全恢復 在實驗之前請確保資料庫具有有效備份 獲取此時的時間並記錄下來 sql select to char sysdate,yyyy mm dd hh24 mi ss from dual to char sysdate,yy 2014 0...
Oracle資料庫不完全恢復
需要不完全恢復的情況 完全恢復由於歸檔日誌檔案丟失而失敗 丟失了資料檔案和乙個或多個未歸檔重做日誌檔案 使用控制檔案的備份開啟或恢復資料庫 在下列情況下,通常需要執行整個資料庫的不完全備份 重做日誌丟失 重做日誌未進行映象,並且在某個重做日誌歸檔前丟失了該日誌以及資料檔案。在丟失的重做日誌之後無法繼...
RMAN基於時間點的不完全恢復
備份 全庫備份。啟動資料庫到archivelog模式 rman target rman rman rman backup database plus archivelog delete input 刪除兩個使用者及相關表後。恢復部分內容 基於時間點的恢復。root ccj 2009 10 22 ll...