数据库备份是数据恢复的前提和基础,没有数据备份,一旦数据库出现问题或发生灾难,将难以恢复。常见的Oracle数据库故障有语句故障、用户进程故障、实例故障、用户错误和介质故障。能够进行什么样的恢复依赖于有什么样的备份。作为 DBA,有责任从以下三个方面维护数据库的可恢复性:(1)使数据库的失效次数减到最少,从而使数据库保持最大的可用性;(2)当数据库不可避免地失效后,要使恢复时间减到最少,从而使恢复的效率达到最高; (3)当数据库失效后,要确保尽量少的数据丢失或根本不丢失,从而使数据具有最大的可恢复性。下面笔者就以Oracle8i为例,讨论一下数据库的备份与恢复。
Oracle数据库备份恢复方式及特点
Oracle数据库备份分为物理备份和逻辑备份。物理备份是数据库文件拷贝的备份, 根据备份时数据所处状态的不同,物理备份又可分为冷备份与热备份;导出/导入(EXPORT/IMPORT)工具用于进行逻辑备份。
导出(EXPORT)备份可提取数据与数据库定义,并以Oracle的内部格式保存为二进制文件;导入(IMPORT)用于相反操作。导出备份机制不能提供时间点恢复;而且因其采用查询表的方式,故速度较慢;在导出/导入时必须注意字符集的问题,易出错;对于数据量较大的数据库,导出/导入操作可能会遇到较难解决的不成功情况。
冷备份是在数据库被正常关闭之后进行的数据文件的物理备份。当数据库被关闭时,将数据库的所有数据文件、控制文件、参数文件、口令文件、重做日志文件都拷贝到备份介质中。这些文件因而保持着数据关闭时的完整的映象。
热备份(也称作在线备份)是在数据库运行于ARCHIVELOG模式,在打开的情况下做数据的物理备份。 不使用Oracle RMAN的热备份是将每个表空间设置为备份状态,然后拷贝相应的数据文件,结束后再将表空间恢复成正常的状态。数据库可以利用备份文件与归档日志做完全或不完全的恢复,可以恢复到任一时间点。
上述几种备份方法的特性比较
方法 | 类型 | 恢复特性 |
导出 | 逻辑 | 可以将任何数据库对象恢复到它被导出时的状态 |
冷备份 | 物理 | 可将数据库恢复到它被关闭时的状态 |
热备份 | 物理 | 可将数据库恢复到任一时间点的状态 Oracle数据库恢复管理器 恢复管理器(Recovery Manager,即RMAN)是一个使DBA能很方便地对数据库执行备份和恢复任务的Oracle应用工具,与其他备份方式不同,它能够提供DBA针对企业数据库备份与恢复操作的集中控制。 RMAN的特性在于可以备份数据库、表空间、数据文件、控制文件、归档文件;可以存储用于日常备份的脚本;提供基于块的增量备份,只备份与自一次备份以来发生变化的块,缩短备份和恢复时间;可以检查备份的有效性;备份的过程中可以探测坏块,并记录相应信息到动态视图;可以与操作系统的定时功能集成以达到自动备份的目的;支持Oracle并行服务器备份恢复;备份过程中不产生附加的重做日志,不限制数据文件的读操作,不影响系统性能;提供API以使用第三方介质管理工具,保证使用备份存储设备的速度及可靠性。 实际的物理备份拷贝将被存储在指定的存储系统上,可以是磁带或磁盘。RMAN将全部备份数据以Oracle特有的格式写入到备份集或映象拷贝文件中,通过RMAN应用工具来读取。 Oracle实用工具RMAN的应用为DBA管理多个Oracle数据库提供了集中备份管理与恢复控制的机制,大大减轻了DBA的工作压力,可以从备份数据及重复处理数据的繁琐中解脱出来。而数据库既实现了在线磁带备份,又实现了异机备份集中管理,相应提高了系统运行的安全性。 |