ORACLE之不完全恢復 基於時間的恢復

2021-10-19 11:11:02 字數 3277 閱讀 4916

記錄當前資訊,插入一行資料(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...