1.Oracle数据库恢复机制

Oracle利用重做日志(redo log)、撤销记录(undo records)、控制文件(control files)和数据库备份实现数据库恢复。

1)重做日志

重做日志实现对仍在内存还未写入数据文件的数据库修改数据的保护。重做日志包括联机重做日志和归档重做日志。联机重做日志被分为若干组,采用循环写的方式工作。归档重做日志是对联机重做日志的备份。所有的重做日志记录暂时被写到SGA的重做日志缓冲池,再由后台进程LGWR顺序写入联机重做日志中。

2)撤销记录

撤下记录保存在撤销表空间中。Oracle更新未提交事务数据时,先将数据复制到撤销表空间中,在数据更新过程中为用户提供一致性读。数据库恢复时,Oracle应用重做日志中的所有重做日志记录,然后再利用撤销表空间中的原始数据对未提交的事务进行回滚。

3)控制文件

控制文件记录了数据库的物理结构和正在由LGWR进程使用的当前日志序列号。数据库恢复过程中,控制文件中的信息引导恢复操作。

4)数据库备份

由于介质故障的发生,Oracle需要对数据库物理文件进行备份,转储奥数据库系统之外的存储设备上。备份时可以可用Oracle提供的MAN(Recovery Manager)工具,也可以利用操作系统工具。

2.Oracle中的三类备份和恢复

1)物理备份和恢复:这是基于整个数据库、表空间、甚至一个数据文件级的备份和恢复,而不是基于底层的逻辑数据结构,如表或模式。所有数据库文件备份在一起,因此可以同时进行恢复。这也通常称为热备份或冷备份。

2)逻辑备份和恢复:这是基于指定的逻辑数据库结构进行的备份和恢复,如指定的表、索引,甚至可能是模式。逻辑备份和恢复允许以一个比物理备份粒度更细的方式还原数据库。逻辑备份由Oracle Data Pump ExportData Pump Import之类的工具来实现。需要注意的是。不能使用逻辑备份进行恢复,仅能够用它进行还原。

3)恢复管理器(RMAN):这个Oracle工具可以对物理数据库备份进行更多的机制。可以通过RMAN工具集对备份和恢复进行管理。

3.理清头绪

1).指出在备份策略中应该备份的一些文件。

答:应该进行备份的文件包括参数文件、控制文件、撤销日志、归档日志、数据文件、联机重做日志文件、转储文件和跟踪文件。

2).什么是多路复用?哪些对象可多路复用?

多路复用是指同一时刻写到多个位置或者文件的数据。重做日志、归档日志以及控制文件应该进行多路复用,并且每个副本应该在不同磁盘上,以防止磁盘损坏。

3).为什么使用归档日志?

归档日志可实现数据库的全面恢复。没有归档日志就不可能进行恢复(只能还原)。有了归档日志,就可在数据库运行时进行备份,大大提高了数据库的可用性。

4)什么情况下使用冷备份

仅仅需要从冷备份还原数据库,且高可用性并不是关键问题。在这种情况下,可以考虑使用冷备份。

5)热备份和归档日志模式的缺点是什么?

需要管理归档日志文件,不过RMAN能够帮助进行管理。在把表空间置于备份模式时,还会产生额外的日志记录。这种情况下可以通过在数据库不繁忙时定时备份或使用RMAN来避免,RMAN不会将表空间置于备份模式。