liunx导出oracle,oracle for linux 备份脚本

1.oracle账号的contab中加入以下,包含dp备份,rman备份和备份删除

########### delete archivelog and database backup #############################

00 07 * * * sh /exp/backup/delete.sh > /exp/backup/delete.log

########### rman backup ##############################################

00 23 * * 0 sh /exp/backup/incr0.sh > /exp/backup/incr0.log

30 23 * * 1,2,3,4,5,6 sh /exp/backup/incr1.sh > /exp/backup/incr1.log

30 11 * * * sh /exp/backup/export.sh > /exp/backup/export.log 2>&1

2.以下文件內容

###########/exp/backup/export.sh

#!/bin/sh

#function:using data pump backup database

export ORACLE_SID=$SID   #$SID 为oracle sid

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

export PATH=.:$ORACLE_HOME/bin:$PATH:.

action_time=`date +%Y_%m_%d`

del_time=`date -d "10 day ago"  +%Y_%m_%d`

echo action time:$action_time

filename=$SID_$action_time.dmp    #$SID 为oracle sid

logname=$SID_$action_time.log     #$SID 为oracle sid

#filedir=/u10/dump

expdp system/password content=all full=y  directory=dump dumpfile=$filename logfile=$logname

cd /u10/dump

mv *.gz *.log /u09/hisdp

tar -czvf $SID_$action_time.tar.gz $filename $logname        #$SID 为oracle sid

rm $filename

chmod 755 $SID_$action_time.tar.gz $logname            #$SID 为oracle sid

#del dump data

path="/u09/hisdp"

echo "delete dump data 10 day ago"

rm -rf $path/$SID_$del_time.tar.gz        #$SID 为oracle sid

rm -rf $path/$SID_$del_time.log           #$SID 为oracle sid

echo "delete 10 dump data OK!"

###############/exp/backup/incr0.sh

# RMAN level o backup

#!/bin/sh

export ORACLE_SID=$SID        #$SID 为oracle sid

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

export PATH=.:$ORACLE_HOME/bin:$PATH:.

rman target / << EOF

run

{

allocate channel d1 type disk maxpiecesize 4000m;

allocate channel d2 type disk maxpiecesize 4000m;

allocate channel d3 type disk maxpiecesize 4000m;

allocate channel d4 type disk maxpiecesize 4000m;

backup current controlfile format '/u09/orabackup/$SID/full/control/full_1_%d_%s_%p_%c.ctl';

backup incremental level 0 database format '/u09/orabackup/$SID/full/full_db_%d_%s_%p_%c.dbfbk'

plus archivelog delete input format '/u09/orabackup/$SID/full/full_log_%d_%s_%p_%c.dbfbk';

backup current controlfile format '/u09/orabackup/$SID/full/control/full_2_%d_%s_%p_%c.ctl';

release channel d4;

release channel d3;

release channel d2;

release channel d1;

}

exit

EOF

#################/exp/backup/incr1.sh

# RMAN level 1 backup

#!/bin/sh

export ORACLE_SID=$SID        #$SID 为oracle sid

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

export PATH=.:$ORACLE_HOME/bin:$PATH:.

rman target / << EOF

run

{

allocate channel d1 type disk maxpiecesize 4000m;

allocate channel d2 type disk maxpiecesize 4000m;

allocate channel d3 type disk maxpiecesize 4000m;

allocate channel d4 type disk maxpiecesize 4000m;

backup current controlfile format '/u09/orabackup/$SID/control/%d_%s_%p_%c.ctl';             #$SID 为oracle sid

sql 'alter system switch logfile';

backup incremental level 1 database FORMAT   '/u09/orabackup/$SID/db_%d_%s_%p_%c.dbfbk'      #$SID 为oracle sid

plus archivelog delete input  FORMAT   '/u09/orabackup/$SID/log_%d_%s_%p_%c.dbfbk';          #$SID 为oracle sid

release channel d4;

release channel d3;

release channel d2;

release channel d1;

}

exit

EOF

##################/exp/backup/delete.sh

#!/bin/bash

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

export PATH=.:$ORACLE_HOME/bin:PATH:.

#delete archivelog and database backup on primary database completed before 7 days

rman target sys/password@$SID  << EOF              #$SID 为oracle sid

delete force noprompt backup completed before 'sysdate-7';

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

exit;

EOF

#delete archivelog on standby database completed  before 7 days

rman target sys/password@$SB_SID << EOF         #$SB_SID 为standby oracle sid

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

exit;

EOF

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28539951/viewspace-1296700/,如需转载,请注明出处,否则将追究法律责任。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值