没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
[]
一步一步学DataGuard
DataGuard
DataGuard
DataGuard
本系列是一个一般初学者学习过程的记录,其中的概念可能解释的略显初级,其中的过程可能演示的略显
生疏,其中的操作可能表现的略显繁琐,但,它记录了一种方法,一番热忱,一段历程,希望我曾经的崎岖能
帮助你走的更平坦:
第一部分-
-
-
-
基础1
1
1
1
之名词先混个脸熟
.....................................
.....................................
.....................................
.....................................2007.11.23
第一部分-
-
-
-
基础2
2
2
2
之术语再了解大概.....................................
.....................................
.....................................
.....................................2007.11.29
第二部分-
-
-
-
物理standby(1)
standby(1)
standby(1)
standby(1)
创建步骤......................................
......................................
......................................
......................................2007.12.03
第二部分-
-
-
-
物理standby(2)
standby(2)
standby(2)
standby(2)
创建示例......................................
......................................
......................................
......................................2007.12.06
第二部分-
-
-
-
物理standby(3)
standby(3)
standby(3)
standby(3)
角色转换......................................
......................................
......................................
......................................2007.12.11
第二部分-
-
-
-
物理standby(4)
standby(4)
standby(4)
standby(4)
高级管理......................................
......................................
......................................
......................................2008.01.13
第三部分-
-
-
-
逻辑standby(1)
standby(1)
standby(1)
standby(1)
创建步骤......................................
......................................
......................................
......................................2008.02.03
第三部分-
-
-
-
逻辑standby(2)
standby(2)
standby(2)
standby(2)
创建示例......................................
......................................
......................................
......................................2008.02.18
第三部分-
-
-
-
逻辑standby(3)
standby(3)
standby(3)
standby(3)
角色转换......................................
......................................
......................................
......................................2008.02.22
第三部分-
-
-
-
逻辑standby(4)
standby(4)
standby(4)
standby(4)
高级管理......................................
......................................
......................................
......................................2008.03.04
第四部分-
-
-
-
补充(1)Standby
(1)Standby
(1)Standby
(1)Standby
之Redo
Redo
Redo
Redo
传输服务......................
......................
......................
......................2007.12.18
第四部分-
-
-
-
补充(2)Standby
(2)Standby
(2)Standby
(2)Standby
之选择保护模式.........................
.........................
.........................
.........................2007.12.21
第四部分-
-
-
-
补充(3)Standby
(3)Standby
(3)Standby
(3)Standby
之Log
Log
Log
Log
应用服务.........................
.........................
.........................
.........................2008.02.26
第四部分-
-
-
-
附章(1)RMAN
(1)RMAN
(1)RMAN
(1)RMAN
备份来创建之热身.......................
.......................
.......................
.......................2008.01.22
第四部分-
-
-
-
附章(2)RMAN
(2)RMAN
(2)RMAN
(2)RMAN
备份来创建之实践.......................
.......................
.......................
.......................2008.01.28
第一部分基础1
1
1
1
之名词先混个脸熟
2007.11.23
它有无数个名字,有人叫它dg, 有人叫它数据卫士,有人叫它dataguard,在oracle的各项特性中它有着举
足轻理的地位,它就是(掌声)......................OracleDataGuard。而对于我而言,我一定要亲切的叫它:DG(注:主
要是因为打着方便)。
不少未实际接触过dg的初学者可能会下意识以为dg是一个备份恢复的工具。我要说的是,这种形容不完
全错,dg拥有备份的功能,某些情况下它甚至可以与primary数据库完全一模一样,但是它存在的目的并不仅
仅是为了恢复数据,应该说它的存在是为了确保企业数据的高可用性,数据保护以及灾难恢复(
注意这个字眼,
灾难恢复)。dg提供全面的服务包括:创建,维护,管理以及监控standby数据库,确保数据安全,管理员可以
通过将一些操作转移到standby数据库执行的方式改善数据库性能。后面这一长串大家可以把它们理解成形容
词,千万不要被其花哨的修饰所迷惑,要抓住重点,要拥有透明现象看本质的能力,如果没有那就要努力学习
去拥有,下面我来举一个例子,比如我们夸人会说它聪明勇敢善良等等,这些就属于形容词,不重要,重点在
于我们究竟想形容这个人是好人还是坏人。 然后再回来看看oracle对dg功能上的形容, 数据保护和灾难恢复应
该都可以归结为高可用性,那么我们可以清晰的定位dg的用途了,就是构建高可用的企业数据库应用环境。
一、Data
Data
Data
Data
Guard
Guard
Guard
Guard
配置(Data
(Data
(Data
(Data
Guard
Guard
Guard
Guard
Configurations)
Configurations)
Configurations)
Configurations)
DataGuard是一个集合,由一个primary数据库(生产数据库)及一个或多个standby数据库(最多9个)
组成。
组成DataGuard的数据库通过OracleNet连接,并且有可能分布于不同地域。只要各库之间可以相互通信,它
们的物理位置并没有什么限制,至于操作系统就更无所谓了(某些情况下),只要支持oracle就行了。
你即可以通过命令行方式管理primary数据库或standby数据库,也可以通过DataGuardbroker提供的专用
命令行界面(DGMGRL),或者通过OEM图形化界面管理。
1.
1.
1.
1.
Primary
Primary
Primary
Primary
数据库
前面提到, DataGuard包含一个primary数据库即被大部分应用访问的生产数据库, 该库即可以是单实例数
据库,也可以是RAC。
2.
2.
2.
2.
Standby
Standby
Standby
Standby
数据库
Standby数据库是primary数据库的复制(事务上一致)。 在同一个DataGuard中你可以最多创建9个standby
数据库。一旦创建完成,DataGuard通过应用primary数据库的redo自动维护每一个standby数据库。Standby
数据库同样即可以是单实例数据库,也可以是RAC结构。关于standby数据库,通常分两类:逻辑standby和
物理standby,如何区分,两类各有什么特点,如何搭建,这方面内容就是后面的章节主要介绍的,在这里呢三
思先简单白话一下:
逻辑standby
就像你请人帮你素描画像,基本器官是都会有的,这点你放心,但是各器官位置啦大小啦肤色啦就不
一定跟你本人一致了。
物理standby
就像拿相机拍照,你长什么样出来的照片就是什么样,眼睛绝对在鼻子上头。 或者说就像你去照镜子
,
里外都是你,哇哈哈。具体到数据库就是不仅文件的物理结构相同,甚至连块在磁盘上的存储位置都是一
模一样的(默认情况下)。
为什么会这样呢?这事就得从同步的机制说起了。逻辑standby是通过接收primary数据库的redolog
并转换成sql语句, 然后在standby数据库上执行SQL语句(SQLApply)实现同步, 物理standby是通过接收
并应用primary数据库的redolog以介质恢复的方式(RedoApply)实现同步。
另外,不知道大家是否注意到形容词上的细节:对于相机拍照而言,有种傻瓜相机功能强大而操作简
便, 而对于素描, 即使是最简单的画法, 也需要相当多的练习才能掌握。 这个细节是不是也说明逻辑standby
相比物理standby需要操作者拥有更多的操作技能呢?
二、Data
Data
Data
Data
Guard
Guard
Guard
Guard
服务(Data
(Data
(Data
(Data
Guard
Guard
Guard
Guard
Services)
Services)
Services)
Services)
REDO传输服务(RedoTransportServices)
控制redo数据的传输到一个或多个归档目的地。
Log应用服务(LogApplyServices)
应用redo数据到standby数据库,以保持与primary数据库的事务一致。redo数据即可以从standby数
据库的归档文件读取,也可直接应用standbyredolog文件(如果实时应用打开了的话)。
角色转换服务(RoleTransitions)
Dg中只有两种角色:primary和standby。所谓角色转换就是让数据库在这两个角色中切换,切换也分
两种:switchover和failover
switchover:转换primary数据库与standby数据库。switchover可以确保不会丢失数据。
failover:当primary数据库出现故障并且不能被及时恢复时,会调用failover将一个standby数据库转
换为新的primary数据库。在最大保护模式或最高可用性模式下,failover可以保证不会丢失数据。
注:上述各概念简要了解即可,这里写的太简单,不要咬文嚼字,不然你会越看越糊涂,相关服务在后面
章节将会有详细介绍,不仅有直白的描述,还会有示例,再加上浅显的图片,就算你一看不懂,再看肯定懂: )
三、Data
Data
Data
Data
Guard
Guard
Guard
Guard
保护模式(Data
(Data
(Data
(Data
Guard
Guard
Guard
Guard
Protection
Protection
Protection
Protection
Modes)
Modes)
Modes)
Modes)
对于DataGuard而言,其生存逻辑非常简单,好好活,做有意义的事,做黑多黑多有意义的事: )
由于它提供了三种数据保护的模式,我们又亲切的叫它:有三模:
最大保护(Maximum
(Maximum
(Maximum
(Maximum
protection)
protection)
protection)
protection)
:
这种模式能够确保绝无数据丢失。要实现这一步当然是有代价的,它要求所有的事务在提交前其redo不仅
被写入到本地的onlineredolog,还要同时提交到standby数据库的standbyredolog,并确认redo数据至少在一
个standby数据库可用(如果有多个的话),然后才会在primary数据库上提交。如果出现了什么故障导致standby
数据库不可用的话,primary数据库会被shutdown。
最高性能(Maximum
(Maximum
(Maximum
(Maximum
performance)
performance)
performance)
performance)
:
这种模式提供在不影响primary数据库性能前提下最高级别的数据保护策略。事务可以随时提交,当前
primary数据库的redo数据也需要至少写入一个standby数据库,不过这种写入可以是不同步的。
如果网络条件理想的话, 这种模式能够提供类似最高可用性的数据保护而仅对primary数据库有轻微的性能
影响。
最高可用性(Maximum
(Maximum
(Maximum
(Maximum
availability)
availability)
availability)
availability)
:
这种模式提供在不影响primary数据库可用前提下最高级别的数据保护策略。 其实现方式与最大保护模式类
似,也是要求所有事务在提交前必须保障redo数据至少在一个standby数据库可用,不过与之不同的是,如果
出现故障导入无法同时写入standby数据库redolog,primary数据库并不会shutdown,而是自动转为最高性能
模式,等standby数据库恢复正常之后,它又会再自动转换成最高可用性模式。
最大保护及最高可用性需要至少一个standby数据库redo数据被同步写入。三种模式都需要指定
LOG_ARCHIVE_DEST_n初始化参数。LOG_ARCHIVE_DEST_n很重要,你看着很眼熟是吧,我保证,如果你
完完整整学完dataguard,你会对它更熟。
四、Data
Data
Data
Data
Guard
Guard
Guard
Guard
优点总结
灾难恢复及高可用性
全面的数据保护
有效利用系统资源
在高可用及高性能之间更加灵活的平衡机制
故障自动检查及解决方案
集中的易用的管理模式
自动化的角色转换
经常开篇的灌输,相信大家已经看的出来,上面这几条都是形容词,看看就好,记住更好,跟人穷白活的
时候通常能够用上:)
第一部分基础2
2
2
2
之术语再了解大概
2007.11.29
同一个DataGuard配置包含一个Primary数据库和最多九个Standby数据库。Primary的创建就不说了,
Standby数据库初始可以通过primary数据库的备份创建。一旦创建并配置成standby后,dg负责传输primary
数据库redodata到standby数据库,standby数据库通过应用接收到的redodata保持与primary数据库的事务一
致。
一、Standby
Standby
Standby
Standby
数据库类型
前章我们简单介绍了Standby数据库,并且也知道其通常分为两类:物理standby和逻辑standby,同时也
简短的描述了其各自的特点,下面我们就相关方面进行一些稍深入的了解:
1.
1.
1.
1.
物理standby
standby
standby
standby
我们知道物理standby与primary数据库完全一模一样(默认情况下, 当然也可以不一样, 事无绝对嘛)
,
Dg通过redo应用维护物理standby数据库。通常在不应用恢复的时候,可以以read-only模式打开,如果
数据库指定了flashbackarea的话,也可以被临时性的置为read-write模式。
Redo应用
物理standby通过应用归档文件或直接从standby系统中通过oracle恢复机制应用redo
文件。 恢
复
操作属于块对块的应用(不理解?那就理解成块复制,将redo中发生了变化的块复制到standby)。如果
正在应用redo,数据库不能被open。
Redo应用是物理standby的核心,务必要搞清楚其概念和原理,后续将有专门章节介绍。
Read-only模式
以read-only模式打开后,你可以在standby数据库执行查询,或者备份等操作(变相减轻primary
数据库压力)。此时standby数据库仍然可以继续接收redo数据,不过并不会触发操作,直到数据库恢
复redo应用。 也就是说read-only模式时不能执行redo应用, redo应用时数据库肯定处于未打开状态
。
如果需要的话,你可以在两种状态间转换,比如先应用redo,然后read-only,然后切换数据库状态再应
用redo,呵呵,人生就是循环,数据库也是一样。
Read-write模式
如果以read-write模式打开,则standby数据库将暂停从primary数据库接收redo数据,并且暂时
失去灾难保护的功能。 当然, 以read-write模式打开也并非一无是处, 比如你可能需要临时调试一些数
据,但是又不方便在正式库操作,那就可以临时将standby数据库置为read-write模式,操作完之后将
数据库闪回到操作前的状态(闪回之后,DataGuard会自动同步,不需要重建standby)。
物理standby特点
灾难恢复及高可用性
物理standby提供了一个健全而且极高效的灾难恢复及高可用性的解决方案。 更加易于管理的
switchover/failover角色转换及最更短的计划内或计划外停机时间。
数据保护
应用物理standby数据库,Dg能够确保即使面对无法预料的灾害也能够不丢失数据。前面也
提到物理standby是基于块对块的复制,因此对象、语句统统无关,primary数据库上有什么,物
剩余98页未读,继续阅读
资源评论
shandongwill
- 粉丝: 3709
- 资源: 467
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功