Oracle備份指令碼(RMAN/EXP)

來源:互聯網
上載者:User

環境:
 
OEL+Oracle 11.2.0.1
 
ORACLE_SID=orcl2
 
建立如下目錄:
 
[root@DBA2 /]$ mkdir /backup
[root@DBA2 /]$ mkdir /backup/0
[root@DBA2 /]$ mkdir /backup/1
[root@DBA2 /]$ mkdir /backup/2
[root@DBA2 /]$ mkdir /backup/3
[root@DBA2 /]$ mkdir /backup/4
[root@DBA2 /]$ mkdir /backup/5
[root@DBA2 /]$ mkdir /backup/6 

更改屬主:
 
[root@DBA2 ~]# chown -R oracle:dba /backup/

指令碼內容如下:
 
#########################################################
 
 ###                                                                  backup.sh                                                                            ###
 
 #########################################################
 
 ##設定環境變數
 
 export ORACLE_BASE=/opt/oracle
 export ORACLE_HOME=$ORACLE_BASE/product/OraHome
 export ORACLE_SID=orcl2
 export ORACLE_OWNER=oracle
 export ORACLE_TERM=vt100
 export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
 export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
 export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
 export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
 export PATH=$PATH:/usr/sbin
 export PATH=$PATH:/usr/bin
 NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
 export NLS_LANG 

 

NOW=`date +%w`
 rq=`date +%Y%m%d%H%M%S`
 RMAN=$ORACLE_HOME/bin/rman
 TARGET_CONNECT_STR=/
 RMAN_LOG_FILE=/backup/$NOW/$ORACLE_SID.backup_all_out.log
 CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`
 FILE_NAME=/backup/$NOW/$ORACLE_SID.$rq
 
 
 
 if [ "$NOW" = "0" ]
 then
        BACKUP_TYPE="INCREMENTAL LEVEL 0"
 else
        BACKUP_TYPE="INCREMENTAL LEVEL 1"
 fi
 
 ##邏輯備份
 exp system/oracle direct=Y full=y file=$FILE_NAME.logic log=/backup/$NOW/orcl2_logic_backup.log
 
 cat /backup/$NOW/orcl2_logic_backup.log >> $RMAN_LOG_FILE
 rm /backup/$NOW/orcl2_logic_backup.log
 
 
 ##物理備份
 CMD_STR="
 ORACLE_HOME=$ORACLE_HOME
 export ORACLE_HOME
 ORACLE_SID=$ORACLE_SID
 export ORACLE_SID
 rq=$rq
 export rq
 $RMAN target $TARGET_CONNECT_STR msglog $RMAN_LOG_FILE append <<EOF
 run{
 allocate channel c1 type disk;
 allocate channel c2 type disk;
 backup as compressed backupset $BACKUP_TYPE format '$FILE_NAME.DATAFILE_%s_%t.bak' database;
 sql 'ALTER SYSTEM ARCHIVE LOG CURRENT';
 backup as compressed backupset format '$FILE_NAME.ARCHIVELOG_%s_%t.bak'
 archivelog from time 'SYSDATE-3' until time 'SYSDATE' delete all input;
 release channel c1;
 release channel c2;
 delete noprompt expired backup;
 delete noprompt obsolete;
 }
 EOF
 "
 if [ "$CUSER" = "root" ]
 then
    su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
 else
    /usr/bin/ksh -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
 fi
 
 
 
 if [ "$RSTAT" = "0" ]
 then
    LOGMSG="ended successfully"
 else
    LOGMSG="ended in error"
 fi
 
 echo >> $RMAN_LOG_FILE
 echo Script $0 >> $RMAN_LOG_FILE
 echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
 echo >> $RMAN_LOG_FILE
 
 
exit $RSTAT

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.