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 expdp/impdp 及 exp/imp 命令詳解
使用Oracle數(shù)據(jù)庫的過程中會經(jīng)常對數(shù)據(jù)進行導入導出,Oracle 數(shù)據(jù)庫提供 expdp / impdp (Data Pump,數(shù)據(jù)泵)以及 exp / imp 兩種工具進行數(shù)據(jù)的導入導出,可以對數(shù)據(jù)庫進行邏輯備份,這篇文章主要介紹了Oracle expdp/impdp 及 exp/imp 命令詳解,需要的朋友可以參考下2024-07-07
Oracle連接出現(xiàn)ora-12154無法解析指定的連接標識符
這篇文章主要介紹了Oracle連接出現(xiàn)ora-12154無法解析指定的連接標識符,需要的朋友可以參考下2017-03-03
oracle正則表達式多項匹配時相似項有優(yōu)先級詳解
這篇文章主要給大家介紹了關于oracle正則表達式多項匹配時相似項有優(yōu)先級的相關資料,Oracle中使用正則表達式需先使用REGEXP_LIKE函數(shù)來匹配字符串,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-06-06
Oracle 跨庫 查詢 復制表數(shù)據(jù) 分布式查詢介紹
這篇文章主要介紹了Oracle 跨庫 查詢 復制表數(shù)據(jù) 分布式查詢的相關資料,需要的朋友可以參考下2014-10-10
Linux中Oracle安裝后bash:?sqlplus:?command?not?found問題解決方法
這篇文章主要給大家介紹了關于Linux中Oracle安裝后bash:?sqlplus:?command?not?found問題的解決方法,這是因為你的系統(tǒng)中沒有安裝Oracle數(shù)據(jù)庫客戶端或者其可執(zhí)行文件路徑未配置到,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-06-06

