oracle服务器定时备份Windows Server

发布于:2025-07-18 ⋅ 阅读:(21) ⋅ 点赞:(0)

-- 创建目录对象(若未创建),先建立对应文件夹才能用目录对象

CREATE OR REPLACE DIRECTORY dp_dirbackup AS 'D:\BACKUP';  --配置路径
GRANT READ, WRITE ON DIRECTORY dp_dirbackup TO 用户名; --配置用户权限

-- 备份脚本(保存为每月备份脚本,如每月手动执行可跳过定时任务部分),创建bat文件,建立txt文本文档,放入代码后,将后缀改为bat,双击科运行backup.bat

@echo off

set USERNAME=用户名

set PASSWORD=用户密码

set SID=orcl

set DB=%USERNAME%/%PASSWORD%@%SID%

set TARGETPATH=D:\BACKUP

set FILENAME=BACKUP

set hour=%time:~,2%

if "%time:~,1%"==" " set hour=0%time:~1,1%

set TIMESTAMP=%date:~0,4%-%date:~5,2%-%date:~8,2%-%hour%-%time:~3,2%-%time:~6,2%

set FILEPATH=%TARGETPATH%/%FILENAME%_%TIMESTAMP%.dmp

set LOGPATH=%TARGETPATH%/%FILENAME%_%TIMESTAMP%.log

set RARPATH=%TARGETPATH%/%FILENAME%_%TIMESTAMP%.rar

echo ========================================

echo 正在备份Oracle数据库,请稍等......

echo ========================================

expdp %DB% DIRECTORY=DP_DIRBACKUP DUMPFILE=BACKUP_%TIMESTAMP%.dmp LOGFILE=BACKUP_%TIMESTAMP%.log COMPRESSION=ALL PARALLEL=4

echo Oracle数据库备份完成!

echo ===============清除90天以上文件=========================

forfiles /p "D:\BACKUP" /m *.dmp /d -90 /c "cmd /c del @path"

forfiles /p "D:\BACKUP" /m *.log /d -90 /c "cmd /c del @path"

------window做定时备份操作
--配置Windows定时任务​
​步骤1:保存为BAT文件​jxbackup.bat
将上述脚本保存为jxbackup.bat,存放路径建议为D:\JXBACKUP\jxbackup.bat

​步骤2:配置任务计划程序​
​打开任务计划程序​:
Win + R → 输入taskschd.msc → 操作 → 创建任务
​常规设置​:
名称:JXBackup
勾选不管用户是否登录都要运行 → 选择使用最高权限
​触发器设置​:
新建 → 每月 → 选择"1日" → 开始时间00:00
​操作设置​:
程序或脚本:D:\BACKUP\backup.bat
​条件设置(可选)​​:
取消勾选只有在计算机使用交流电源时才启动此任务


网站公告

今日签到

点亮在社区的每一天
去签到