龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

ARCHIVELOG模式中联机备份Oracle数据(1)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
本文就ARCHIVELOG模式中联机备份 Oracle 数据的操作予以说明。因为在ARCHIVELOG模式中,事务将继续运行,同时,备份处理也在继续。可以为开发人员提供高效的数据备份。 与脱机备份不一

本文就ARCHIVELOG模式中联机备份Oracle数据的操作予以说明。因为在ARCHIVELOG模式中,事务将继续运行,同时,备份处理也在继续。可以为开发人员提供高效的数据备份。

与脱机备份不一样,联机备份只要求备份数据文件和控制文件。脱机数据库的备份单位是整个数据库,而联机备份的备份单位是一些或全部表空间。

在 联机备份Oracle 中,思想是,当用户执行事务时,将对数据库所做的所有更改(提交或未提交的)都存储到重做日志缓冲区中,随后由 LGWr 进程把它们写到联机重做日志文件中。重做日志是以循环的方式写入的;因此,在重写它们之前,需要通过启动 ARCH 进程来手动或自动对重做日志进行归档。当记录了所有事务并在以后通过多路复用进行归档时(使用参数 LOG_ARCHIVE_DUPLEX_DEST),如果需要进行媒介恢复,那么可以使用这些归档的重做日志进行恢复。

注意,使用联机备份本身无法保证您不丢失数据。像通过多路复用(放在不同的位置)控制文件使数据库免疫、使用联机重做日志和归档重做日志这样的步骤,都是避免单点故障所必需的。

在联机备份Oracle 中,要从默认的脱机备份切换到具有自动归档的联机备份,您需要执行下面的操作:

在 init.ora 中,用适当的值填写参数 LOG_ARCHIVE_START、LOG_ARCHIVE_DEST、LOG_ARCHIVE_FORMAT 和 LOG_ARCHIVE_DUPLEX_DEST 和 LOG_ARCHIVE_DEST_N。

关闭和启动装入(Mount)。

在 archivelog 模式下操作数据库。

打开数据库。

验证归档日志清单。

归档所有日志。

备份所有新创建的日志。

通过执行命令“Alter Tablespace ts_name Begin Backup”,将任何或所有联机表空间置于联机备份模式来启动联机备份。当发出这个命令时,处于联机备份模式的所有数据文件都将被发放检查点 SCN。换句话说,将把数据缓冲区的所有脏位刷新到数据文件。在初始检查点 SCN 后,就不会再发放新的检查点 SCN。对于没有处在联机备份模式的那些数据文件,随后的检查点将在它们的文件头中添加 SCN。当发出 “Alter Tablespace ts_name End Backup”时,在联机备份数据文件的的文件头中再次记录了检查点 SCN。Begin Backup 和 End backup 命令让 Oracle 知道要重做什么操作,及在前滚会在什么地方终止。

Oracle 建议在 Begin backup和 End backup命令之间耗用最少的时间。此外,应该在这段时间内尽量少进行用户活动,这是由于联机备份Oracle 会在第一次更改块时记录下整个块的映像。对于联机备份数据文件,这将导致生成大量的重做日志。实际上,在执行 Begin backup后,接下来应该立刻执行系统复制,然后由 End backup来快速结束操作。备份是严格按照顺序进行的,这意味着在备份了表空间 1 中的数据文件后,将继续备份表空间 2 中的数据文件。

对于联机备份,需要特别注意 SYSTEM 表空间和回滚段表空间。同时,还需要确保只要对数据库的模式进行了更改,就要对控制文件进行备份。备份脚本应该反映最新的模式。

DB2UDB 联机备份

DB2UDB 执行时间点恢复的机制类似于 Oracle。要了解 DB2UDB 联机备份和恢复,就需要了解归档日志记录。有三种我们需要熟悉的日志定义:
活动日志 ―― 该日志包含没有提交或回滚的事务,或者已提交但尚未刷新到磁盘的事务。
联机归档日志 ―― 该日志包含已提交并且被记录到硬盘的事务的信息,和活动日志位于同一目录。
脱机归档日志 ―― 如果将联机归档日志从活动日志所在目录移动到其他目录或磁带中,就成为了脱机归档日志。

精彩图集

赞助商链接