1 Oracle Data Guard 介绍
Oracle Data Guard 主要是为了确保商业数据的高可用, 数据保护和容灾恢复而产生的,它通过创建 、维护、管理和监控一个或多个备库来保证当生产环境中主库遇到数据崩溃和灾难时不影响整个服务应用的正常运行。这些备库类似于主库的一个备份集。当主库计划或非计划中的发生中断时,DG可可以将任一备库以最小的代价切换为主库角色。
因此DG可以被用于传统的备份恢复以及集群技术,以此来提供高级别的数据保护和数据可用性。
本章节主要介绍一下几个内容:
DG 配置
DG 服务
DG 中间件
DG 保护模式
客户端失效切换
DG 及补充技术
DG 优点总览
1.1 Data Guard Configurations
DG的配置有一个生产库(主库)及一个或多个备库组成。这些数据库可能分散在不同的物理位置上通过Oracle DG配置的网络进行连接。对于数据库服务器的物理位置没有严格的限制。
可以通过SQL命令行接口或者DG中间件提供的DGMGRL命令接口、以及EM图形化界面对DG进行维护。
1.1.1 Primary Database
DG 配置包括一个生产库(即主库),这个库主要用于应用访问的,可以是一个单实例的数据库或RAC集群。
1.1.2 Standby Databases
备库则是与主库事务一致性的拷贝。使用的是主库的拷贝备份集。DG配置中一个主库最大允许连接13个备库,一旦建立,通过主库传输Redo data到每一个备库,并随后在备库应用这些Redo数据的方式进行自动的维护。而备库既可以是单个实例也可以是RAC。
备库的类型包括:
Physical standby database (物理备库)
对主库进行物理级别的一致性拷贝,包括磁盘上的数据库结构也基于块对块保持一致。数据库的模式、索引也保持相同。物理备库通过接收来自主库的Redo进行应用保持与主库的数据同步。
从11g release 1以后的版本,在Open状态下以Read-only方式访问物理备库时,仍可以进行Redo日志的接收和应用。
Logical standby database (逻辑备库)
虽在数据的物理组成和结构上有些不同,但与主库保持相同的逻辑结构。
逻辑备库接收主库的Redo数据并转换为SQL语句,最终通过应用SQL语句的方式同步主库的数据。这种模式基于商业目的允许用户任何时候访问备库进行查询或生成报告。
在逻辑备库的方式下,对数据库进行升级和打补丁操作时几乎不需要停止就可以进行。
Snapshot Standby Database (快照备库)
快照备库类似物理或逻辑备库,是一个完全可更新的备库。与物理和逻辑备库不同的是,快照备库仅接收和归档Redo数据,但并不应用这些Redo ,直到该类型的备库转换为物理备库时才对所有的Redo数据进行应用。这种适合那些临时应用的场景,因为当快照转换为物理备库时,会有大量的Redo数据需要应用。
1.1.3 Configuration Example
此图显示为一个典型的DG配置,包含主库传输Redo数据到备库并进行应用的过程。