Oracle服务器自动备份

Oracle服务器自动备份记录。

1、

$sqlplus /nolog
$conn sys /as sysdba
SQL> create directory expdata as '/home/oracle/oraclebak';
Directory created.
SQL> grant read,write on directory expdata to public; 
SQL> exit

2、

$mkdir /home/oracle/oraclebak

3、创建备份角本,给执行权限

  #!/bin/sh 
     
    export ORACLE_BASE=/home/oracle/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/db11g
    export ORACLE_SID=X
    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin 
     
    export DATA_DIR=/home/oracle/oraclebak 
   
    export DEL_TIME=`date -d "5 days ago" +%Y%m%d` 
    export BAKUP_TIME=`date +%Y%m%d%H%M%S` 
    echo "Starting bakup..." 
    echo "Bakup file path $DATA_DIR/$BAKUPTIME.dmp" 
    expdp system/'密码' directory=expdata dumpfile=$BAKUP_TIME.dmp full=y logfile=$BAKUP_TIME.log
     
    echo "Delete the file bakup before 5 days..." 
    rm -rf $DATA_DIR/$DEL_TIME*.dmp  $DATA_DIR/$DELTIME*.log 
    echo "Delete the file bakup successfully. "

4、

$crontab -e

#!/bin/sh 
00 3 * * * /home/oracle/orale.bak.sh

相关推荐