假如数据库服务器是window系统,数据库备份可以通过Oracle自带exp.exe实现。
- 步骤1:创建bat文件,文件内容就是使用exp命令导出数据库的全量数据。
内容如下:
@echo off
echo ================================================
echo Windows环境下Oracle数据库的自动备份脚本
echo 1. 使用当前日期命名备份文件
echo 2. 自动删除7天前的备份
echo ================================================
echo 以“YYYYMMDD”格式取出当前时间
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo 设置用户名、密码和要备份的数据库
set USER=用户名
set PASSWORD=密码
set DATABASE=ip/数据库名称
echo 创建备份目录
if not exist "D:\oracle61backup\data" mkdir D:\oracle61backup\data
if not exist "D:\oracle61backup\log" mkdir D:\oracle61backup\log
set DATADIR=D:\oracle61backup\data
set LOGDIR=D:\oracle61backup\log
exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log
echo 删除7天前的备份。
forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
exit
这里值得注意的是:
- 需要将exp.exe配置到系统的path变量里。
- bat文件中DATABASE,假如是异地备份也是可以的,只需要写上服务器ip即可。
- 步骤二
通过系统的控制面板,创建计划任务即可,指定相应的执行时间,执行频率,指定bat文件即可。具体步骤参考:https://www.cnblogs.com/ShaYeBlog/p/10137355.html
网友评论