oracle数据库怎么自动备份

oracle数据库怎么自动备份,第1张

配置批处理文件

1

新建名为"oracleBackup"的文本文档(名字自己定),然后重命名后缀为"oracleBackup.bat"的批处理文件。

2

在oracleBackup.bat文件上点击右键,选择编辑,填写以下相关内容:

rem ---------------------------------------------------------------------------

rem windows环境下Oracle数据库的自动备份脚本。

rem 可以将本批处理设成windows任务计划下自动执行。

@echo off

@echo ================================================

@echo windows环境下Oracle数据库的自动备份脚本

@echo 说明:启动备份时,需要配置以下变量

@echo1、BACKUP_DIR 指定要备份到哪个目录

@echo2、ORACLE_USERNAME 指定备份所用的Oracle用户名

@echo3、ORACLE_PASSWORD 指定备份所用的Oracle密码

@echo4、ORACLE_DB指定备份所用的Oracle连接名

@echo5、BACK_OPTION 备份选项,可以为空,可以为full=y,可以为owner=a用户,b用户 等等....

@echo6、RAR_CMD 指定RAR命令行压缩工具所在目录

@echo ================================================

rem 以下变量需要根据实际情况配置------>注意:此脚本必须放在E:\backup目录下

set BACKUP_DIR=E:\backup

set ORACLE_USERNAME=se

set ORACLE_PASSWORD=xj

set ORACLE_DB=xj_orcl

set BACK_OPTION= OWNER=se

set RAR_CMD="C:\Program Files\WinRAR\Rar.exe"

for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a

set BACK_NAME=%ORACLE_DB%_%TODAY%()_

set BACK_FULL_NAME=%BACKUP_DIR%\%BACK_NAME%

rem 开始备份

exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% %BACK_OPTION% file="%BACK_FULL_NAME%.dmp" log="%BACK_FULL_NAME%exp.log"

rem 压缩并删除原有文件

%RAR_CMD% a -df "%BACK_FULL_NAME%back.rar" "%BACK_FULL_NAME%.dmp" "%BACK_FULL_NAME%exp.log"

rem ---------------------------------------------------------------------------

forfiles /m *.rar -d -7 /c "cmd /c del /f @path"

3

配置相关参数:

BACKUP_DIR:该参数为备份数据文件的存放位置,可根据实际情况进行设置(注:设置的文件路径不允许包含汉字、特殊字符等内容)。

ORACLE_USERNAME:该参数为指定备份的Oracle数据库用户名。

ORACLE_PASSWORD:该参数为指定备份的Oracle数据库密码。

ORACLE_DB:该参数为指定备份的Oracle数据库连接名。

BACK_OPTION:该参数为备份选项,可以为空,也可以为full=y等。

RAR_CMD:指定RAR命令行压缩工具所在目录

END

安装软件

1

下载WINRAR安装包。

2

点击"wrar520sc_setup.exe",进行安装软件。

3

根据软件的安装路径,在命名的bat处理文件中配置:RAR_CMD参数。

END

添加定时任务

打开电脑的控制面板,选择"任务计划",双击打开。页面如图所示:

双击打开添加定时任务,点击下一步进入相关设置页面。页面如图所示:

单击浏览按钮,找到oracleBackup.bat文件添加,然后进行配置:根据实际情况选择要备份的时间类型,此处以每天执行为例,选择每天,点击下一步,设置执行时间。

输入执行定时任务机器的用户名及密码,点击下一步,进入完成界面,点击完成,至此,Oracle数据库定时任务备份的设置。

5

利用修改机器时间进行定时任务的测试。

需要写个bat脚本,然后在windows计划任务里调用此脚本可实现每天自动备份。

工具:Oracle 10g

步骤:

1、在某个盘符某个路径(以C盘data目录为例),创建oraclebackup.txt文件,内容如下:

@echo off

echo 删除10天前的备分文件和日志

forfiles /p "c:/data/" /m *.dmp /d -10 /c "cmd /c del @path"

forfiles /p "c:/data/" /m *.log /d -10 /c "cmd /c del @path"

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

exp 用户名/密码@实例名 file=c:/data/mdb%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=c:/data//mdb%date:~0,4%%date:~5,2%%date:~8,2%.log full=y buffer=65535

echo 任务完成!

2、保存上述文件后,将文件名的后缀改成.bat

3、进入windows的控制面板,打开计划与任务,新建任务,点击浏览,选择刚才新建的c盘data目录下的oraclebackup.bat文件。接着选择每天晚上22:00点执行,再输入本机的administrator密码即可。

注意事项:

exp语句中的用户名密码等内容,需要根据实际需要来填写。

exp 用户名/密码@SID file=E:\OracleBackDB\库名%date:~11,3%.dmp owner=(用户名)

你用上面的语句,修改后保存成bat文件,放到任务计划里运行,可以完成每天定时备份,保留一个星期备份文件。第二个星期时候会自动覆盖


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11751817.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存