数据库备份脚本

0级备份脚本(bak_lv_0)

#!/bin/bash
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=dbserver.localdomain
export ORACLE_SID=datacenter
export ORACLE_BASE=/arcerzhangoracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_UNQNAME=datacenter
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
export LANG=en_US
export NLS_LANG=american_america.AL32UTF8
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'


/arcerzhangoracle/app/oracle/product/11.2.0/db_1/bin/rman <<EOF 
connect target / 
run{
    allocate channel c1 type disk;
    allocate channel c2 type disk;
    backup incremental level 0 database format '/arcerzhangoracle/Rmanbackup/level0_%d_%s_%p_%u_%T.bkp';
    sql 'alter system archive log current';
    backup archivelog all delete input format '/arcerzhangoracle/Rmanbackup/log_%d_%s_%p_%u_%T.bkp';
    release channel c1;
    release channel c2;
}
crosscheck backup;
delete noprompt obsolete;
exit; 
EOF

 1级备份脚本(bak_lv_1)

#!/bin/bash
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=dbserver.localdomain
export ORACLE_SID=datacenter
export ORACLE_BASE=/arcerzhangoracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_UNQNAME=datacenter
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
export LANG=en_US
export NLS_LANG=american_america.AL32UTF8
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'


/arcerzhangoracle/app/oracle/product/11.2.0/db_1/bin/rman <<EOF 
connect target / 
run{
    allocate channel c1 type disk;
    allocate channel c2 type disk;
    backup incremental level 1 database format '/arcerzhangoracle/Rmanbackup/level1_%d_%s_%p_%u_%T.bkp';
    sql 'alter system archive log current';
    backup archivelog all delete input format '/arcerzhangoracle/Rmanbackup/log_%d_%s_%p_%u_%T.bkp';
    release channel c1;
    release channel c2;
}
crosscheck backup;
delete noprompt obsolete;
exit; 
EOF

 2级备份脚本(bak_lv_2)

#!/bin/bash
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=dbserver.localdomain
export ORACLE_SID=datacenter
export ORACLE_BASE=/arcerzhangoracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_UNQNAME=datacenter
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
export LANG=en_US
export NLS_LANG=american_america.AL32UTF8
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'


/arcerzhangoracle/app/oracle/product/11.2.0/db_1/bin/rman <<EOF 
connect target / 
run{
    allocate channel c1 type disk;
    allocate channel c2 type disk;
    backup incremental level 2 database format '/arcerzhangoracle/Rmanbackup/level2_%d_%s_%p_%u_%T.bkp';
    sql 'alter system archive log current';
    backup archivelog all delete input format '/arcerzhangoracle/Rmanbackup/log_%d_%s_%p_%u_%T.bkp';
    release channel c1;
    release channel c2;
}
crosscheck backup;
delete noprompt obsolete;
exit; 
EOF

 crontab中的定时任务脚本参考

00 03 * * 0 /home/oracle/BackupScripts/bak_lv_0 >> /home/oracle/RmanBackup/bak_lv_0.log
00 03 * * 1,2,4,5,6 /home/oracle/BackupScripts/bak_lv_2 >> /home/oracle/RmanBackup/bak_lv_2.log
00 03 * * 3 /home/oracle/BackupScripts/bak_lv_1 >> /home/oracle/RmanBackup/bak_lv_1.log
00 01 * * * /arcerzhangoracle/auto_bak_exp/auto_bak_expdp.sh

 

 

 

posted @ 2014-05-04 18:15  ArcerZhang  阅读(264)  评论(0编辑  收藏  举报