ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 盛哥学习 Data Guard 第一篇《先了解大概》

盛哥学习 Data Guard 第一篇《先了解大概》

原创 Linux操作系统 作者:leonarding 时间:2012-05-08 21:53:36 0 删除 编辑

   第一篇  先了解大概

我刚接触DG的时候认为就是2个字母组合并不知道是2个单词的缩写(多么悲催)

上网百度后才知哦高科技啊,Data Gurad 数据容灾备份技术,以前叫standby database,从字面上看有人也叫他“数据卫士”,DG是一种oracle给出的高可用性解决方案属于存储级的HA技术。有人想问什么叫“存储级的HA技术”是不是还有其他级的HA技术,似的!!!大家耳熟能详的听说过RAC吧,这就可成为“实例级的HA技术”。不同点在于DG是解决存储单点故障的HA技术,RAC是解决实例单点故障的HA技术,有人会想的如果组合起来使用是不是更加完美了,呵呵真是思路开阔,回答的就是完美,绝对没问题。先做了开场白,也跟大家混个脸熟,我本名叫刘盛,圈子里的人都叫“盛哥”估计是因为好记:)ITpub_id:leonardinQQ 40354446  bloghttp://space.itpub.net/26686207   口号:分享知识 收获快乐

    Data Guard 架构

Data Guard是怎么组成的呢?或者说如何构建一个完整DG呢???

Data Guard是一个系统是由primary  database(主库) standby  database(备库)组成的。一个主库最多可带9个备库还可级联。备库的位置可分布在不同的地域,例如Data Guard Policy 策略第一套 备库可放在同机房  第二套备库可放在同城机房  第三套备库可放在异地机房,这就是我们常说的三保险策略。只要网络环境好,DG对地理条件是没有限制的。现在支持的操作系统Linux  UNIX  Solaris  windows(单进程程序,实际用的很少,不建议使用),那么DG管理方式呢?在生产中,主要有2中方式去管理,第一采用sqlplus命令行的方式去管理(实际生产中用的很多),第二采用Grid Control (外国朋友非常热衷于这个)。

primary  database(主库):就是为我们生产环境提供主要支持的数据库,是open状态可任意操作。即可以是单实例也可以是RAC结构

standby  database(备库):就是当我们主库出现问题不能对外提供服务的时候,坐冷板凳的我们立刻显示出了重要性,马上替换成主角继续对外提供服务。即可以是单实例也可以是RAC结构。

Data  Guard种类:主要分为2类,一类是物理standby库,另一类是逻辑standby库。如何区分这2种备库,各有什么特点,在什么业务中使用,下面我会一一介绍。

物理Data Guard

Concept:基于数据块应用的,在备库中通过redo日志重演数据变化,物理的效率高,因为redo直接应用底层数据块(也就是相当于块对块的copy),连块的位置都是一样的(默认情况下),主库有什么备库就有什么。当备库正在应用redo时数据库不能为open状态

Read-only 模式

Select open_mode from v$database; 查看到read-only,这时候说明数据库为“只读模式”,当备库为read only模式时,能够对外提供查询服务和备份服务例如提供报表查询服务,相当于减轻了主库的压力,此时备库只能接收redo日志不能应用日志(在10G之前是这样,11G就能active备库了,技能在open时接收同时也能应用日志了)。举个小例子,我们可以设计成主库只负责写入数据,备库只负责查询数据,这样便平衡了应用负载。如果要想应用日志必须把状态转变为mount此时只能应用不能被查询了,你可以根据情况在这2种状态间进行转换。

Read-write 模式

Select open_mode from v$database; 查看到read-write,这时候说明数据库为“读写模式”,当备库为read write模式时,备库将暂停接收主库的redo日志,此时2边的日志数就不能保持同步了,当然备库也就失去了数据保护和容灾恢复的功能了。那什么时候会用到呢。当我们需要在数据库上做一些操作,但一时不能直接在主库上操作时,可以临时把备库调整为“read-write”(此时要把闪回打开)等操作完之后闪回到初始状态,Data Guard会自动开始同步不需要重建备库。

总结物理Data Guard,提供了一个安全且高效的容灾恢复高可用方案,既非常方便的角色之间的切换,又非常的自动化(它会自己探测当前的状态和日志应用情况)。可以保证在就算9.11 发生了数据也不会丢失。物理的效率高因为直接对底层数据块的应用,就像照镜子,主库的哪个块发生了变化备库的哪个块也就发生了变化。还可以减轻主库的压力,读写分离,平衡负载。

逻辑Data Guard

Concept:基于SQL代码应用,逻辑Data Guard只是说明在逻辑层面上与主库相同,物理结构可以不同。流程redo-> 解析-> SQL语句(DML  DDL->应用在备库,也正因为有这样的特性备库可以以read-write模式打开,一边应用日志一边在本机操作。缺点,逻辑的效率低,因为解析SQL语句需要消耗大量系统资源。逻辑Data Guard对一些数据类型和一些ddldml不提供支持。

逻辑Data Guard 特点概述

1.因为可以在物理结构上不同,因此我们能在备库上创建额外的一些主键、索引、临时表等提高查询性能,还能创建额外的用户user,来支持特定业务的需求。

2.备库可以在应用日志的同时处于open状态,而应用的那些表处于只读状态。你可以在备库上额外的做一些临时操作(好比备库>主库,包含的意思)同时对外提供报表查询服务,减轻了主库的压力

3.逻辑Data Guard可以实现跨平台的升级,但物理Data Guard却力不从心。

   Data Guard三种保护模式

Oracle Data Guard为我们提供了非常人性化的三种保护模式,其目的应用于不同的保护级别和场合,存在的目的就是让我们的数据库,健健康康活着,创造出自己的价值

1)保护最大化:主库与备库实时同步数据,如果主库挂了,备库也不能前进,等主库好了,备库才能前进(在写入主库的redo日志时同时写入备库redo日志,并且保证至少有一个备库redo日志可用【当你有多个备库时】),最大限度的保证数据的完整性,不允许丢数据。实际生产很少用

2)可用最大化:主库与备库实时同步数据,当网络或备库出现问题时,不影响主库的工作

而是转换为“性能最大化”模式,等备库恢复正常后,再转换为可用最大化模式。实际生产很少用

3)性能最大化:主库与备库是异步传输数据(定期传日志),保证主库的性能最好,如果主库挂了,尽最大努力恢复备库。实际生产很多用

总结:最大保护和最大可用都需要至少一个备库的redo日志可用。最大性能有可能丢数据,只能尽最大努力去恢复备库

   说说Data Guard 优点

1.数据保护

2.容灾恢复

3.灵活平衡性能和保护最佳点

4.高效利用系统资源

5.均衡负载降低主库压力

6.角色状态自动恢复

   硬件、操作系统、参数注意事项

1.      主库和备库必须是同一个平台。32位或者64位。X86 或者小机架构

2.      操作系统必须是同一个厂家的,但操作系统的版本号可以不同。比如redhat 5 redhat 4可以组成一组Data Guard

3.      Oracle企业版才支持Data Guard功能

4.      主备库的compatible参数必须一致

5.      主备库的管理员密码必须一致

6.      主备库都要在归档模式下

7.      主备库都可以是单实例或者RAC模式

8.      主备库可以搭建在一台主机上,需要注意各自的日志目录和数据目录

9.      底层采用相同的存储模式FilesystemASMOMF

10.  主库必须设置Force logging参数(不管什么操作都生成日志)

  日志的传输模式LGWR ARCH

ARCH:当我采用此模式传输日志的话,主库触发ARCH进程后把归档数据传输到备库,此时备库接受到归档数据后才能应用。Arch模式不写standby  logfile,直接保存归档。

LGWR:当我们采用此模式传输日志的话,主库触发LGWR进程后把重做数据传输到备库,此时备库接受到重做数据后默认并不应用,等形成归档日志后,应用归档日志。如果开启real time【实时应用】选项则接受重做数据后,直接应用standby  logfile。为了保证数据库的事物一致性两边必须要有归档日志。

  角色转换  

Data Guard中有2中角色一个是 primary  一个是standby,所谓的转换是在这2个角色间切换

两种切换模式

switchover主备库可以顺利的切换角色,主变成备,备变成主,不会破坏Data Guard架构

failover放弃式切换,当主库出现紧急问题又不能及时修复,启动备库切换成主库,主库立刻脱离Data Guard架构,当有多个备库时,其中一台备库成为主库后,其他备库均失效。

小结:现在基本上对Data Guard的框架、术语、名词解释大致通讲了一遍,后续慢慢的再深入的讲开、扩大、挖深、提精。敬请期待。

 

 

 

leonarding

2012.5.8

于天津&

QQ 40354446

 

 

 

 

 

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26686207/viewspace-723085/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
刘盛,网名leonarding,the first ACEA in china, Oracle OCM10g&11g RHCE, ACOUG Core Member Blogger, DATAGURU Oracle数据库版主, ITPUB HADOOP版版主, DB2中国专家组成员, 专注于&Oracle&Hadoop&Nosql&SAS, 提倡“分享技术~成就梦想”, 新浪微博:@itpub_leonarding QQ:40354446

注册时间:2012-02-10

  • 博文量
    240
  • 访问量
    3249756