Linux服務器下oracle實現(xiàn)rman自動備份的方式
一、概述
為確保oracle數(shù)據(jù)庫數(shù)據(jù)的安全和一致性,一般我們都需要利用備份手段進行數(shù)據(jù)庫的備份。在oracle數(shù)據(jù)庫中,rman因其強大的功能和完善的手段,成為數(shù)據(jù)庫備份的首選。Linux服務器中,要實現(xiàn)自動腳本備份,一般都是通過root用戶設置crond定時任務執(zhí)行腳本完成(oracle用戶執(zhí)行調取的涉及到環(huán)境變量等配置問題,弄起來更麻煩),故以下通過兩種方式配置腳本,實現(xiàn)rman自動備份。
二、腳本實現(xiàn)
2.1,rman備份腳本編寫
2.1.1,數(shù)據(jù)文件備份
此處我分配4個本地通道進行備份,通道指定備份路徑(自己掛載的備份盤)。具體備份語句如下:
run{
allocate channel c1 type disk format '/backup/hpdb_%d_DB_%u_%T';
allocate channel c2 type disk format '/backup/hpdb_%d_DB_%u_%T';
allocate channel c3 type disk format '/backup/hpdb_%d_DB_%u_%T';
allocate channel c4 type disk format '/backup/hpdb_%d_DB_%u_%T';
sql 'alter system archive log current';
backup full (database include current controlfile);
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}2.1.2,歸檔日志文件備份
歸檔日志備份時,為避免有時候人工刪除文件導致備份失敗,我們每次備份進行crosscheck,確保備份成功,且對備份成功的歸檔日志文件進行刪除,確保目錄空間不被撐滿,具體如下:
crosscheck archivelog all;
run{
allocate channel c1 type disk format '/backup/arch_%d_DB_%u_%T';
allocate channel c2 type disk format '/backup/arch_%d_DB_%u_%T';
allocate channel c3 type disk format '/backup/arch_%d_DB_%u_%T';
sql 'alter system archive log current';
backup (archivelog all delete input);
release channel c1;
release channel c2;
release channel c3;
}2.2,任務腳本編寫
任務腳本我們可以有兩種方式進行編寫,具體如下:
2.2.1,方式一
find /backup -type f -mtime +5 | xargs rm -f su - oracle -c "rman target / cmdfile=/home/oracle/backup/backup.sh msglog=/home/oracle/backup/rman.log"
2.1.2,方式二
第二種方式我們可以通過全腳本的形式寫入到內部進行
su - oracle -c "rman target / << !EOF
run{
allocate channel c1 type disk format '/backup/hpdb_%d_DB_%u_%T';
allocate channel c2 type disk format '/backup/hpdb_%d_DB_%u_%T';
allocate channel c3 type disk format '/backup/hpdb_%d_DB_%u_%T';
allocate channel c4 type disk format '/backup/hpdb_%d_DB_%u_%T';
sql 'alter system archive log current';
backup full (database include current controlfile);
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
quit
!EOF
"三、配置定時任務
我們配置每天晚上10點進行相應的備份任務,進行crond配置如下:
crontab -e 00 22 * * * sh /home/oracle/backupcrond.sh
到此這篇關于Linux服務器下oracle實現(xiàn)rman自動備份的方式的文章就介紹到這了,更多相關Linux oracle rman自動備份內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Oracle使用觸發(fā)器和mysql中使用觸發(fā)器的案例比較
這篇文章主要介紹了Oracle使用觸發(fā)器和mysql中使用觸發(fā)器的案例比較,本文通過示例講解,給大家介紹的非常詳細,需要的朋友參考下2016-12-12
Oracle數(shù)據(jù)庫 DGbroker三種保護模式的切換
這篇文章主要介紹了Oracle數(shù)據(jù)庫 DGbroker三種保護模式的切換 的相關資料,需要的朋友可以參考下2015-12-12
Oracle數(shù)據(jù)庫執(zhí)行腳本常用命令小結
這篇文章主要介紹了Oracle數(shù)據(jù)庫執(zhí)行腳本常用命令小結的相關資料,需要的朋友可以參考下2015-12-12
Oracle執(zhí)行計劃及性能調優(yōu)詳解使用方法
在Oracle數(shù)據(jù)庫中,通過使用EXPLAIN PLAN、AWR、SQL Trace等工具可以對SQL性能進行詳細分析,EXPLAIN PLAN可以展示SQL執(zhí)行計劃和關鍵性能指標如操作類型、成本、行數(shù)等,本文給大家介紹Oracle執(zhí)行計劃及性能調優(yōu)詳解使用方法,感興趣的朋友跟隨小編一起看看吧2024-09-09

