ORACLE大数据库自动备份_详细步骤

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ORACLE数据库自动备份

由于每天都需要备份数据库,每天都写一遍备份语句很是麻烦,所以我从网上找到了一个window下编写批处理文件实现自动备份的方法:

备份代码

首先我们需要编写一个批处理文件,用于实现数据库的备份功能,粘贴如下代码到文本文档中,重新命名为***.bat(后缀名修改为bat):

然后将下面代码复制到文本文档中:(红色字体是需要修改的地方)

@echo off

color 0b

mode con cols=80 lines=25

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

echo --------------------------------------

echo 指定数据库用户(在“=”后面写入你需要备份的数据库登录用户名)

set yh=si0001

echo 指定数据库密码(在“=”后面写入你需要备份的数据库登录密码)

set mm=si0001

echo 指定数据库服务名(在“=”后面写入你需要备份的数据库

服务名)

set fwm=10.1.94.21/orcl

echo 指定备份目录(指定备份的文件夹,以“\”结束)

set ml=d:\backupOracle\

echo ----------------------------------------------

echo 开始计算日期和时间,用于备份文件的名称(由于是自动备份,备份的文件名我们定义为数据库登录名+系统时间—精确到秒)

set hh=%time:~0,2%

echo 如果小时是一位的,那么在前面补零

if /i %hh% LSS 10 (set hh=0%time:~1,1%)

set rq=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

set sj=%hh%%TIME:~3,2%%TIME:~6,2%

set wjm=%yh%%rq%%sj%

echo ---------------------------------------------- echo 请核对以下数据是否正确

echo 用户名:%yh%

echo 密码:%mm%

echo 服务名:%fwm%

echo 备份目录:%ml%

echo 备份文件名:%wjm%

echo ----------------------------------------------

echo 开始备份数据库

echo ---------------------------------------------

exp %yh%/%mm%@%fwm% file=%ml%%wjm%.dmp log=%ml%%wjm%.log owner=%yh%

echo 数据库备份完成

echo ----------------------------------------------

以上就是我们自动备份的代码,其中echo后面的文本都是说明文字,大家可以删除,将以上代码复制到文本文件,重命名为***.BAT (尽量不要把备份文件放在桌面或者系统盘下,避免系统损坏以后丢失备份文件),保存以后,我们可以双击执行,当执行完成以后,在备份目录下会备份文件,如下图

1、自动备份实现

以上我们已经实现了数据库的备份脚本,那么如何实现自动定时备份呢?这就要利用WINDOW操作系统提供的计划任务功能了,我

们通过开始---控制面板,打开控制面板,双击执行计划任务

打开计划任务功能,然后双击添加计划任务打开计划任务向导,如下图

点击下一步

选择浏览,找到我们在第二步建立的备份脚本文件,点击打开,进入下一步

在这一步我们输入备份计划的名称,方便以后区分,同时选择备份的频率,这里以一天为准

在这一步需要输入每天备份启动的时间(这根据每一个项目来自行设定,建议将备份放在数据库操作较少的时段),一般建议在中午考试空闲时段。

在这一步需要输入登录操作系统的用户和密码,如系统默认的用户 Administrator 没有设置密码,可以另外建立一个带密码的用户。

确认以上操作无误后,点击完成

这样我们就可以在计划任务列表中看到当前的计划任务

以上我们就实现了ORACLE数据库的自动备份功能,当然,如果有数据库需要多个时间段备份,我们只需要重复上面的操作即可。

二:设置自动删除以前的备份。

我们实现了ORACLE数据库的自动备份功能,但每次备份都会创建一个新备份文件,一定时间后占用的硬盘空间将非常大,还需要创建批处理文件,用于实现删除之前的备份文件功能,粘贴如下代码到文本文档中,重新命名为***.BAT(后缀名修改为BAT):

del e:\lkdata\ *.*

删除指定备份目录下所有备份文件,这里的待删除备份文件地址要和之前的备份目录地址对应,然后添加计划任务让其定时运行,

建议清理计划运行的时间以1周2次的频率为佳,该计划运行的时间在备份计划之间1个小时之前,这样就能达到先删除之前旧备份,1个小时后自动新的备份建立。

社保2部王春雨

相关文档
最新文档