Oracle备份脚本

0 2 * * * sh /home/oracle/scripts/rman.sh emdb 1> /dev/null 2>&1

. ~oracle/.bash_profile

export ORACLE_SID=$1

BAKPATH=/u03/app/oracle/backup

DBNAME=`sqlplus -S / as sysdba <<EOF

set feedback off

set heading off

set pagesize 0

set linesize 100

set trimspool on

select value from v\\$parameter where name ='db_name';

EOF`

if [ ! -d "$BAKPATH/$DBNAME/" ]; then

        mkdir -p "$BAKPATH/$DBNAME/"

fi

if [ ! -d "$BAKPATH/log" ]; then

        mkdir -p "$BAKPATH/log"

fi

rman target / log=$BAKPATH/log/$DBNAME-full_`date +%Y%m%d%H%M`.log<<!

run{

allocate channel d1 device type disk;

allocate channel d2 device type disk;

allocate channel d3 device type disk;

allocate channel d4 device type disk;

allocate channel d5 device type disk;

allocate channel d6 device type disk;

backup as compressed backupset database format '$BAKPATH/$DBNAME/%d_Full_%s_%t';

sql 'alter system archive log current';

backup as compressed backupset archivelog all format '$BAKPATH/$DBNAME/%d_Arch_%s_%t' not backed up 1 times;

backup spfile format '$BAKPATH/$DBNAME/%d_SP_%s_%t';

backup current controlfile format '$BAKPATH/$DBNAME/%d_C_%s_%t';

RELEASE CHANNEL d1;

RELEASE CHANNEL d2;

RELEASE CHANNEL d3;

RELEASE CHANNEL d4;

RELEASE CHANNEL d5;

RELEASE CHANNEL d6;

}

crosscheck archivelog all;

crosscheck backupset;

delete noprompt expired backup;

delete noprompt expired archivelog all;

delete noprompt backup completed before 'sysdate-7';

delete noprompt force archivelog all completed before 'sysdate-7';

list backup summary;

exit

!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值