ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle备份脚本

oracle备份脚本

原创 Linux操作系统 作者:skuary 时间:2011-12-28 15:22:33 0 删除 编辑
如下为公司线上库的0级备份脚本:
 
# incremental level 0 backup script
export SHELL=/bin/bash
export NLS_LANG=american_america.ZHS16GBK
export PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
export BASH_ENV=/home/oracle/.bashrc
export ORACLE_HOME=/oracle/product/10.2.0/db_1
export LD_LIBRARY_PATH=/oracle/product/10.2.0/db_1/lib:/lib:/usr/lib
export pwd=`cat /home/oracle/pwd.txt`
export spwd=`cat /home/oracle/spwd.txt`
source /home/oracle/.bash_profile
current_day=`date +%Y%m%d`
mkdir /rman/$current_day
TMP_VAL=`sqlplus -S mynet_app/$pwd@yesmynet1 << !
set heading off feedback off pagesize 0 verify off echo off numwidth 4
select to_char(sysdate-21,'YYYYMMDD') from dual;
exit;
!`
sqlplus -S mynet_app/$pwd@yesmynet1 > kasaur_ctime_$TMP_VAL.txt << !
set echo off
set feedback off
set newpage none
set linesize 2000
set verify off
set pagesize 0
set term off
set trims on
set heading  off 
set trimspool on
set trimout on
set timing off
SELECT to_char(sysdate-21+rownum-1,
               'yyyymmdd')
  FROM dual
CONNECT BY rownum <= 7;
commit;
exit;
!
while read kasaur
do
    if [ -d /rman/incr$kasaur ];
       then
                 rm -rf /rman/incr$kasaur
                fi
    if [ -d /rman/$kasaur ];
       then
                       rm -rf /rman/$kasaur
    fi
done < /home/oracle/kasaur_ctime_$TMP_VAL.txt
rman target / <
run {
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/rman/$current_day/PID-%F';
allocate channel ch1 device type disk connect sys/$spwd@yesmynet1;
allocate channel ch2 device type disk connect sys/$spwd@yesmynet2;
allocate channel ch3 device type disk connect sys/$spwd@yesmynet3;
sql 'alter system archive log current';
backup incremental level 0 tag='db0'
format '/rman/$current_day/%n_%T_%U' database;
backup archivelog all format '/rman/$current_day/arc_%n_%T_%U' archivelog until time 'sysdate-7' delete input;
release channel ch1;
release channel ch2;
release channel ch3;
}
EOF
echo 'Y' > /rman/tag_l0.txt

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

请登录后发表评论 登录
全部评论

注册时间:2011-03-31

  • 博文量
    88
  • 访问量
    316892