centos上oracle數據庫自動備份

oracle服務器自動備份sql

一、bash

$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

二、服務器

$mkdir /home/oracle/oraclebakoracle

三、建立備份角本,給執行權限 app

----------------------ide

 

 #!/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. "

四、crontab

$crontab -e
#!/bin/sh  
00 3 * * * /home/oracle/orale.bak.sh
相關文章
相關標籤/搜索