Oracle数据库的备份有很多种,今天介绍一种,思路是用exp语句做成bat文件,然后用windows计划任务去执行
第一步:建立备份脚本
首先,建立dbback文件夹作为备份文件夹,在dbback文件夹下建立bak和old_bak两个文件夹,脚本放到dbback文件夹下。
脚本内容如下:
@echo off
@echo --清除数据,每月1号清除历史数据,只保留一个月的数据
if "%date:~8,2%"=="01" @echo --清除数据 & del /q E:\dbback\old_bak\* & move E:\dbback\bak\* E:\dbback\old_bak
@echo --备份数据
exp OTO/123456@orcl file="E:\dbback\bak\OTO%date:~0,10%.dmp" log="E:\dbback\bak\OTO%date:~0,10%.log"
@echo --设置winrar环境变量
set PATH=%PATH%;C:\Program Files\WinRAR
@echo --压缩数据,压缩后删除源文件
winrar a -m5 -df E:\dbback\bak\"%date:~0,10%".rar E:\dbback\bak\*.dmp
第二步:设定定时任务
开始>所有程序>附件>系统工具>任务计划程序
任务计划程序右击,创建基本任务
第三步,遇到的问题
1.脚本时间格式与服务器时间格式不匹配,调整服务器时间格式为2017-1-01
2.脚本填写完整路径
exp
OTO/123456@orcl file="E:\dbback\bak\OTO%date:~0,10%.dmp" log="E:\dbback\bak\OTO%date:~0,10%.log"