RMAN詳細教程(四):備份腳本實戰操作


RMAN詳細教程(一):基本命令代碼
RMAN詳細教程(二):備份、檢查、維護、恢復
RMAN詳細教程(三):備份腳本的組件和注釋
RMAN詳細教程(四):備份腳本實戰操作
  

1、為了安全起見,先將數據庫完全導出:

exp 用戶名/密碼@ORACLE file=/backup/ecology_$(date '+%Y%m%d').dmp full=y;
 

2、因為是數據庫操作,所以應切換成Oracle用戶:

su - oracle
 

3、檢查數據庫是否打開歸檔模式,如否,則打開SQLPLUS執行以下命令:

archive log list;
alter system set log_archive_dest_n='location=/u01/backupws ';
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;

 

4、將rman腳本文件放置到backup_sh目錄下:

(1)全庫備份(一周三次)
rman_ecology_all.sh

run {
    allocate channel a1 device type disk format '/backup/ecology_all_%T_%u';
    allocate channel a2 device type disk format '/backup/ecology_all_%T_%u';
    backup database skip offline plus archivelog delete all input;
    backup current controlfile;
    release channel a1;
    release channel a2;
}
    allocate channel for maintenance device type disk;
    delete obsolete;
    crosscheck backupset;

 
(2)歸檔日志備份(一周四次)
rman_ecology_arc.sh

run {
    allocate channel b1 device type disk format '/backup/ecology_arc_%T_%u';
    allocate channel b2 device type disk format '/backup/ecology_arc_%T_%u';
    backup archivelog all;
    backup current controlfile;
    release channel b1;
    release channel b2;
}
    allocate channel for maintenance device type disk;
    crosscheck backupset;

 

5、編寫RMAN腳本的運行腳本:

mkdir -p /backup/ # 創建目錄(-p表示不存在則新建,若存在則忽略)
touch run_rman_ecology_all.sh # 創建all運行腳本
touch run_rman_ecology_arc.sh # 創建arc運行腳本

vi run_rman_ecology_all.sh

export ORACLE_HOME=/u01/app/oracle/product/10.2/db_1
export ORACLE_SID=ecology
/u01/app/oracle/product/10.2/db_1/bin/rman target / log=/backup/all_ecology_$(date +%F).log cmdfile=/backup_sh/rman_ecology_all.sh
vi run_rman_ecology_arc.sh

export ORACLE_HOME=/u01/app/oracle/product/10.2/db_1
export ORACLE_SID=ecology
/u01/app/oracle/product/10.2/db_1/bin/rman target / log=/backup/arc_ecology_$(date +%F).log cmdfile=/backup_sh/rman_ecology_arc.sh

 

6、添加執行權限:

chmod +x /backup_sh/run_rman_ecology_all.sh
chmod +x /backup_sh/run_rman_ecology_arc.sh
PS:
需使用root用戶。
 

7、手動測試腳本,成功之后再下一步。

若報錯,則直接打開/var/spool/mail/登陸用戶名,查看日志並改正。
 

8、添加定時任務:

周三五七晚20:00全庫,周一二四六晚20:00歸檔日志

crontab -e

00 20 * * 0,3,5 sh /backup_sh/run_rman_ecology_all.sh >> /backup/rman_crontab_all.log 2>&1
00 20 * * 1,2,4,6 sh /backup_sh/run_rman_ecology_arc.sh >> /backup/rman_crontab_arc.log 2>&1

格式是“分 時 日 月 周 要執行的命令或腳本”。
 

9、重啟計划任務:

service cron restart
 
 
啊!總算完成了~~~
本來只是因為網上Rman的教程不系統化,想自己寫一篇造福人類而已。
寫着寫着發現一篇寫不下,太雜亂了ψ(*`ー´)ψ
於是就變成了兩篇...然后是三篇....最后擴展成了四篇......
歷時一個月,也算完成一個系列筆記了吧(^_−)☆


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM