Backup And Recovery User's Guide-回退資料庫到拋棄的incarnation中的SCN

LuiseDalian發表於2014-02-28

回退資料庫到拋棄的incarnation中的SCN

閃回資料庫或帶有OPEN RESETLOGSDBPITR,使資料庫返回到之前的SCN,並拋棄了在這點之後的改變。

因為在這個點之後的SCN可以是被拋棄的改變,也可以是資料庫當前歷史中改變。

因此在FLASHBACK DATABASE中指定的目標SCN可能是模稜兩可的。                      

 

SCN不同,時間表示式和還原點不是模稜兩可的。

時間點表示式總是與那個時間當前的incarnation相關。

還原點總是與它被建立時incarnation相關。

這一點總是正確的,即使對於與被拋棄的incarnation相關的時間和還原點也是一樣。

資料庫的incarnation自動地被重置為在指定的時間或還原點被建立時的incarnation

 

你可能想使用閃回資料庫來使資料庫回退到父incarnation中的SCN,而這個SCN要比RESETLOGS SCN要晚。

RESETLOGS SCN處當前的incarnation路徑從舊的incarnation分枝出來。

這個圖說明了在incarnation分枝中SCN是如何產生的,甚至是在OPEN RESETLOGS建立新的incarnation之後。

資料庫在incarnation 3中的SCN 3000,這裡需要回退到被拋棄的incarnation 1中的SCN 1500

 

如果想回退到的SCN在直接祖先路徑中,或你想回退資料庫到一個還原點,不需要顯式的RESET DATABASE

但如果需要使用閃回資料庫來回退資料庫到一個被拋棄的incarnation中的還原點,則需要顯式的RESET DATABASE

練習:回退資料庫到被拋棄的incarnation分枝(閃回日誌備份,luise

--1. 使用SQL*Plus連線到目標資料庫,並確定閃回日誌包含足夠的資訊來閃回到指定的SCN

SELECT OLDEST_FLASHBACK_SCN FROM V$FLASHBACK_DATABASE_LOG;

--2. 確定閃回資料庫操作的目標incarnation,即父incarnationincarnation key

SELECT PRIOR_INCARNATION# FROM V$DATABASE_INCARNATION WHERE  STATUS = 'CURRENT';

--3. 啟動RMAN連線到目標資料庫

--4. 關閉資料庫,然後MOUNT

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

--5. 設定資料庫的incarnation為父incarnation. 這裡回退到incarnation1

RESET DATABASE TO INCARNATION 1;

--6. 執行FLASHBACK DATABASE命令,指定目標SCN

FLASHBACK DATABASE TO SCN 1500;

--7. 以只讀的方式開啟資料庫,根據需要執行一些查詢,確保邏輯損壞的影響已經被回退。

ALTER DATABASE OPEN READ ONLY;

--8. 使資料庫可以被更新

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER DATABASE OPEN RESETLOGS

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1097346/,如需轉載,請註明出處,否則將追究法律責任。

相關文章