資料庫備份與異機恢復——熱備份方式
資料庫備份與異機恢復——熱備份方式
在日常工作中,我們做的比較多的一項工作就是資料庫備份和恢復,因此有一套高效和方便的備份恢復機制顯得尤為重要,而rman備份正式這樣一種非常簡單和高效的方式,值得使用。
假設要求我們每一天都對資料庫做一次全備份,同時根據需要可能在第二天根據前一天的備份在另外一臺機器上完成資料庫恢復,並且恢復過程儘可能的快速有效,下面將演示這種場景下的備份和恢復過程。
首先我們可以在晚上12點左右執行備份操作,使用sys使用者連線需要備份的資料庫透過rman,然後執行備份指令碼
run{
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET;
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 8G;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'E:\oracle\db_BackupFroRman\ora_test_%U_%T';
BACKUP DATABASE PLUS ARCHIVELOG DELETE ALL INPUT;
BACKUP SPFILE INCLUDE CURRENT CONTROLFILE;
}
該指令碼執行後將產生的該資料庫的完整備份,包括引數檔案、控制檔案、資料檔案和歸檔日誌檔案,所有備份資料將儲存在我們指定的路徑下,這裡是E:\oracle\db_BackupFroRman\目錄下,同時最好將這些備份資料複製到一臺專門的備份機上,保障備份檔案的安全。
在第二天進行恢復前一天的備份資料的過程為:
1) 從備份機上複製出前一天的所有備份資料,儲存在一個目錄下,比如E:\ORACLE\DB_BACKUPFRORMAN\;
2) 使用oradim命令建立一個資料庫例項(在windows平臺需要)
3) 登入rman開始恢復引數檔案:
SET DBID 2128249921
這裡2128249921為源資料庫的資料庫ID。
STARTUP NOMOUNT;
run{
RESTORE SPFILE TO PFILE 'D:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\INITTESTCP.ORA' FROM 'E:\ORACLE\DB_BACKUPFRORMAN\ORA_TEST_0COOUFFQ_1_1_20131114';
SHUTDOWN IMMEDIATE;
}
以上就生成了一個文字型別的pfile,然後可以直接開啟記事本對控制檔案或資料檔案或閃回區或歸檔日誌等的檔案路徑進行修改,然後生成spfile,並重啟:
SET DBID 2128249921
sql "create spfile from pfile";
startup nomount ;
4) 重建好控制檔案和資料檔案等其他檔案所在的目錄,比如資料檔案目錄F:\oracle\oradata\testcp ,閃回區目錄 E:\oracle\fast_recovery_area\testcp。
5) 將資料庫啟動到nomount狀態下,恢復控制檔案:
run{
restore controlfile from 'E:\ORACLE\DB_BACKUPFRORMAN2\ORA_TEST_0COOUFFQ_1_1_20131114';
alter database mount;
}
6) 將資料庫啟動到mount狀態下,恢復資料庫,並恢復資料庫到一致性狀態(比如指定恢復到在備份集中最後一個歸檔日誌時的狀態):
catalog start with 'E:\oracle\db_BackupFroRman';
sql "alter database rename file ''E:\oracle\oradata\test\REDO01.log'' to ''F:\oracle\oradata\testcp\redo01.log''";
sql "alter database rename file ''E:\oracle\oradata\test\REDO02.log'' to ''F:\oracle\oradata\testcp\redo02.log''";
sql "alter database rename file ''E:\oracle\oradata\test\REDO03.log'' to ''F:\oracle\oradata\testcp\redo03.log''";
run{
set newname for database to 'F:\oracle\oradata\testcp\%b';
set until SEQUENCE 574;
restore database;
switch datafile all;
recover database;
}
7) 開啟資料庫:
ALTER DATABASE OPEN RESETLOGS;
注意上面SEQUENCE 574表示這裡只恢復到第573號重做日誌檔案後即結束恢復該數值需要根據實際的備份資料進行修改;另外以上的路徑也都要根據實際情況進行修改。
只需要上面簡單的幾個步驟,我們就完成了一個基本的資料庫備份和異機恢復過程,經測試在普通pc機上,20GB的資料備份,整個恢復在30分鐘左右,完全可以滿足目前的要求。進一步的可以將備份指令碼加入到作業系統的計劃任務中定時執行,自動化的完成備份工作,從而改善我們的工作效率。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29306197/viewspace-776816/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle備份恢復之熱備份恢復及異機恢復Oracle
- 備份與恢復:polardb資料庫備份與恢復資料庫
- 【備份恢復】從備份恢復資料庫資料庫
- postgresql備份與恢復資料庫SQL資料庫
- mongo資料庫備份與恢復Go資料庫
- 資料庫的備份與恢復資料庫
- Informix資料庫備份與恢復ORM資料庫
- Oracle資料庫備份與恢復之匯出/匯入(EXP/IMP)、熱備份和冷備份Oracle資料庫
- Oracle資料庫備份與恢復之三:OS備份/使用者管理的備份與恢復Oracle資料庫
- 非RMAN熱備份資料庫和恢復資料庫
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- Oracle資料庫的備份與恢復方式比較Oracle資料庫
- Oracle資料庫的冷備份及冷備份異地恢復方法Oracle資料庫
- 【備份恢復】noarchive模式下使用增量備份恢復資料庫Hive模式資料庫
- mysql的資料庫備份與恢復MySql資料庫
- oracle資料庫的備份與恢復Oracle資料庫
- 資料庫備份與恢復技術資料庫
- rman資料庫全庫備份與恢復資料庫
- Oracle資料庫冷備份的異地恢復Oracle資料庫
- 用 RMAN 備份異機恢復 遷移資料
- Mysql資料備份與恢復MySql
- oracle冷備份、恢復和異機恢復Oracle
- Oracle資料庫的熱備份與完整恢復測試 (2)Oracle資料庫
- Oracle資料庫的熱備份與完整恢復測試 (1)Oracle資料庫
- Oracle資料庫冷備份與熱備份操作梳理Oracle資料庫
- Oracle資料庫備份與恢復之RMANOracle資料庫
- 關閉資料庫的備份與恢復資料庫
- Oracle資料庫的備份與恢復(轉)Oracle資料庫
- 資料庫備份與恢復----第一課資料庫
- Oracle 資料庫的備份與恢復(轉)Oracle資料庫
- 課時7-備份與恢復----資料庫備份策略指令碼資料庫指令碼
- 備份與恢復--從備份的歸檔日誌中恢復資料
- 同平臺異機備份恢復
- 達夢資料庫備份恢復資料庫
- 備份和恢復postgreSQL資料庫SQL資料庫
- Redis的資料備份與恢復Redis
- RMAN備份恢復——RAC環境資料庫的備份(zt)資料庫
- RMAN備份恢復--RAC環境資料庫的備份(十)資料庫