windows服务器中Oracle数据库定时备份

发布时间 2023-11-10 14:41:50作者: 炸天帮李白

脚本准备

rem delete 10 days files
forfiles /p "文件路径" /d  -10 /c "cmd /c echo deleting @file ... && del /f @path"

rem expdp sz
set sz_file=备份文件名字%date:~0,4%%date:~5,2%%date:~8,2%
expdp 数据库用户名/数据库密码@数据库实例名 directory=路径对象 dumpfile=%sz_file%.dmp logfile=%sz_file%.log schemas=导出的用户 compression=all

在合适的位置新建一个.bat文件,将上面的脚本复制到里面,再根据下面的说明修改好脚本。

注:如果密码中存在特殊字符,需要做特殊处理,如:

zhangsan/"""abc@123"""@orcl

文件路径: 备份文件所在目录

-10: 删除两天前的文件,也就是说保留两天的数据,可根据实际情况修改

备份文件名字: 此处为前缀加时间的格式 例如:xxxxx202308025120000.dmp

数据库实例名: 如:orcl,有时候可能需要补全ip地址,如:192.168.3.10/orcl

路径对象: 导出文件目录,此处的目录和平常的目录不同,这是存在于数据库中的目录对象,要使用这个对象需要用sql命令来创建

CREATE DIRECTORY hrpbackup AS '备份文件要存放的路径';
SELECT directory_name, directory_path FROM all_directories;

导出的用户: 此处为指定导出的用户,建议和数据库的用户名一致

脚本调整好后,可以双击启动测试是否能够成功备份。

开启服务器的定时任务

利用windows服务器中的任务计划程序,来定时执行数据库的备份脚本。

打开任务计划程序

Win + R 打开运行窗口,输入 taskschd.msc 确定,打开任务计划程序

image

image

创建基本任务

点击左侧 创建基本任务

image

image

image

image

image

选择维护好的脚本

image