您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> 数据库综合 >> 正文

Oracle数据库备份恢复的理论基础相关介绍

作者:佚名    责任编辑:admin    更新时间:2022-06-22

本文导航

1、首页2、非归档方式-23、回滚段-3

这是我们为大家提供的一篇关于 介绍Oracle数据库备份恢复的理论基础的文章,接下来就让我们一起来了解一下吧!

Oracle数据库备份恢复概念

Oracle数据库备份是对于数据库的物理结构文件,包括数据文件、日志文件和控制文件的备份。数据库备份又可分为完全数据库备份和部分数据库备份。完全数据库备份是对于构成数据库的全部数据库文件、在线日志文件和控制文件的一个备份。完全数据库备份只能是脱机备份,在数据库正常关闭后进行。在数据库关闭的时候文件的同步号与当前检查点一致,不存在不同步的问题,对于这一类备份方法,在复制回数据库备份文件后不需要进行数据库恢复。部分数据库备份可以在数据库关闭和运行的时候进行。例如,在数据库关闭时备份一个数据文件或在数据库联机时备份一个数据表空间。部分数据库备份由于存在数据库文件之间的不同步,在备份文件复制回数据库时需要实施数据库恢复,所以这种方式只能在归档模式下使用,使用归档日志进行数据库恢复。

1 Oracle的日志文件

Oracle数据库的日志文件(Redo Log Files,也叫重做日志),用于记录对数据库的修改操作信息,包括普通用户对数据库里的数据的修改也包括数据库管理员对数据库结构的修改。因此,数据库的日志信息往往比数据信息还要多。比如说当用户对一个表里的一个字段进行修改,修改完成后提交数据库,这时数据文件中只需要存储修改后的数据,但是日志文件则要记录两个值,一个是修改前的记录值,一个是修改后的记录值。当然如果一段时间之类数据库仅仅只用于查询,没有修改操作,则不会产生日志信息。日志文件是与数据库备份恢复有着最直接关系的文件,有时候其作用甚至比数据文件更加重要。日志文件的作用主要体现在数据库出现故障的时候,当实例或介质失败时使用。如果关掉数据库所在机器的电源,造成数据库实例失败,Oracle 将使用联机重做日志,以将数据库系统恢复到电源停止之前的那一刹那。如果包含数据文件的磁盘驱动器发生永久性故障,Oracle将使用归档的重做日志,与使用联机重做日志一样,将驱动器的备份及时恢复到故障发生前的那一个时间点。例如,如果意外地丢失了一个表,或删除了一些关键的信息,并提交了操作,可以通过这些联机和备份的重做日志来进行恢复,并使Oracle立即将它恢复到事故发生前的时刻。

有两种类型的重做日志文件,它们是联机日志文件的和归档日志文件。每个Oracle数据库至少有两个联机日志文件,这些联机重做日志文件在大小上是固定的,并以循环的方式使用。第一个日志文件被填满后,写入第二个日志文件,然后依此类推。当所有联机日志文件都被填满时,就又回到第一个日志文件,用新事务的数据对其进行重写。从一个日志文件切换到另一个日志文件的动作叫做日志切换。如果数据库正以归档模式运行,在发生日志切换重写联机日志文件前,数据库ARCH(归档进程)将先对其进行备份(即归档),由此就产生了归档日志文件。如果数据库运行在非归档模式,旧的日志文件将直接被新的日志文件所覆盖,不会产生归档日志。

2 Oracle的运行方式

Oracle数据库有两种运行方式,一种是非归档方式,一种是归档方式。