oracle10g RMAN增量備份策略
最近為一個新庫做備份策略,今天簡單的寫了下來,供大家參考。
最開始的資料一般資料量在不大的情況下,最還每天做全備份是最好的,這樣在做故障恢復的時候是方便的,也是最簡單的,通常最簡單的方法是我們每個人追求的,複雜了自己也會繞在裡面容易出錯。
在隨著業務的增長,隨之帶來的資料量的增長之後,我們在考慮做增量備份,減少備份資料量減少了每次備份時間,降低了系統的持續負載,但同時增加了資料恢復的時間,我們通常要選擇折中的辦法。
rman 備份::
累積增量0級備份
## mgss_backup_level0.sh
run {
# Hot database level 0 whole backup
allocate channel t1 device type disk;
backup
incremental level 0
skip inaccessible
tag mgss_db_bk_level0
filesperset 5
format 'mgss_level0_%T_%t'
(database);
#備份歸檔日誌並刪除以節省磁碟空間
# backup archive logs
sql 'alter system archive log current';
backup
filesperset 20
format 'mgss_archivelog_%T_%t'
(archivelog all delete input);
}
累積增量1級備份
## mgss_backup_level1.sh
run {
# Hot database level 1 cumulative incremental backup
allocate channel t1 device type disk;
backup
incremental level 1
cumulative
skip offline
skip readonly
skip inaccessible
tag mgss_db_bk_level1_cum
filesperset 5
format 'mgss_level1_%s_%p_%t'
(database);
#備份歸檔日誌並刪除以節省磁碟空間
# backup all archive logs
sql 'alter system archive log current';
backup
filesperset 20
format 'mgss_archivelog_%s_%p_%t'
(archivelog all delete input);
}
累積增量2級備份
## mgss_backup_level2.sh
run {
# Hot database level 2 cumulative incremental backup
allocate channel t1 device type disk;
backup
incremental level 2
cumulative
skip offline
skip readonly
skip inaccessible
tag mgss_db_bk_level2_cum
filesperset 5
format 'mgss_level2_%s_%p_%t'
(database);
#備份歸檔日誌並刪除以節省磁碟空間
# backup archive logs
sql 'alter system archive log current';
backup
filesperset 20
format 'mgss_archivelog_%s_%p_%t'
(archivelog all delete input);
}
系統環境變數指令碼:
注意{0,1,2} 是三個檔名,這裡為了簡寫,偷懶了嘿嘿。
mgss_backup_level{0,1,2}_cron
#!/bin/bash
export ORACLE_SID=mgss
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/10g
export LD_LIBRARY_PATH=/u01/app/oracle/10g/lib:/lib:/usr/lib:/usr/local/lib:/usr/X11R6/lib
export TNS_ADMIN=/u01/app/oracle/10g/network/admin
export ORA_NLS33=/u01/app/oracle/10g/nls/data
export ORACLE_OWNER=oracle
export NLS_LANG='simplified chinese_china.zhs16gbk'
export PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/u01/
app/oracle/10g/bin
$ORACLE_HOME/bin/rman target / msglog=/backup/oracle/flash_recovery_area/MGSS/mgss_backup_level{0,1,2}.log
cmdfile=/home/oracle/mgss/mgss_backup_level{0,1,2}.sh;
Cron 任務:
30 23 * * 0 sh /home/oracle/mgss/mgss_backup_level0_cron
30 23 * * 1,2,4,5,6 sh /home/oracle/mgss/mgss_backup_level2_cron
30 23 * * 3 sh /home/oracle/mgss/mgss_backup_level1_cron
邏輯備份::
mgss_backup_logical.sh
#!/bin/bash
EXP_PATH=/backup/oracle/logical
EXPFILE=$EXP_PATH/`date '+mgss_%Y%m%d%H.dmp'`
LOGFILE=$EXP_PATH/`date '+mgss_%Y%m%d%H.log'`
exp epns/gs consistent=y compress=n FULL=Y rows=y buffer=40960000 file=$EXPFILE log=$LOGFILE;
#刪除前三天的備份檔案
/usr/bin/find $EXP_PATH -type f -mtime +3 -exec rm {} ;
Cron 任務:
30 3 * * 0 sh /home/oracle/mgss/mgss_backup_logical.sh
©著作權歸作者所有:來自51CTO部落格作者andylhz的原創作品,如需轉載,請註明出處,否則將追究法律責任
備份恢復Oracle資料庫
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2370/viewspace-2821368/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rman 增量備份恢復
- 【RMAN】RMAN的備份保留策略
- 【rman備份策略】實驗
- dg丟失歸檔,使用rman增量備份恢復
- [20221028]rman使用tape與增量備份測試2.txt
- Oracle ADG環境下的RMAN備份策略Oracle
- 【RMAN】RMAN備份至ASMASM
- EXP增量備份
- Xtrabackup增量備份
- RMAN備份概述
- RMAN備份恢復典型案例——RMAN備份&系統變慢
- 使用RMAN增量備份處理Dataguard因歸檔丟失造成的gap
- RMAN備份進度
- rman 備份指令碼指令碼
- RMAN的備份原理
- MySQL 定時增量備份MySql
- oracle資料庫備份之exp增量備份Oracle資料庫
- Oracle RMAN備份實戰Oracle
- Oracle OCP(60):RMAN 備份Oracle
- RMAN備份恢復技巧
- RMAN增量恢復
- [20221020]奇怪的增量備份.txt
- 【RMAN】同時建立多個備份(建立多重備份)
- 【RMAN】在備庫執行rman備份時報錯RMAN-06820 ORA-17629
- RMAN備份詳解(轉載)
- [20190522]rman備份問題.txt
- RMAN 備份相關的概念
- 使用RMAN備份資料庫資料庫
- RMAN備份異機恢復
- 備份保留策略
- oracle 增量備份恢復驗證Oracle
- oracle 12c rman備份pdbOracle
- 利用RMAN備份重建資料庫資料庫
- 分享Oracle Rman的備份指令碼Oracle指令碼
- RMAN備份恢復效能優化優化
- RMAN備份中發現壞塊
- RMAN備份與恢復測試
- RMAN加密備份的三種方式加密