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