Oracle自動RMAN備份windows版

exp備份腳本-linux版:
注意 exp語句空格只能有1個,連續(xù)空格需要刪除多余

#!/bin/sh


export ORACLE_BASE=/u01
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=jisen
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
#define variable....
backup_date=`date +%Y%m%d`
bak_home=/u01
backup_dest=/backup/date
backup_log=/backup/log
RECIPT='jisen@mail.com'


# Check local disk space..................................
USED=` df -k|grep $bak_home|awk '{print $5}'|awk -F% '{print $1}'`
if [ $USED -gt 85 ]; then
       echo "Disk space is full\243\254please check it"|mail -s "exp full backup failed"  $RECIPT
       exit 1
fi
#starting exp backup.....
exp system/ORAIDA full=y buffer=65536   file=$backup_dest/data_$backup_date.dmp  log=$backup_log/data_$backup_date.log
# delete expired  backup ...
list=` find $backup_dest -mtime +7`
echo $list
rm -f $list
if [ $? -ne 0 ]; then
       cat $backup_log/data_$backup_date.log|mail -s "exp full backup failed,please check it"  $RECIPT
       exit 1
fi
cat $backup_log/data_$backup_date.log|mail -s "$backup_date exp log "  $RECIPT

rman備份腳本fullbak.sql:

run {
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
backup full tag 'yangs' database include current controlfile format 'd:\orclbak\backup\full_%d_%T_%s' plus archivelog format 'd:\orclbak\backup\arch_%d_%T_%s' delete all input;
delete noprompt obsolete;
}

自動執(zhí)行上述腳本的bat文件

d:
cd D:\orclbak\script
rman target / msglog d:\orclbak\log\%date:~0,4%%date:~5,2%%date:~8,2%.log cmdfile=D:\orclbak\script\fullbak.sql

設(shè)置計劃任務(wù)

開始 -->管理工具 -->任務(wù)計劃 -->創(chuàng)建基本任務(wù)
將bat文件添加到任務(wù)計劃中即可。

補充說明:

文件名中的日期:

log日志文件采用的是DOS的date命令:


image.png
echo %date:~0,4%%date:~5,2%%date:~8,2%

RMAN備份文件采用的是Oracle提供的格式化功能:

%c 備份片的拷貝數(shù) 
%d 數(shù)據(jù)庫名稱 
%D 位于該月中的第幾天 (DD) 
%M 位于該年中的第幾月 (MM) 
%F 一個基于DBID唯一的名稱,這個格式的形式為c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII為該數(shù)據(jù)庫的DBID,YYYYMMDD為日期,QQ是一個1-256的序列 
%n 數(shù)據(jù)庫名稱,向右填補到最大八個字符 
%u 一個八個字符的名稱代表備份集與創(chuàng)建時間 
%p 該備份集中的備份片號,從1開始到創(chuàng)建的文件數(shù) 
%U 一個唯一的文件名,代表%u_%p_%c 
%s 備份集的號 
%t 備份集時間戳 
%T 年月日格式(YYYYMMDD)

備份命令

RMAN提供幾個備份命令可以方便的備份數(shù)據(jù)庫

全庫備份,并且備份歸檔日志:
backup full tag 'yangs' database include current controlfile format 'd:\orclbak\backup\full_%d_%T_%s' plus archivelog format 'd:\orclbak\backup\arch_%d_%T_%s' delete all input;

備份冗余策略:保留2份備份集:

CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

刪除不再需要的備份集

delete noprompt obsolete;

備份集是否obsolete由冗余策略決定。

歸檔日志備份腳本archback.sql:

run {
  backup archivelog all format ’d:\backup\eyglearch_%d_%T_%s’ delete all input;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容