rman,1 經典的增量備份案例

2021-12-30 00:56:49 字數 2609 閱讀 2290

一.備份策略:

1.星期天晚上 -level 0 backup performed(全備份) 2.星期一晚上 -level 2 backup performed 3.星期二晚上 -level 2 backup performed 4.星期三晚上 -level 1 backup performed 5.星期四晚上 -level 2 backup performed 6.星期五晚上 -level 2 backup performed 7.星期六晚上 -level 2 backup performed 如果星期二需要恢復的話,只需要1+2, 如果星期四需要恢復的話,只需要1+4, 如果星期五需要恢復的話,只需要1+4+5, 如果星期六需要恢復的話,只需要1+4+5+6. 自動備份:備份指令碼+crontab bakl0 bakl1 bakl2

二.執行的指令碼:

1.執行指令碼:

rman target / msglog=bakl0.log cmdfile=bakl0 (/表示需要連線的目標資料庫,msglog表示日誌檔案,cmdfile表示的是指令碼檔案) rman target / msglog=bakl1.log cmdfile=bakl1 rman target / msglog=bakl2.log cmdfile=bakl2 例項:rman target system/oracle@ora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0

完整的命令:/u01/oracle/product/10.2.0/bin/rman target system/oracle@ora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0

2.編寫rman備份指令碼: 0級備份指令碼:

把備份指令碼放到/u01/rmanbak/script目錄下面,vi bakl0,bakl0的內容為: run 1級備份指令碼: run

2級備份指令碼: run

3.編寫呼叫rman指令碼的shell指令碼:

呼叫0備份的shell指令碼 rmanbak0.sh為: #!/bin/bash source /home/oracle/.bash_profile /u01/app/oracle/11.2.0/db_home_1/bin/rman target / nocatalog cmdfile=/home/oracle/script/bakl0 msglog=/home/oracle/bakl0.log

呼叫1備份的shell指令碼 rmanbak0.sh為: #!/bin/bash source /home/oracle/.bash_profile /u01/app/oracle/11.2.0/db_home_1/bin/rman target / nocatalog cmdfile=/home/oracle/script/bakl1 msglog=/home/oracle/bakl0.log 呼叫2備份的shell指令碼 rmanbak0.sh為: #!/bin/bash source /home/oracle/.bash_profile /u01/app/oracle/11.2.0/db_home_1/bin/rman target / nocatalog cmdfile=/home/oracle/script/bakl2 msglog=/home/oracle/bakl0.log

4.編寫linux定時任務執行自動備份

[root@gc2 ~]#crontab -e -u oracle(該命令的意思是編輯oracle使用者的定時執行(-e,edit -u oracle,oracle使用者)) 分 時 日 月 星期(0代表星期天) 45 23 * * 0 /home/oracle/script/rmanbak0.sh(星期天的23:45會以oracle使用者的身份來執行命令) 45 23 * * 1 /home/oracle/script/rmanbak2.sh 45 23 * * 2 /home/oracle/script/rmanbak2.sh 45 23 * * 3 /home/oracle/script/rmanbak1.sh 45 23 * * 4 /home/oracle/script/rmanbak2.sh 45 23 * * 5 /home/oracle/script/rmanbak2.sh45 23 * * 6 /home/oracle/script/rmanbak2.sh

或者(用於測試): 使用oracle使用者新增例行任務: crontab -e 新開啟的視窗中新增一下內容: 0 24 * * * /home/oracle/bin/rmanbak0.sh (*/3 * * * * /home/oracle/bin/rmanbak0.sh) 注,括號內的可以是做測試的時候用的,每三分鐘執行一次備份,例為每天凌晨24點執行備份

#然後啟動crontab ,啟動crontab的命令: [root@gc2 ~]# service crond restart stopping crond: [ ok ] starting crond: [ ok ] #監控定時任務是否執行 [root@gc2 ~]# tail -f /var/log/cron

mar 10 21:28:04 gc2 crond[4435]: (cron) startup (v5.0) mar 10 21:30:01 gc2 crond[4445]: (root) cmd (/usr/lib/sa/sa1 1 1) mar 10 21:39:08 gc2 crond[4486]: (cron) startup (v5.0)

mysql增量備份幾種 mysql的增量備份

一 啟用 binary log 修改 mysql server 的系統設定檔案 eg.etc my.cnf 在 mysqld 區塊中加上 log bin mysql bin 選項,然後重新啟動 mysql server,例如 mysqld log bin 啟用後你應該可以在 mysql 的 data...

RMAN 增量備份 的 物件測試

在練習 rman incremental backup 時 參照 ocp tk 042 對於 rman 增量備份的物件 官網摘入如下 you can make incremental backups of databases,individual tablespaces or datafiles.顯...

rman增量備份,以及備份中的日誌切換

對資料庫做全備 rman backup as backupset format backup 20160119 whole d tag whole database rman sql alter system archive log current ps alter ssytem這一sql的意思是對...