网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle数据库DECODE函数的作用及.
.DigitalUnixVersion4.0下Oracle8.
.如何估计undo表空间大小.
.如何返回指定行数之间的查询结果.
.移动LOB类型数据段.
.没有备份只有归档日志如何恢复数.
.从纵横五个方面精细优化你的Orac.
.Oracle 数据库备份与恢复专题.
.oracle8i在linux9的安装步骤.
.ORACLE学习笔记--性能优化一.
.Oracle数据库中SQL语句性能调整原.
.使用exp工具进行数据库备份及恢复.
.[范例] LOV (list of values 值列.
.Oracle9i数据挖掘介绍.
.如何判断一个字符串是否为数字或.
.关于PUSH_SUBQ提示的说明.
.Oracle数据库网络的安装和配置(2).
.TOP 20 ISSUES FOR ALL GATEWAYS.
.SQL Server 与Oracle的不同点(从.
.Oracle数据库诊断性能问题.

Oracle和DB2的联机热备份比较

发表日期:2008-2-9


在 Oracle 中,联机备份要求在 ARCHIVELOG 模式中执行对数据库的操作。在一个在线商店中,数据库必须是 24x7 都处于打开状态的,所以,让用户进行脱机备份而不访问数据库是不可能的。在这种场景中,应该在 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 backupEnd backup命令之间耗用最少的时间。此外,应该在这段时间内尽量少进行用户活动,这是由于 Oracle 会在第一次更改块时记录下整个块的映像。对于联机备份数据文件,这将导致生成大量的重做日志。实际上,在执行 Begin backup后,接下来应该马上执行系统复制,然后由 End backup 来快速结束操作。备份是严格按照顺序进行的,这意味着在备份了表空间 1 中的数据文件后,将继续备份表空间 2 中的数据文件。 对于联机备份,需要非凡注重 SYSTEM 表空间和回滚段表空间。同时,还需要确保只要对数据库的模式进行了更改,就要对控制文件进行备份。备份脚本应该反映最新的模式。 DB2 UDB 联机备份 DB2 UDB 执行时间点恢复的机制类似于 Oracle。要了解 DB2 UDB 联机备份和恢复,就需要了解归档日志记录。有三种我们需要熟悉的日志定义:
  • 活动日志 —— 该日志包含没有提交或回滚的事务,或者已提交但尚未刷新到磁盘的事务。
  • 联机归档日志 —— 该日志包含已提交并且被记录到硬盘的事务的信息,和活动日志位于同一目录。
  • 脱机归档日志 —— 假如将联机归档日志从活动日志所在目录移动到其他目录或磁带中,就成为了脱机归档日志。
有许多与日志记录有关的配置参数:
  • LOGFILSIZ —— 每个日志文件的大小,默认值是 250,单位为 4KB。
  • LOGPRIMARY —— 主日志文件的个数(默认值是 3)。
  • LOGSECOND —— 主日志文件占用满时,可以分配的二级日志文件的个数。当把这个参数设为 -1 时(版本 8),可以使用无限数量的活动日志。
  • NEWLOGPATH —— 用来更改日志文件的存储位置。要想使该参数生效,需要重新激活数据库。
  • MIRRORLOGPATH —— 日志文件的镜像路径,以避免单点故障。
  • OVERFLOWLOGPATH —— 指定前滚期间可以在哪些目录搜索需要的日志,以答应前滚操作能访问多个目录中的日志。
  • USEREXIT——用于启动用户出口功能,进行日志的自动归档。
  • BLK_LOG_DSK_FUL——当 DB2 无法在活动日志路径中创建新日志文件时,防止生成磁盘已满错误。
为了使用联机备份,必须打开归档日志记录。通过将 LOGRETAIN 设为 ON,可以打开归档日志记录。 归档日志记录是一种不同于循环日志记录的日志记录机制,因为循环日志记录重写了提交的日志,而归档日志记录归档了提交的日志。 在归档日志记录中,不能重用已经变成归档日志的日志。要移动那些联机归档日志,您需要手动移动它们或者使用用户出口程序(user exit)来移动它们。 图 1举例说明了归档日志记录机制: 图 1. 活动、联机和归档的日志记录


Oracle和DB2的联机热备份比较 图中的 LOG (n+1)是活动日志,log (n) 和 log (n-i)(其中 i<=n)都是联机归档日志。这些归档日志既可以位于存储活动日志的路径中,也可以使用用户出口程序来指定将保存它们的目录或媒介。 默认情况下,活动和联机归档日志保存在 SQLOGDIR 目录中。NEWLOGPATH 数据库配置参数确定了将在哪里存储未来的活动归档日志。要想使 NEWLOGPATH 参数生效,需要停用数据库(目的是关闭所有活动日志文件)。然后,重新激活数据库将导致在新路径中创建新日志文件,原来的归档日志将留在原来的路径中。 当进行联机备份时,将记录所有的数据库事务。在完成联机备份之后,DB2 将强行关闭当前活动日志,并对其进行归档,如 图 2 所示: 图 2. 正在关闭的活动日志

Oracle和DB2的联机热备份比较 要防止脱机归档日志的单点故障,比如媒介失败,则应该使用日志镜像。MIRRORLOGPATH 是用来指定镜像路径的配置参数,它答应 DB2 将相同日志文件的第二份副本写入不同目录中。您需要重新激活数据库,以使 MIRRORLOGPATH 配置参数变得有效。 假如将副本写入镜像日志路径时发生问题,那么 DB2 将在治理通知日志中写入消息,指出已经碰到错误。DB2 将继续把日志记录写入能工作的日志路径中。不需要同步日志路径。要确定哪个日志是活动的,哪些日志是归档的,请使用 DB2 命令 GET DB CFG 来查看“第一个活动日志文件”。该命令提供了目前活动的日志文件,因此被归档的日志将是那些比当前日志更早的日志。 此外,诸如数据库、表空间或增量的备份的每个备份操作都将包括恢复历史文件(RHF)的一个副本。您可以使用历史文件中提供的信息,将整个数据库或数据库的一部分恢复到某个时间点。每个数据库都会创建一个恢复历史文件,并且在下列情况下会自动对该文件进行更新:
  • 备份数据库或表空间。
  • 恢复数据库或表空间。
  • 前滚数据库或表空间。
  • 创建表空间。
  • 修改表空间。
  • 休止表空间。
  • 重命名表空间。
  • 删除表空间。
  • 加载表。
  • 删除表。
  • 重组表。



上一篇:Oracle数据库连接 人气:745
下一篇:Oracle服务器参数文件spfile的使用 人气:642
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐