oracle rman自动备份脚本
#!/bin/sh
. /opt/oracle/.bash_profile
PWDoracle账号_SYS="/"
BAK_DIR="/opt/oracle/backup/oatest"
BEGIN_SEQ=$(
sqlplus -s ${PWD_SYS}' as sysdba' <<!
set linesize 1000; www.2cto.com
set serveroutput on;
set echo off;
set heading off;
set feedback off;
select max(sequence#) -1 from v\$archived_log;
!)
echo '——backup_begin————–'
echo $BEGIN_SEQ
echo 'backup start time '
date +'%Y-%m-%d %H:%M:%S'
$ORACLE_HOME/bin/rman <<!
connect target ${PWD_SYS};
backup full database maxsetsize 20G format '${BAK_DIR}_%T_%s_%p.dbf';
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup archivelog from sequence ${BEGIN_SEQ} maxsetsize 20G format '${BAK_DIR}_%T_%s_%p.arc'; www.2cto.com
backup spfile maxsetsize 10G format '${BAK_DIR}_%T_%s_%p.spf';
backup current controlfile maxsetsize 10G format '${BAK_DIR}_%T_%s_%p.ctl';
restore database validate;
delete noprompt obsolete;
!
echo 'backup end time'
date +'%Y-%m-%d %H:%M:%S'
echo '——backup_end————–'
#crosscheck backupset;
#crosscheck archivelog all;
#delete expired backupset;
#delete expired archivelog all;
#0 4 * * * /opt/oracle/backup/oatest/backup_rman.sh >> /opt/oracle/backup/oatest/backup_rman.log 2>&1 &