(題圖來自 VP , Sally Piao的攝影佳作,感謝攝影師授權(quán))
編輯手記:這一節(jié)我們將介紹多租戶中的備份與恢復,這篇文章來自一書的摘錄。
由于 PDB 的引入, 數(shù)據(jù)庫的備份和恢復也發(fā)生了很多變化,基于 PDB 級別的表空間、庫備份同時被支持。以下通過實際測試介紹一下12c中關(guān)于 PDB 的備份恢復過程。
⑴啟動歸檔模式
首先啟動數(shù)據(jù)庫的歸檔模式(需要以方式關(guān)閉數(shù)據(jù)庫,執(zhí)行模式更改):
根據(jù)數(shù)據(jù)庫的實際情況,設(shè)置閃回恢復區(qū)(注意在生產(chǎn)環(huán)境中設(shè)置合理的閃回區(qū)非常重要):
嘗試使用RMAN連接到數(shù)據(jù)庫,注意12c中增加了新的用戶用于備份管理,并且RMAN中開始支持簡單的SQL查詢語句:
通過的命令,可以列出數(shù)據(jù)庫中的表空間和文件信息等,在12c的輸出中,臨時表空間作為一個獨立的信息部分被顯示出來:
⑵對 PDB 執(zhí)行備份
在12c中支持對單個或多個PDB執(zhí)行獨立的備份操作,如類似如下命令示范備份多個或單個PDB:
操作也響應(yīng)的可以針對PDB級別來進行:
以下命令對CDB$ROOT進行備份:
以下是對單個常規(guī)PDB進行備份的執(zhí)行過程:
可以通過指定PDB名稱和表空間名稱的方式,對PDB中的表空間進行獨立備份,以下命令備份了名稱為ENMO的PDB內(nèi)部的ENMO表空間文件:
同樣在備份時可以指定PLUS 參數(shù),對歸檔日志進行同時備份,以下是常規(guī)的命令示范:
⑶對PDB及PDB文件執(zhí)行恢復
在執(zhí)行恢復時,可以針對PDB或者PDB中的表空間進行,以下范例通過對于PDB ENMO中的系統(tǒng)表空間恢復,演示PDB的恢復過程:
以下測試演示了對PDB中的單個表空間進行在線恢復的過程。如果某個表空間受損oracle表空間增加文件,可以執(zhí)行緊急的離線操作:
然后可以通過RMAN執(zhí)行基于單個表空間進行恢復:
恢復完成之后可以將表空間在線,這就完成了恢復:
⑷對 PDB 執(zhí)行不完全恢復
在12c中, 還支持基于單個 PDB 的不完全恢復,以下是一個示范的測試過程。
首先連接到 PDB,創(chuàng)建一個測試用戶:
接下來執(zhí)行對于全庫的基礎(chǔ)的全庫備份:
接下來我們在數(shù)據(jù)庫中執(zhí)行一個系列的數(shù)據(jù)操作oracle表空間增加文件,創(chuàng)建測試表,插入數(shù)據(jù),然后刪除部分數(shù)據(jù),記錄刪除前的 SCN 信息:
現(xiàn)在嘗試通過備份恢復數(shù)據(jù)庫至 SCN ,也就是刪除數(shù)據(jù)之前的時間點。
在恢復之前需要首先關(guān)閉 PDB,執(zhí)行 PDB 級別的 操作:
檢查數(shù)據(jù)表,數(shù)據(jù)已經(jīng)恢復到刪除前的記錄數(shù)量:
注意在不完全恢復過程中,需要產(chǎn)生輔助實例,在后臺會生成相應(yīng)的日志等目錄結(jié)構(gòu).以下是完成不完全恢復遺留在輔助目錄中的部分文件:
在輔助恢復中,生成了大量的臨時目錄和文件,以下是在我的測試環(huán)境中遺留的文件目錄:
以下是恢復過程中輔助實例告警日志記錄的內(nèi)容(保留部分重要內(nèi)容供讀者參考):
如何加入"云和恩墨大講堂"微信群