You cannot see this page without javascript.

진주성 블로그 방문하기

기술문서 Oracle begin end backup

2017.08.24 01:17

gupy1004 조회 수:1482

oracle_begin_end.txt.txt

 

스크립트 내용

 

cat orawork_backup.sh


#!/sbin/sh
######################################################
##
## Oracle Begin-End Backup Script By Guppy
##
#####################################################
ORACLE_SID=ORAWORK
ORACLE_USER=oracle
POLICE=workDB_oracle
SCHEDULE=full
NBU=/usr/openv/netbackup
WORK_PWD=${NBU}/scripts
TIME=`date +%Y%m%d_%H%M%S`
ARCHIVE_LOG=${WORK_PWD}/${ORACLE_SID}/ARCHIVE_DESTINATION
ARCHIVE_LOG_TMP=${WORK_PWD}/${ORACLE_SID}/ARCHIVE_DESTINATION_TMP
ARCHIVE_LOG_LIST=${WORK_PWD}/${ORACLE_SID}/ARCHIVE_LOG_LIST
DBF_LIST=${WORK_PWD}/${ORACLE_SID}/DBF_FILE
DBF_LIST_TMP=${WORK_PWD}/${ORACLE_SID}/DBF_FILE_TMP
LOG=${WORK_PWD}/${ORACLE_SID}/LOG_FILE_${TIME}
CNTL=${WORK_PWD}/${ORACLE_SID}/control.bak

su - $ORACLE_USER -c "sqlplus '/as sysdba' << EOF
select file_name from dba_data_files;
exit
EOF
" > $DBF_LIST_TMP
grep / $DBF_LIST_TMP  >$DBF_LIST

su - $ORACLE_USER -c "sqlplus '/as sysdba' << EOF
archive log list;
exit
EOF
" > $ARCHIVE_LOG_TMP
grep "Archive destination" $ARCHIVE_LOG_TMP | awk '{print $3}' > $ARCHIVE_LOG

###########################################################################
su - $ORACLE_USER -c "sqlplus '/as sysdba' << EOF
alter system switch logfile;
alter database begin backup;
exit
EOF
" >> $LOG

$NBU/bin/bpbackup -p $POLICE -s $SCHEDULE -L $LOG -w -f $DBF_LIST


if [  -d $CNTL ]
then
        rm -rf $CNTL
fi
su - $ORACLE_USER -c "sqlplus '/as sysdba' << EOF
alter database end backup;
alter database backup controlfile to trace;
alter database backup controlfile to '/usr/openv/netbackup/scripts/ORAWORK/control.bak' reuse;
alter system switch logfile;
select \* from v\$backup;
exit
EOF
" >> $LOG


$NBU/bin/bpbackup -p $POLICE -s $SCHEDULE -L $LOG -w $CNTL

/bin/find `cat $ARCHIVE_LOG` -mtime +25 > $ARCHIVE_LOG_LIST
$NBU/bin/bpbackup -p $POLICE -s $SCHEDULE -L $LOG -w -f $ARCHIVE_LOG_LIST
rm -rf `cat $ARCHIVE_LOG_LIST`


---------------------------------------------------------------------------
[workDB:/usr/openv/netbackup/scripts]crontab -l


# DB On-line backup
0 1 * * * /usr/openv/netbackup/scripts/orawork_backup.sh
 

진주성 블로그 방문하기
CLOSE