Oracle定时备份

来源:互联网 发布:北京知金教育论坛 编辑:程序博客网 时间:2024/06/07 06:01
WINDOWS:
backup.bat:
@echo off
set var_date=%date:~0,4%%date:~5,2%%date:~8,2%     
exp scott/tiger@conn file=C:\oracle9i_tjxt_%var_date%.dmp owner=(scott)
 
上面: %date%  为系统日期 2009-10-21 星期三
      %date:~x,%  冒号后的~x,y表示截取date返回值中第x位后的y个字符
      如:%date:~0,4%  结果为 2009
 

在windows的计划任务中执行backup.bat文件,通常情况设置是一天执行一次。
 
 
LINUX (red hat):
Linux redhat AS 4中Oracle10g自动备份设置
1.运行环境 Linux redhat4,Oracle10g for Linux
2.操作步骤
    首先建立一个 oracle_backup.sh 脚本文件,脚本如下
    rq=`date +"%Y%m%d"`
    su - oracle -c "/home/oracle/product/10.2/bin/exp scott/tiger owner=scott file=/home/oracle/backup/data_$rq.dmp log=/home/oracle/backup/log/log_backup.log"
 
    然后上传到 /home/oracle 目录中
    然后建立数据备份的目录和日志记录目录

   # mkdir -p /home/oracle/backup 
   # mkdir -p /home/oracle/backup/log


使用命令crontab -e编辑一个定时执行的任务或在/var/spool/cron/crontabs目录下新建一个与自己用户名相同的任务:
root 脚本中加入 这样设置的是 每天的晚上11点 50 分开始备份数据
50 23 * * 6 /home/oracle/oracle_backup.sh
每个星期天晚上11点50 分开始备份
关于Linux定时任务详细信息见:http://blog.sina.com.cn/s/blog_4b81125f0100fq9u.html