数据库读写分离解决方案
----oracle 11G ADG实施方案
1. 项目背景介绍
1.1 目的
通过DG实现主库与备库同步,主库作为业务应用库,备库作为查询库,应用根据不同需求配置对应数据库;
1.2 测试环境
在2台RedHat5.4上使用ORACLE 的DataGuard组件实现容灾。设备配置(VMWare虚拟机环境)清单如下: 主机型号 数据实例 ORCL ORCL 配置 CPU:1 MEM:2G CPU:1 MEM:2G 数据库版本 Oracle 11gR2 11.2.0.1 Oracle 11gR2 11.2.0.1 RedHat 5.4(32位) RedHat 5.4(32位)
2. Oracle DataGuard 介绍
备用数据库(standby database)是ORACLE 推出的一种高可用性(HIGH AVAILABLE)数据库方案,在主节点与备用节点间通过日志同步来保证数据的同步,备用节点作为主节点的备份,可以实现快速切换与灾难性恢复。
? STANDBY DATABASE的类型:
有两种类型的STANDBY:物理STANDBY和逻辑STANDBY 两种类型的工作原理可通过如下图来说明:
physical standby提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。它是可以直接应用REDO实现同步的。
logical standby则不是这样,在logical standby中,逻辑信息是相同的,但
物理组织和数据结构可以不同,它和主库保持同步的方法是将接收的REDO转换成SQL语句,然后在STANDBY上执行SQL语句。逻辑STANDBY除灾难恢复外还有其它用途,比如用于用户进行查询和报表,但其数据库用户相关对象均需要有主键。
? 本次实施将选择物理STANDBY(physical standby)方式
? 对主库的保护模式可以有以下三种模式:
– Maximum protection (最高保护) –Maximum availability (最高可用性) –Maximum performance (最高性能) 三种保护模式区别如下: 保护模式 最高保护 数据丢失保护 零数据丢失 双重故障保护 零数据丢失 单重故障保护 最少的数据丢失 重做传输 LGWR SYNC — 将重做同步传输至两个站点,网络中断会导致主Database宕机 LGWR SYNC — 重做同步传输 LGWR ASYNC 或 ARCH — 重做异步传输
? 基于项目应用的特征及需求,本项目比较适合采用Maximum availability (最
最高可用性 最高性能 高可用性)模式实施。
3. Dataguard 实施前提条件和注意事项:
? 灾备环境中的所有节点必须安装相同的操作系统,尽可能令详细补丁也保持相
同。
? 灾备环境中的所有节点必须安装完全相同版本的Oracle数据库软件,包括版本
号和发布号,比如必须都是Oracle 11.2.0.1 ? 主库必须处于归档(ARCHIVELOG)模式。 ? 灾备环境中所有节点的硬件和操作系统架构必须相同 ? 主库可以是单实例,也可以是RAC。
? 主节点和备用节点之间的硬件配置可以不同,比如CPU数量,存数量,存储
的配置等等。
? 配置灾备环境的数据库用户必须具有SYSDBA权限。