2007年12月19日
back oracle script
#!/bin/sh
ORACLE_SID=test
BACKUP_DEST=/backup/cpio/test
ORACLE_SID=test
BACKUP_DEST=/backup/cpio/test
case $1 in
RMAN)
export ORACLE_SID=rman
export BACKUP_DEST=/backup/cpio/rman
break ;;
*)
echo "Usage :RMAN"
exit
;;
esac
BEGIN_TIME=`date`
DAY_D=`date +%m%d`
DAY=`date +%a`
GET_DATA_FILE_SCRIPT=/tmp/get_data_file_script.$ORACLE_SID.$DAY_D.sql
DATA_FILE_LIST_LOGFILE=/tmp/data_file_list.$ORACLE_SID.$DAY_D.lst
BACKUP_LOG=$BACKUP_DEST/$DAY_D.log
MailToBns=mymail@mail.com
ORACLE_BASE=/opt/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/9.2.0
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
ORACLE_DOC=$ORACLE_BASE/doc
LD_LIBRARY_PATH=$ORACLE_HOME/lib
SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/cts/lib:/lib
PATH=$ORACLE_HOME/bin:$PATH:$JAVA_HOME/bin
TNS_ADMIN=$ORACLE_HOME/network/admin
NLS_LANG=AMERICAN_AMERICA.UTF8
rm -f $BACKUP_DEST/*
#產生執行備份的script內容
echo "
set echo off;
set heading off;
set feedback off;
set pagesize 0;
set linesize 140;
spool $DATA_FILE_LIST_LOGFILE
select 'tar -zcvf $BACKUP_DEST/'|| substr(name ,instr(name ,'/',-1)+1 )||'_$DAY_D.tar '||name from v\$datafile
union all
select 'tar -zcvf $BACKUP_DEST/'|| substr(name ,instr(name ,'/',-1)+1 )||'_$DAY_D.tar '||name from v\$tempfile
union all
select 'tar -zcvf $BACKUP_DEST/'|| substr(name ,instr(name ,'/',-1)+1 )||'_$DAY_D.tar '||name from v\$controlfile;
spool off;
exit;
" > $GET_DATA_FILE_SCRIPT
echo $ORACLE_SID
#取得datafile的清單
$ORACLE_HOME/bin/sqlplus '/ as sysdba' @$GET_DATA_FILE_SCRIPT
sqlplus "/ as sysdba" << EOF >> $BACKUP_LOG
shutdown immediate;
exit;
EOF
#進行備份
chmod 777 $DATA_FILE_LIST_LOGFILE
sh $DATA_FILE_LIST_LOGFILE
sqlplus "/ as sysdba" << EOF >> $BACKUP_LOG
startup;
exit;
EOF
ls -al $BACKUP_DEST/* >> $BACKUP_LOG
END_TIME=`date`
echo "===================================" >> $BACKUP_LOG
echo "Backup start time : $BEGIN_TIME" >> $BACKUP_LOG
echo "Backup finish time : $END_TIME" >> $BACKUP_LOG
echo "===================================" >> $BACKUP_LOG
mail -s "train $ORACLE_SID offline backup on $DAY_D" $MailToBns < $BACKUP_LOG
rm -f $DATA_FILE_LIST_LOGFILE
rm -f $GET_DATA_FILE_SCRIPT
引用URL
http://cgi.blog.roodo.com/trackback/4683465
回應文章 
[URL=http://www.haroldini.cn/mappa-bergamo] mappa bergamo [/URL] mappa bergamo [URL=http://www.haroldini.cn/fitness-girl] fitness girl [/URL] fitness girl [URL=http://www.haroldini.cn/salsa-e-merengue] salsa e merengue [/URL] salsa e merengue
Posted by Anthony
at 2008年06月17日 16:52