📄 online_bk.sh
字号:
# Setup ORACLE environment
ORACLE_HOME=/disk2/oracle; export ORACLE_HOME
ORACLE_SID=orcl9; export ORACLE_SID
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
LD_LIBRARY_PATH=/disk2/oracle/lib:/lib:/usr/lib:/usr/openwin/lib:/usr/dt/lib:/usr/ucblib:/usr/local/lib; export LD_LIBRARY_PATH
PATH=/bin:/usr/bin:/usr/sbin:/opt/bin:/usr/ccs/bin:/opt/local/GNU/bin
PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin:$ORACLE_HOME/bin
PATH=$PATH:/export/home/oracle/bin:/usr/local/samba/bin:/usr/ucb:.
export PATH
#get current date
rq=`date +'%y%m%d'`
#set backup directory
src_dir=/disk6/oradata/xdoctran
backup_dir1=/disk4/ora_data_bak/online_backup
backup_dir=$backup_dir1/xdoc_online_bk$rq
mkdir $backup_dir
#remove old dump file
find $backup_dir1 -name 'xdoc_online_bk*' -atime +10 -exec rm -r {} \;
#backup Tablespaces
sqlplus /nolog <<EOF
conn / as sysdba
alter tablespace SYSTEM begin backup;
alter tablespace UNDOTBS1 begin backup;
alter tablespace CWMLITE begin backup;
alter tablespace DRSYS begin backup;
alter tablespace EXAMPLE begin backup;
alter tablespace INDX begin backup;
alter tablespace ODM begin backup;
alter tablespace TOOLS begin backup;
alter tablespace USERS begin backup;
alter tablespace XDB begin backup;
alter tablespace XDOC_DATA begin backup;
alter tablespace XDOC_INDEX begin backup;
!cp $src_dir/* $backup_dir
alter tablespace SYSTEM end backup;
alter tablespace UNDOTBS1 end backup;
alter tablespace CWMLITE end backup;
alter tablespace DRSYS end backup;
alter tablespace EXAMPLE end backup;
alter tablespace INDX end backup;
alter tablespace ODM end backup;
alter tablespace TOOLS end backup;
alter tablespace USERS end backup;
alter tablespace XDB end backup;
alter tablespace XDOC_DATA end backup;
alter tablespace XDOC_INDEX end backup;
alter system switch logfile;
archive log stop;
exit
EOF
#Backup Archived log
FILES=""
is_old_file=0
ARCHIVEDLOG_DIR=/disk3/ora_arch_log/xdoctran
echo $ARCHIVEDLOG_DIR
CURRENT_FILES=`ls $ARCHIVEDLOG_DIR/xdoc*.arc`
sqlplus /nolog <<EOF
conn / as sysdba
archive log start;
exit
EOF
find $ARCHIVEDLOG_DIR -name 'xdoc*.arc' -atime +100 -exec rm {} \;
if [ -f $ARCHIVEDLOG_DIR/arch.lst ] ; then
LAST_ARCHIVEDLOG_FILES=`cat $ARCHIVEDLOG_DIR/arch.lst`
else
LAST_ARCHIVEDLOG_FILES=""
fi
for i in $CURRENT_FILES; do
for j in $LAST_ARCHIVEDLOG_FILES ; do
if test "$i" = "$j" ; then
is_old_file=1
break
fi
done
if test $is_old_file -eq 1 ; then
is_old_file=0
else
FILES=$FILES$IFS$i
fi
done
#backup or ftp to remote host
if test "$FILES" != "" ; then
cp $FILES $ARCHIVEDLOG_DIR/tmp
archivedlog_ftp $ARCHIVEDLOG_DIR/tmp
cd $ARCHIVEDLOG_DIR/tmp
rm *
fi
echo $CURRENT_FILES > $ARCHIVEDLOG_DIR/arch.lst
#Backup Control File
sqlplus /nolog<<EOF
conn / as sysdba
alter database backup controlfile to '$backup_dir/xdoc_controlfile.bk' reuse;
alter database backup controlfile to trace;
exit
EOF
cp /disk2/oracle/dbs/orapw* $backup_dir
cp /disk2/oracle/dbs/initorcl9.ora $backup_dir
rm $backup_dir/*.ctl
rm $backup_dir/redo*.log
rm $backup_dir/temp*
#ftp the backup files to remote site
remote_copy_dir online_backup xdoc_online_bk$rq $backup_dir
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -