rman三個級別備份


原文出處:https://wenku.baidu.com/view/571295a658fafab069dc02d1.html

1. 建備份目錄 oradataback,2級目錄archback(放歸檔日志)、rmanscripts(備份腳本),

在rmanscripts下面建 rmanlevel0.sh rmanlevel1.sh rmanlevel2.sh 文件:

mkdir oradataback

--home/oracle/app/oradataback

chmod 775 oradataback

chown -R oracle:oinstall /home/oracle/app/oradataback

touch rmanlevel0.sh rmanlevel1.sh rmanlevel2.sh

賦權同上

2. vi 編輯3個文件:

 

0級備份文件:

--rmanlevel0.sh--

#!/bin/sh

# set porfile_env

export ORACLE_SID=eytdbs # rman level0 backup

rman log='/home/oracle/app/oradataback/db_rman0.log' append <<EOF

connect target /;

run

{

allocate channel c1 type disk;

backup as compressed backupset incremental level=0 database format '/home/oracle/app/oradataback/db_level0_%T_%U' tag='level0';

sql 'alter system archive log current';

backup archivelog all format '/home/oracle/app/oradataback/archback/db_arch_%T_%U' delete input;

release channel c1;

}

EOF

1級備份文件:

--rmanlevel1.sh--

#!/bin/sh

# set porfile_env

export ORACLE_SID=eytdbs # rman level0 backup

rman log='/home/oracle/app/oradataback/db_rman1.log' append <<EOF

connect target /;

run

{

allocate channel c1 type disk;

backup incremental level=1 database format '/home/oracle/app/oradataback/db_level1_%T_%U' tag='level1';

sql 'alter system archive log current';

backup archivelog all format '/home/oracle/app/oradataback/archback/db_arch_%T_%U' delete input;

release channel c1;

}

EOF

2級備份文件:

--rmanlevel2.sh--

#!/bin/sh

# set porfile_env

export ORACLE_SID=eytdbs # rman level0 backup

rman log='/home/oracle/app/oradataback/db_rman2.log' append <<EOF

connect target /;

run

{

allocate channel c1 type disk;

backup incremental level=2 database format '/home/oracle/app/oradataback/db_level2_%T_%U' tag='level2';

sql 'alter system archive log current';

backup archivelog all format '/home/oracle/app/oradataback/archback/db_arch_%T_%U' delete input;

release channel c1;

}

EOF

 

#說明:在oracle用戶下手動運行腳本的命令:sh rmanlevel2.sh

3. 加自動運行任務:

在root下設置,用vi編輯: #crontab -e

0 2 1 * * su – oracle -c /home/oracle/app/oradataback/rmanscripts/rmanlevel0.sh //每月1日2:00運行 0級備份

0 2 * * 0 su – oracle -c /home/oracle/app/oradataback/rmanscripts/rmanlevel1.sh //每周日2:00運行 1級備份

0 2 * * 1-6 su – oracle -c /home/oracle/app/oradataback/rmanscripts/rmanlevel2.sh //每周一周六2:00運行 2級增量備份

--查看添加的任務: crontab -l

--crontab的格式:

minutes|hours|day of month|month|day of week|

--啟動crond:

/sbin/service crond start //啟動服務

/sbin/service crond stop //關閉服務

/sbin/service crond restart //重啟服務

/sbin/service crond reload //重新載入配置

4. 測試結果:

可以自動運行,能成功的備份數據, 但有點小問題,

一是rman備份格式 %F 一直都用這個格式,但今天既然不認識了


免責聲明!

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



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