环境描述:html
1.节点描述
节点 IP |
节点描述 |
11.6.76.221 |
GG 抽取端 / DG 节点,数据库版本号为 Oracle-11.2.0.3,与 11.6.76.222 组成 DataGuard。 |
11.6.76.222 |
DG 节点,数据库版本号为 Oracle-11.2.0.3,与 11.6.76.221 组成 DataGuard。 |
192.168.87.221 |
GG 复制端,数据库版本号为 Oracle-11.2.0.4 |
2.拓扑结构
方案描述:
假设 11.6.76.221 最初为 DataGuard 主节点,则接下来经过描述 DataGuard 主备快速切换的完整过程,实现方案描述。
1.断开应用于数据库链接(GG抽取端 / DG 主库)
假设数据库配置了专门用于应用链接的 Service,且应用均经过 Service 链接数据库,则快速安全的操做步骤以下。
(1).中止应用系统;
(2).中止应用链接的 Service;
(3).Kill 应用会话;
(4).中止数据库
计划做业。
操做后,拓扑结构以下图所示。
2.禁用备库 Service(DG 备库)
中止备库 Service,防止 DataGuard 主备角色切换后,Service 自动启动。
注意:在 Service 启动的状态下,应用系统将可以链接数据库,
而此时 GG 切换仍未完成,极可能形成数据丢失。
3.检查 GG 抽取所有完成(GG 抽取端 / DG 主库)
随着数据库上应用链接的断开、定时做业的中止,此时数据库的数据处于静止状态。
注意:假若 DataGuard 切换的整个过程均能保证数据静止,那么 DG 切换后,只需重置 GG 抽取点便可实现 GG 快速切换。不然,直接基于 GG 官方方案切换,抽取进程需搜索 DG 切换点,其过程十分耗时,且难以实现自动化。具体参见《GoldenGate Installing and Configuring Oracle GoldenGate for Oracle Database》-11.6.4 Handling Role Changes In an ADG Configuration
所以,检查 GG 抽取所有完成是
关键步骤,以下所示。
a.切换日志组
因为此时数据库已经处于
静止状态,所以切换日志组后,
最新日志组上并无实际的 Redo 信息。
所以假若抽取进程已对最新日志组进行抽取,即可以确认 GG 抽取所有完成。
b.检查 GG 抽取进程当前 Seqno 状态
经过 GGSCI>
info [process_name] 方式,检查 GG 抽取进程当前的 Seqno 状态。
假设切换后最新
在线日志组 Sequence 号为 22753,则进程抽取 Seqno 也为 22753 时,则证实 GG 抽取所有完成。
4.DG 切换(GG 抽取端 / DG 主库、DG 备库)
进行 DataGuard 主备切换后,拓扑内各节点的状态以下。
节点 IP |
节点状态 |
11.6.76.221 |
仍为 GG 抽取端,DataGuard 角色由 Primary -> Standby。因为角色发生了变化,所以将致使传统抽取模式下的抽取进程挂起,处于 Abend 状态。 |
11.6.76.222 |
DataGuard 角色由 Standby-> Primary。 |
192.168.87.221 |
仍为 GG 目标端。 |
主备切换后,拓扑结构以下所示。
5.切换 GG 抽取模式(GG 抽取端 / DG 现备库)
为保证 DG 角色切换后,传统抽取进程能正常对 Standby Redo 进行抽取,须要切换 GG 抽取模式为
ADG 模式。具体经过在抽取参数文件中新增以下参数。
TRANLOGOPTIONS MINEFROMACTIVEDG
注意:因为数据库处于静止状态,新增抽取参数后,可直接重置抽取点为当前,并重启进程,实现 GG 模块快速切换。操做步骤以下所示:
GGSCI>
alter extract [process_name], tranlog, begin now
start [process_name]
例如:切换名为 EIVR 的 GG 抽取进程操做以下。
GGSCI>
alter extract EIVR, tranlog, begin now
start EIVR
切换 GG 抽取模式后,拓扑结构以下所示。
6.启用并启动备库 Service(DG 现主库)
启用切换后 DG 主库 Service,并
启动 Service 进程,准备应用接入。
7.重启应用
基于 DNS 解析,切换应用链接至 DG 切换后的主库。重启应用及数据库做业,
完成完整切换。
重启应用后,拓扑结构以下所示。
参考文档:
1.《
GoldenGate 传统抽取进程的 ADG 模式
》
2.《GoldenGate Installing and Configuring Oracle GoldenGate for Oracle Database》
-11.6 Configuring Classic Capture in Oracle Active Data Guard Only Mode