龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

OracleEXP和IMP用法和介绍(4)

时间:2014-06-04 02:05来源:网络整理 作者:网络 点击:
分享到:
#******************************* # backup archive log * #******************************* echo "==========================================" echo "Backup archive log begin on [ 'date' ]" echo "alter sys

#*******************************
#            backup  archive  log            *
#*******************************
echo  "=========================================="
echo  "Backup  archive  log  begin  on  [  'date'  ]"
echo  "alter  system  archive  log  stop;"  >  $TMP_SQL
sqlplus  -s  $USER_PASSWD  <start  $TMP_SQL
EOF
if  [  $?  !=  0  ]
then
        echo  "alter  archive  log  stop  fail"
        exit
fi
cd  $ARCHIVE_DEST
FILE_QT='ls|grep  -c  "arch*"'
FILE='ls|grep  "arch*"'

echo  "alter  system  archive  log  start;"  >  $TMP_SQL
sqlplus  -s  $USER_PASSWD  <start  $TMP_SQL
EOF
if  [  $?  !=  0  ]
then
        echo  "alter  archive  log  start  fail"
        exit
fi
if  [  $FILE_QT  !=  0  ]
then 
        mv  -f  $FILE  $BACKUP_DEST
        cd  $BACKUP_DEST
        compress  -f  *
        tar  -cvf  $DEVICE  *
        if  [  $?  !=  0  ]
        then
                echo  "tar  to  tape  fail"
                exit
        fi
fi
echo  "Backup  archive  log  end  on  [  'date'  ]"
echo  "=========================================="
final_msg

备份例子3:联机全库备份数据

#!/usr/local/bin/bash

first_msg()
{
        echo  "******************************************************"
        echo  " &nbs

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

正在看的ORACLE教程是:OracleEXP和IMP用法和介绍。p;  "
        echo  "The  batch  process  JOB_BACKUP_FULL  is  starting  at  [  'date'  ]"
        echo  "Excuting  by  LogName  =  [  $LOGNAME  ]"
        echo  "    "
}

final_msg()
{
        echo  "    "
        echo  "The  batch  process  JOB_BACKUP_FULL  completed  at  [  'date'  ]"
        echo  "Excuting  by  LogName  =  [  $LOGNAME  ]"
        echo  ">>>>>  Please  Make  Sure  That  It  Has  Been  Done  Successfully,  "
        echo  ">>>>>  Otherwise  You  Must  Re-do  It."
        echo  "    "
        echo  "******************************************************"
}

#**************************
#*            backup_begin            *
#**************************
backup_begin()
{
        echo  "alter  tablespace  $1  begin  backup;"  >  $TMP_SQL
        sqlplus  -s  $USER_PASSWD  <start  $TMP_SQL
EOF
        if  [  $?  !=  0  ]
        then
                return  $FAIL
        fi   
        return  $SUCCESS 
}

#**************************
#*            backup_end                *
#**************************
backup_end()
{
        echo  "alter  tablespace  $1  end  backup;"  >  $TMP_SQL
        sqlplus  -s  $USER_PASSWD  <start  $TMP_SQL
EOF
        if  [  $?  !=  0  ]
        then
                return  $FAIL
        fi   
        return  $SUCCESS 
}

#********************************
#                          Main                            *
#********************************
USER_PASSWD=system/system
BACKUP_DEST=$BACKUP_PATH/full
DEVICE=/dev/rmt/ctape1
BACKUP_CFG=$TRC/backup.cfg
TRC_FILE=$TRC/BACKUP_FULL
TMP_SQL=$TRC/backup_full_tmp.sql
SUCCESS=0
FAIL=1

first_msg
rm  -f  $BACKUP_CFG
sqlplus  -s  $USER_PASSWD  </dev/null
set  heading  off;
set  term  off;
set  echo  off;
set  page

 << 上一页  [11] [12] [13] 下一页

正在看的ORACLE教程是:OracleEXP和IMP用法和介绍。size  0;
set  linesize  1000;
set  trimspool  on;
set  trimout  on;
set  feedback  off;
set  colsep  =;
spool  $TRC/backup.spl;
select  tablespace_name,file_name  from  dba_data_files  order  by  tablespace_name,fi
le_name;
spool  off;
exit
EOF
tr  -d  '  '  <$TRC/backup.spl  >$BACKUP_CFG

rm  -f  $TRC_FILE
if  [  !  -f  $BACKUP_CFG  ]
then
        echo  "备份配置文件缺失"  >$TRC_FILE
        echo  "$BACKUP_CFG  not  found"
        exit
fi
mkdir  -m  777  -p  $BACKUP_DEST
if  [  !  -d  $BACKUP_DEST  ]
then
        echo  "备份目录创建失败"  >$TRC_FILE
        echo  "$BACKUP_DEST  create  fail"
        exit
fi
cd  $BACKUP_DEST
rm  -f  *

#*******************************
#            backup  control  file          *
#*******************************
echo  "=========================================="
echo  "正在备份控制文件"  >  $TRC_FILE
echo  "Backup  control  begin  on  [  'date'  ]"
echo  "alter  database  backup  controlfile  to  '$BACKUP_DEST/control.ctl';"  >  $TMP_SQL
sqlplus  -s  $USER_PASSWD  <start  $TMP_SQL
EOF
if  [  $?  !=  0  ]
then
        echo  "备份控制文件失败"  >  $TRC_FILE
        echo  "Backup  control  file  fail"
        exit
fi 
echo  "Backup  control  end  on  [  'date'  ]"

#*******************************
#            backup  tablespaces            *
#*******************************
TABLESPACES='cut  -d=  -f1  $BACKUP_CFG|uniq'
for  tablespace  in  $TABLESPACES
do
        echo  "=========================================="
        echo  "正在备份$tablespace"  >  $TRC_FILE
        echo  "Backup  $tablespace  begin  on  [  'date'  ]"
        backup_begin  $tablespace
        if  [  $?  !=  0  ]
        then
                echo  "备份$tablespace失败"  >  $TRC_FILE
                echo  "Turn  on  backup  option  of  $tablespace  fail"
                exit
        fi
        DATAFILES='awk  -v  var=$tablespace  -F  =  '$1==var    {print  $2}'  $BACKUP_CFG'
        for  datafile  in  $DATAFILES
        do
   

 << 上一页  [11] [12] [13] 下一页

正在看的ORACLE教程是:OracleEXP和IMP用法和介绍。;             if  [  !  -r  $datafile  ]
                then
                        backup_end  $tablespace
                        echo  "备份$tablespace失败"  >  $TRC_FILE
                        echo  "$tablespace:$datafile  unreadable"
                        exit
                fi
                compress  -c  $datafile  >  $BACKUP_DEST/'basename  $datafile'.Z
                if  [  $?  !=  0  ]
                then
                        backup_end  $tablespace
                        echo  "备份$tablespace失败"  >  $TRC_FILE
                        echo  "Backup  $tablespace:$datafile  fail"
                        exit
    ,             fi
        done
        backup_end  $tablespace
        echo  "Backup  $tablespace  end  on  [  'date'  ]"
done

#**************************
#                tar  files                *
#**************************
echo  "=========================================="
echo  "正在备份至磁带"  >  $TRC_FILE
echo  "tar  to  tape  on  [  'date'  ]"
cd  $BACKUP_DEST
tar  -cvf  $DEVICE  *
if  [  $?  !=  0  ]
then
        echo  "备份至磁带失败"  >  $TRC_FILE
        echo  "tar  to  tape  fail"
        exit
fi
echo  "tar  to  tape  on  [  'date'  ]"
echo  "=========================================="

echo  "全备份已完成"  >  $TRC_FILE
final_msg

上一页      

 << 上一页  [11] [12] [13] 

精彩图集

赞助商链接