1、编写数据库备份脚本,将数据库导出为dmp文件
ORACLE_HOME=/oracle/product/11gR2/db
export ORACLE_HOME
ORACLE_SID=office
export ORACLE_SID
PATH=$ORACLE_HOME/bin:/usr/local/bin:$PATH
export PATH
设置ORACLE_HOME、ORACLE_SID以及PATH变量,否则脚本在crontab中执行报错。
D1=`date '+%Y-%m-%d-%H-%M.dmp'`
D2=`date '+%Y-%m-%d-%H-%M.log`
exp username/password@sid file=/oracle_dmp/backup/$D1, log=/oracle_log/backup/$D2, compress=n buffer=10240 consistent=y direct=n constraints=y feedback=10000 grants=y record=y indexes=y triggers=y rows=y
设置oracle导出文件的文件名,以日期作为文件名,同时还导出日志文件。
将上面的脚本保存到/home/oracle/oracle_auto_backup.sh文件中。
2、在oracle用户下添加crontab任务
crontab -e
在编辑器中输入
50 23 * * * /home/oracle/oracle_auto_backup.sh
设置定时任务的执行频率,每天晚上11点50执行该脚本。
然后保存退出。
3、如果定时任务没有执行,可以查看/var/mail/oracle 文件,找出错误原因。