怎么恢复oracle的包,Oracle的恢复管理器及DBMS_JOB包分析

本文介绍了如何利用Oracle的恢复管理器(RMAN)自动化执行数据库备份,以及DBMS_JOB包来定期执行数据处理任务。RMAN提供了一种集中控制的备份与恢复方式,减少了DBA的工作负担和操作错误。DBMS_JOB包则可以将存储过程放入作业队列,实现过程的定时自动执行,解决了手动执行的不便。这两种工具的结合使用,提高了数据库维护的效率和准确性。
摘要由CSDN通过智能技术生成

摘要:多数数据库管理员会遇到数据库的备份恢复和将某表中数据定期备份形成历史流水数据以便今后查询统计等问题,本文通过对数据库实用工具恢复管理器及DBMS_JOB包工作机制的分析,提出了应用Oracle数据库恢复管理器和利用DBMS_JOB包实现过程自动执行来解决问题的方法。

关键词:DBA、备份恢复、恢复管理器、DBMS_JOB包。

一. 引言

随着Oracle大型数据库系统在企业的广泛应用,系统数据量的快速增长,相信为数不少的Oracle DBA每天都在忙于做着重复的工作--对数据库进行备份。如果一旦哪一天疏忽了,而这一天系统又恰恰发生了故障,需要进行数据恢复,那么此时对 DBA来说可能就是一场灾难, 因为他可能无法完整地恢复数据库中的数据。此外,在数据库的应用中我们会经常碰到这样的需求:将一些重要数据表中的数据定期备份到另一些数据表中去。例如在企业员工工资管理系统中,每月工资报表打印完毕后,应将当月工资数据保存到工资历史库中去,以便今后查询及统计使用。通常我们采用过程来完成对数据的处理,这个过程由人工定期执行完成,操作起来很不方便。对于第一种情况,现在我们可利用Oracle据库实用工具恢复管理器来完成DBA每天必须做的备份工作,而且可设定一个固定的时间, 让系统自动进行备份。对后一种情况,我们可以使用DBMS_JOB包结合存储过程来实现数据处理的自动执行。下面笔者结合实践经验,分别介绍其实现方法。

二. Oracle数据库备份与恢复方式及特点

ORACLE 数据库备份分为物理备份和逻辑备份。物理备份是数据库文件拷贝的备份,冷备份、热备份属于物理备份。 导出/导入(EXPORT/IMPORT)工具用于进行逻辑备份。

导出(EXPORT)备份可拷贝数据与数据库定义,并以Oracle的内部格式保存为二进制文件。相反,利用Import则可将数据从二进制文件放回到Oracle数据库中。但是导出(EXPORT)备份机制不能提供时间点恢复,而且不能和归档重做日志文件一起使用。

冷备份是在数据库被正常关闭之后进行的数据文件的物理备份。当数据库被关闭时,被数据库使用的每一个文件都被备份下来。这些文件因而保持着数据关闭时的完整的映象。

热备份是在数据库运行的情况下,采用archivelog mode方式备份数据的方法。这涉及到将每个表空间设置为备份状态,然后备份其数据文件,最后将表空间恢复成正常的状态。数据库可以从这个备份中完全地恢复过来,也可以通过归档的重做日志回滚到前面时间的任一个点上。

上述几种备份方法的特性比较:

方法 类型 恢复特性

----------- --------- ------------------------------------------

Export导出 逻辑型 可以将任何数据库对象恢复到它被导出时的状态

冷备份 物理型 可将数据库恢复到它被关闭时的状态

热备份 物理型 可将数据库恢复到任一时间点的状态

以上几种备份方式都需要依赖DBA人工操作完成,从而增加了DBA维护系统的负担。当DBA需要维护多个Oracle数据库系统时,还容易导致操作失误,而且备份的数据不便于集中统一管理。

三. Oracle数据库恢复管理器及DBMS_JOB包概述

恢复管理器(RMAN)是一个使DBA能很方便地对数据库执行备份和恢复任务的Oracle应用工具,与以上介绍的几种方式不同,它能够提供DBA针对企业数据库备份与恢复操作的集中控制。RMAN可以将备份记录保存在恢复目录中,Oracle保持对备份的跟踪。实际的物理备份拷贝将被存储在指定的存储系统上,可以是磁带或磁盘。RMAN将全部备份数据以Oracle特有的格式写入到"备份集"文件中,通过RMAN应用工具来读取。RMAN支持建立除逻辑备份以外的所有类型的备份。

下图显示了RMAN的功能框图。

利用RMAN进行备份恢复的条件是:

1.建立一个recovery_catalog,存放RMAN使用和维护着的目标数据库的信息,RMAN使用这些信息去决定如何执行备份和恢复的请求。通常是把它建在另一个Oracle数据库的一个模式里,即需要建立一个用户,该用户需要有recovery_catalog_owner权限。

2.目标数据库必须是在archivelog模式下运行,因为这样,日志才能归档,而RMAN正是利用归档日志进行数据恢复,所以这是一个必备条件。同时archivelog模式也是数据库在线备份的必备条件。

3.RMAN备份中,如果采用磁带机备份,需要安装第三方介质管理库(MML)。

恢复管理器保存在RMAN中注册的全部数据库的记录。当RMAN被用来启动备份或恢复数据库时,它将目标数据库与恢复目录中可用的数据库ID进行验证。如果条件一致,RMAN对目标数据库至少建立两个通道,其中一个通道只是对目标数据库的一个远程调用,使用PL/SQL接口来执行备份与恢复操作。RMAN使用它自己的PL/SQL引擎编译这些用户命令,并在目标数据库上执行这些命令。执行过程不需要用户干预,RMAN记录追踪在数据库上执行的全部备份与恢复操作,因而在很大程度上避免了DBA错误导致的危险。同时RMAN提供了多种命令用于检查和数据库备份集与拷贝,并确保备份文件完整无缺且能够用于实现恢复。由上述可见,采用恢复管理器做备份与恢复的管理与其他方式相比较具有明显的优势,可大大减少DBA做备份工作的工作量和操作失误。

DBMS_JOB包是Oracle提供的内部函数包,提供了管理和调度作业队列中的作业定时执行的控制机制。所有作业由SNP后台进程执行。 当SNP进程运行一个作业时,进程将首先创建会话,并恢复作业运行时的环境参数,再调度作业运行。DBMS_JOB包的主要功能有:提交Submit(),执行Run(),删除Remove()等。这样,我们就可以用这个包将创建的存储过程放入Oracle数据库系统的作业队列中去,由系统按时调度运行。

[1]

【责编:Youping】

--------------------next---------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值