第8章备份和恢复.doc

第8章 备份和恢复 本章主要介绍备份和恢复的基本概念、脱机备份和恢复、联机备份和恢复、导出和导入、数据泵技术、恢复管理器(RMAN)、闪回技术和SQL*LOADER工具等知识。 8.1 备份和恢复概述 由于计算机系统的故障,数据库有时可能遭到损坏,如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。因此,Oracle数据库系统的备份和恢复机制是一项有利措施。 备份和恢复是指为保护数据库免于数据破坏或在发生数据破坏后进行数据重建的各种策略和步骤。备份是指对重建数据库的数据所建立的副本,恢复是指利用备份的数据进行重建数据库的过程。 Oracle系统提供了物理备份和逻辑备份两种备份方式。物理备份是指对构成数据库的各种物理文件(如数据文件、控制文件及归档日志文件等)建立副本,Oracle系统允许把物理文件的副本存放在备份设备(用于放置数据库备份的磁带或磁盘等)上。逻辑备份是指导出数据库对象,如表、表空间、过程等。逻辑备份的结果以Oracle提供的内部格式写入操作系统支持的二进制文件,重建数据库时只须把这个二进制文件导入数据库中。 8.1.1 数据库故障类型 Oracle数据库在运行过程中,可能会因为磁盘错误、用户错误或其他各种错误而引发故障。正确理解数据库的故障类型对于采取相应的恢复策略是至关重要的。下面先介绍数据库在运行过程中的故障类型。 Oracle数据库可能发生的故障分为系统故障、介质故障和用户故障。 1.系统故障 系统故障指系统在运行过程中,由于发生操作系统错误、突然停电等意外情况造成所有正在运行的事务都以非正常方式终止,内存缓冲区中的数据全部丢失,但磁盘、磁带等外设上的数据未受损失。 系统故障发生时,数据库事务可能有以下两种状态。 (1)一些未完成的事务对数据的修改信息已经提交到数据库,为保证数据一致性,需要清除这些事务对数据库的修改,由恢复程序强制撤销这些未完成的事务,即进行UNDO操作。 (2)已提交的事务对数据的修改信息在内存缓冲区中,可能还没有提交给数据库,写回磁盘上的物理数据库中。此时数据库也处于不一致性状态,恢复程序重新提交这些已提交事务,即进行REDO操作,使数据库恢复到一致状态。 通常情况下,在数据库重新启动时,恢复程序按照日志文件的记录项自动完成恢复操作。因此,系统故障的恢复一般无须用户进行干预。 2.介质故障 介质故障指系统在运行过程中,由于硬件设施损坏造成数据库中的数据全部或部分丢失。介质故障的危害性最大,但发生的可能性较小。 发生介质故障时,由于物理数据库已经遭到破坏,需要重新安装数据库系统,然后执行日志文件中的日志项记录。具体操作分为下面两个步骤: (1)装入最新的数据库备份,使数据库恢复到一致性状态; (2)装入日志文件备份,重新执行日志文件中的事务。 介质故障的恢复需要由DBA手工装入最新的数据库备份和日志文件备份,并执行恢复命令。 3.用户故障 用户故障是指系统在运行过程中,由于应用程序的错误或手动误操作造成数据库中的数据被删除或损坏。例如,删除数据库中的重要的表或者误修改了表中的数据。 用户故障的恢复可以设置合理的恢复策略,由系统按照日志文件记录的内容进行恢复,或者使用闪回功能,这都需要DBA手动进行干预。 通过对用户设置合理的权限,也可以减少用户故障发生的可能性,避免绝大多数用户故障的发生。 8.1.2 备份与恢复的内容 在恢复数据库时,必须拥有完全恢复数据库的所需文件内容。因此,备份数据库的哪些内容至关重要。一般来说,在Oracle数据库系统中,需要备份和恢复下面4种文件。 1.数据文件 Oracle数据库的逻辑组成单位是表空间,每个Oracle数据库由一个或多个表空间组成,每个表空间由一个或多个数据文件组成。数据文件中对存储数据的管理单元是Oracle块。Oracle块是数据库中最小的数据存储单元。修改或新增数据并不是直接写入到数据文件中,而是写入到内存缓冲区中,由系统按照一定的时间间隔再写入到数据文件。如果数据库实例失败或意外中止,存储在缓冲区内的数据可能没有及时写入到数据文件,造成了数据文件的不一致,就需要对它进行恢复。 2.控制文件 控制文件记载数据库的物理结构和数据库的运行状态,保持控制文件的完好对于数据库的正确运行很重要。控制文件主要包含数据库信息、表空间和数据文件信息、日志文件信息、当前日志序列号信息、检查点信息、日志和归档的当前状态信息等。在控制文件丢失的情况下,如果对丢失的数据进行恢复是极其困难的。 控制文件中的内容并不是一直不变的,每当数据库结构发生改变时,控制文件也会相应地发生改变。因此,应该在每次数据库结构改变时及时备份控制文件。 3.各种参数文件 Oracle数据库中包含多种参数文件,如初始化参数文件、网络配置文件、口

文档评论(0)

1亿VIP精品文档

相关文档