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