DATAGUARD原理(二)--DG架构

来源:互联网 发布:软件毕业设计题目 编辑:程序博客网 时间:2024/04/30 00:41

从DG的架构图开始了解一下DG的各个组成部分:




简单来看由三部分组成:主库,备库,中间层(各种服务+日志、归档文件),中间层我们放到后面说,先看一下主库和备库:

Primary Database

DG环境包含一个主库。 主库可以是单实例,也可以是RAC 集群。备库至少有一个standby 数据库组成。 主备库之间通过oracle Net进行通信,主备库不受地理位置的限制。

Standby Databases
Standby 数据库与主库一致保持事务一致。一个主库可以对应多个备库。备库的种类在11g中有三种:
1.物理备库
2.逻辑备库
3.快照备库
 
物理standby(Physical standby database)
        物理standby是对主库进行physically identical copy。 这是一种Media recovery,是基于block-for-block的恢复。在数据块级别进行恢复,这种方式没有数据类型的限制,可以保证两个数据库完全一致。
        在Oracle 11g之前,standby 数据库只能在Mount 状态下进行恢复,也可以是打开,但只能已只读方式打开,并且打开时不能执行恢复操作。到了11g,standby 可以启动到read-only状态并同步,这样standby 数据库就可以用来进行一些数据查询操作,提高数据库的利用率。

逻辑standby(Logical standby database)
        逻辑standby 的同步使用的是SQL Apply。这种方式 像logminer挖掘日志,但是通过Logminer 技术,通过把日志内容还原成SQL 语句,然后SQL引擎执行这些语句,Logminer Standby不支持所有数据类型,可以在视图 DBA_LOGSTDBY_UNSUPPORTED 中查看不支持的数据类型,如果使用了这种数据类型,则不能保证数据库完全一致。


快照 standby(Snapshot Standby Database)
Snapshot standby 是Oracle 11g中的新特性,也是对standby database的一次升级。Snapshot standby 和 物理standby,逻辑standby 一样,也会从主库接收归档文件,但是不同的是,snapshot standby 不会应用这些接收的归档。
Snapshot Standby Database和逻辑备库都建立在物理standby基础上,如果我们想在standby 库上做一些测试,因为主库我们不能动,我们可以在备库测。 那么我们就可以把这个standby 切换成snapshot standby。 
切换语句如下:
SQL> alter database convert to snapshot standby;
 把snapshot standby 数据库打开,进行我们的测试。
SQL> alter database open;
测试完毕后,我们把数据库重启到mount 状态。 执行命令将数据库从snapshot状态切换到之前的状态,如物理standby或者逻辑standby。
SQL> alter database convert to physical standby;


从snapshot standby的功能看来oracle是逐渐弱化逻辑备库的,在11g中使用物理备库和快照备库将是主流,顺带吐槽自己,每次发完都得重新修改几次,不是图片看不到就是格式发布后变得混乱 T_T

0 0
原创粉丝点击