Oracle 高可用性:解释数据卫士保护模式

日期: 2009-11-19 作者:Ian AbramsonMichael AbbeyMichael J Corey翻译:冯昀晖 来源:TechTarget中国 英文

设置数据卫士为不同的模式,有不同的配置,这需要适合硬件,也取决于可用的硬件,进程和最终业务需要。   数据卫士可配置的模式有:最大保护模式,最大可用性模式和最大性能模式。数据卫士还可以配置一台以上的备用数据库。甚至在像最大保护这样的模式中,推荐采用多台备用数据库,这是为了确保至少有一台备用机是可用的。

  最大保护模式是为零数据丢失而设计的,因为重做传输是同步进行的。同步传输意味着你是在同时给主数据库服务器和从数据库服务器应用数据库事务。主数据库必须等应用到备用数据库的事务返回响应,才能提交事务。对于在从站点拥有两台备用服务器或者甚至配置了真正应用集群的情况,推荐使用这种解决方案,因为在这种模……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

设置数据卫士为不同的模式,有不同的配置,这需要适合硬件,也取决于可用的硬件,进程和最终业务需要。

  数据卫士可配置的模式有:最大保护模式,最大可用性模式和最大性能模式。数据卫士还可以配置一台以上的备用数据库。甚至在像最大保护这样的模式中,推荐采用多台备用数据库,这是为了确保至少有一台备用机是可用的。

  最大保护模式是为零数据丢失而设计的,因为重做传输是同步进行的。同步传输意味着你是在同时给主数据库服务器和从数据库服务器应用数据库事务。主数据库必须等应用到备用数据库的事务返回响应,才能提交事务。对于在从站点拥有两台备用服务器或者甚至配置了真正应用集群的情况,推荐使用这种解决方案,因为在这种模式下如果备用服务器出故障了,主服务器也会停止工作。

  最大可用性模式也有零数据丢失的目标(也是重做日志同步)。与最大化保护模式的差异在于,如果备用服务器出故障了,或者连接出了问题,允许主服务器继续运行,而备用服务器退到后边。由于存在这种容错机制,所以这种模式并不强烈要求一个以上的备用服务器。

  最大性能模式存在最小化数据丢失的可能性,但是性能是首要关注的内容。这是因为重做传输是异步进行的,而且它不会强制要求返回主服务器响应之后,主服务器才执行提交。因此,如果传输是使主数据库性能变慢的关键原因,而且性能风险比数据丢失的风险更高的话,最大性能模式就再适合不过了。

  正如我们之前讨论的,每种模式有不同的服务处理传输和应用程序:

  传输服务是处理同步和异步传输的部分。这些服务把日志或者事务移动到可用的备用服务器上,并验证这些信息是否被应用到了这些服务器上。同步传输会在提交事务之前验证该事务是否已经被同时应用到了主服务器和备用服务器上。异步传输会验证已经被送出的事务,但是即便它在备用服务器上没有执行完成,在主服务器上的事务也会提交。

  应用服务处理SQL应用或者重做应用。应用服务处理SQL语句或者重做日志,对应用它们到备用数据库进行控制。SQL应用处理重做并把它转换成SQL语句。在主数据库和备用数据库上运行SQL语句之后,备用数据库与主数据库基本类似,可以被用作逻辑备用数据库。重做日志被用于保持物理备用数据库与主数据库保持一致。重做信息通过重做应用被应用到备用服务器,受应用服务控制。

  角色管理服务用来实现备用服务器向主服务器转换。这一功能既可用于计划内切换,也可用于由于意外停机导致的向另一台服务器切换。

  图8-9展示了数据卫士环境的配置,以及如何配置主服务器和备用服务器,甚至配置为不需要在同一地点。服务器可以在同一个数据中心,也可以在一条街上,或者也可以彼此远在不同的城市,这取决于用途和需求。把服务器放在不同的城市提供的高可用性,甚至在主服务器所在城市发生灾难性事件时,灾备也可以起到作用。同时,在图8-9中,注意使用备用服务器可用的选项,比如:报表,系统测试,或者甚至运行备份,这些类型的活动可以从主服务器上移出来,从而减轻主服务器的负载。

  图8-9:数据卫士配置

  通过重做应用Redo Apply,备用数据库可以被以只读查询的方式打开。在备用服务器上的恢复活动被取消,然后数据库被打开。如果你使用的是活动数据卫士选项,重做应用可以被再次启动,使备用服务器在让数据库打开时拥有实时数据。这一点可以在备用数据库的sqlplus中进行配置。

  SQLPLUS> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

  SQLPLUS> ALTER DATABASE OPEN READ ONLY;

  然后开始再次应用重做:

  SQLPLUS> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE

  USING CURRENT LOGFILE DISCONNECT;

  /* 当日志被应用时,数据库仍然处于打开状态,支持只读查询和报表。*/

  使用备用服务器还有另一种选择,就是用作快照数据库,可以被更新并用于测试。在这段时间内,不会应用日志。在测试完成之后,快照数据库通过使用闪回数据库的恢复点被转换回到备用数据库。

  创建快照:

  SQLPLUS> ALTER DATABASE CONVERT TO SNAPSHOT STANDBY;

  转换回备用模式:

  SQLPLUS> ALTER DATABASE CONVERT TO PHYSICAL STANDBY DATABASE;

  在使用SQL应用利用快照数据库时,停止SQL语句的应用不是必须的。这是因为通过让应用到主服务器的SQL也同样应用到备用服务器,备用服务器保持着同步。因此,在备用服务器仍然在被同步时,它对于查询,运行报表或者备份还是可用的。这里显示的设置备用服务器为读访问的命令不是必须的,但是在初始化设置的时候,要展示正在使用的SQL应用时是必须的。

  SQLPLUS> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

相关推荐

  • Oracle 高可用性:理解数据卫士

    数据卫士在Oracle 8i版本就以某种形式存在了;然而,通过11g中的二级数据库,可以在它处于以读取方式打开的情况下执行恢复。