2. Oracle常用脚本

最后更新于:2022-04-02 07:44:37

#### 备份脚本 - 修改SID,ORACLE_HOME,LOCAL_DIR(本地备份目录),REMOTE_DIR(NFS目录),用户,密码 ``` #!/bin/sh #Author:BrandynX #Date:2017-03-27 #Remark: FOracle backup scripts #Declare the oracle variable export ORACLE_BASE=/app/oracle11g export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=dingdb export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; #Declare the script variable NFS_SAVEDAYS="7" LOCAL_SAVEDAYS="1" TODAY=`date +%Y%m%d` LOCAL_BACKUPDIR_DAY=`date -d "-$LOCAL_SAVEDAYS days" +%Y%m%d` NFS_BACKUPDIR_DAY=`date -d "-$NFS_SAVEDAYS days " +%Y%m%d` LOCAL_DIR=/data/backup REMORT_DIR=/nfsdir/oracle LOG_DIR=/app/scripts # UID Check if [ $UID -ne 0 ];then echo "Please use root to execute the script." exit fi #Loacl backup file processing #Create today backupdir and backup if [ -d $LOCAL_DIR/$TODAY ];then echo "WARNING INFORMATION: $LOCAL_DIR/$TODAY Backup directory already exists" | tee -a $LOG_DIR/scripts.log exit else mkdir -p $LOCAL_DIR/$TODAY fi #Create today export log directory if [ ! -d $LOG_DIR/$TODAY-dingdb ];then mkdir -p $LOG_DIR/$TODAY-dingdb fi #Export oracle data exp ding/iC43sld7h@dingdb file=$LOCAL_DIR/$TODAY/$TODAY-dingdb.dmp log=$LOG_DIR/$TODAY-dingdb/$TODAY-dingdb.log #Compress backup file cd $LOCAL_DIR tar czf $LOCAL_DIR/$TODAY-dingdb.tar.gz $TODAY echo "####################" >> $LOG_DIR/scripts.log echo "BACKUP INFORMATION: LOCAL $TODAY bakcup is complete." | tee -a $LOG_DIR/scripts.log #Synchornize file to NFS #To determine whether there is a bakcup if [ -f $REMORT_DIR/$TODAY-dingdb.tar.gz ];then echo "WARNING INFORMATION: NFS already exists in $TODAY backup file." | tee -a $LOG_DIR/scripts.log exit else cp $LOCAL_DIR/$TODAY-dingdb.tar.gz $REMORT_DIR echo "BACKUP INFORMATION: Remote NFS $TODAY bakcup is complete." |tee -a $LOG_DIR/scripts.log fi #Delete local backup if [ -d $LOCAL_DIR/$LOCAL_BACKUPDIR_DAY ];then rm -rf $LOCAL_DIR/$LOCAL_BACKUPDIR_DAY rm -f $LOCAL_DIR/$LOCAL_BACKUPDIR_DAY-dingdb.tar.gz echo "DELETE INFORMATION: LOCALDIR DELETE $LOCAL_BACKUPDIR_DAY backup is delete. " |tee -a $LOG_DIR/scripts.log fi #Delete nfs backup rm -rf $LOG_DIR/$NFS_BACKUPDIR_DAY-dingdb rm -f $REMORT_DIR/$NFS_BACKUPDIR_DAY-dingdb.tar.gz echo "DELETE INFORMATION: REMOTE NFS DELETE $NFS_BACKUPDIR_DAY backup is delete. " |tee -a $LOG_DIR/scripts.log echo "####################" >> $LOG_DIR/scripts.log echo "" >> $LOG_DIR/scripts.log ``` ##### 增加定时任务 ```shell 50 23 * * * /bin/sh /app/scripts/oracle_bakcup.sh > /dev/null 2>&1 ```
';