Oracle DB提供了多種備份還原機制(Backup n Recovery Mechanism)來因應不同層級的備份需求. 其中主要可分為 Cold Backup(冷備份)與 Hot Backup(熱備份). Cold Backup 需在資料庫關閉的情況下進行, Hot Backup 則可在資料庫運行時備份. 這兩種備份機制各有其優缺點,端看組織需求來決定採用何種備份機制.
基於成本考量,並非所有組織都有額外的測試機來執行備份還原演練,但這卻是資安演練中不可獲缺的一環. 因此這個案例要在不影響 Production 的運作前提下,將每日 Production 的 Cold Backup 檔案,使用不同的 SID 與檔案目錄還原至同一台 Production 主機上,驗證該 Cold Backup 的有效性.
步驟:
1. 將每日備份的 cold backup files,完整複製(不包含 control files)至新目錄下.
2. 由 Production 的 spfile 來產生新 pfile,並修改相關參數至對應的 SID 與新目錄路徑.
SQL> create pfile from spfile;
3. 由 Production 的 crontol file 來建立一個文字型態的新 control file.
SQL> alter database backup controlfile to trace;
4. 編輯該 crontol file,複製由 CREATE CONTROLFILE SET DATABASE 開頭至 CHARACTER SET ZHT16MSWIN950 結尾的段落至新檔案 new_control.sql. 調整檔案內容至新的路徑與 DBNAME,並將 REUSE 改為 SET,NORESETLOG 改為 RESETLOG.
5. 修改 OS oracle user profile 的相關參數(ex:ORACLE_SID)
6. 使用修改過的 pfile 來啟動新 DB 至 NOMOUNT 狀態
SQL> startup nomount pfile='/u02/app/oracle/pfile';
7. 執行調整過的 new_control
SQL> @new_control.sql;
8. 將 DB 啟動至 OPEN 狀態
SQL> alter database open resetlogs;
最後可透過 select v$instance 與 v$recovery_log 來確定新 DB 已經開啟至正確狀態.
沒有留言:
張貼留言