环境描述:

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

html,body { font-size: 12pt }
body { font-family: Helvetica, "Hiragino Sans GB", "微软雅黑", "Microsoft YaHei UI", SimSun, SimHei, arial, sans-serif; line-height: 1.6; margin: 0 auto; padding: 1.25rem 1rem }
h1,h2,h3,h4,h5,h6 { margin: 1.25rem 0 0.625rem; padding: 0; font-weight: bold }
h1 { font-size: 1.67rem }
h2 { font-size: 1.5rem }
h3 { font-size: 1.25rem }
h4 { font-size: 1.17rem }
h5 { font-size: 1rem }
h6 { font-size: 1rem; color: #777777; margin: 1rem 0 }
div,p,ul,ol,dl,li { margin: 0 }
blockquote,table,pre,code { margin: 8px 0 }
ul,ol { padding-left: 2rem }
ol.wiz-list-level1>li { list-style-type: decimal }
ol.wiz-list-level2>li { list-style-type: lower-latin }
ol.wiz-list-level3>li { list-style-type: lower-roman }
blockquote { padding: 0 0.75rem }
blockquote>:first-child { margin-top: 0 }
blockquote>:last-child { margin-bottom: 0 }
img { border: 0; max-width: 100%; height: auto !important; margin: 2px 0 }
table { border-collapse: collapse; border: 1px solid #bbbbbb }
td,th { padding: 4px 8px; border-collapse: collapse; border: 1px solid #bbbbbb; min-height: 28px }
.wiz-hide { display: none !important }

GoldenGate 传统抽取进程随 DataGuard 主备快速切换的方案(ADG 模式)的更多相关文章

  1. GoldenGate 传统抽取进程的 ADG 模式

    :first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } img { border: 0; m ...

  2. Oracle DataGuard主备切换(switchover)

    Oracle DataGuard主备切换可以使用传统的手动命令切换,也可以使用dgmgr切换,本文记录手动切换. (一)将主库切换为物理备库 STEP1:查看主库状态 SQL> SELECT O ...

  3. DataGuard主备归档存在gap的处理办法

    DataGuard主备之间可能由于网络等原因,造成备库和主库之间的归档日志不一致,这样就产生了gap. 解决gap的步骤: 1.在备库获得gap的详细信息 2.将需要的归档日志从主库拷贝到备库 3.备 ...

  4. Redis主备自动切换

    Sentinel(哨兵)是用于监控redis集群中Master状态的工具. 一.Sentinel作用  1.Master状态检测   2.如果Master异常,则会进行Master-Slave切换,将 ...

  5. KingbaseES R3 集群删除test库导致主备无法切换问题

    案例说明: 在KingbaseES R3集群中,kingbasecluster进程会通过test库访问,连接后台数据库服务测试:如果删除test数据库,导致后台数据库服务访问失败,在集群主备切换时,无 ...

  6. Mycat实现读写分离,主备热切换

    实验环境:ubutu server 14 Master IP:172.16.34.212 Slave IP:172.16.34.34.156 Mycat server IP:172.16.34.219 ...

  7. 物理DG主备库切换时遇到ORA-16139: media recovery required错误

    在物理DG主备库切换时遇到ORA-16139: media recovery required错误 SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRI ...

  8. 云计算之路-阿里云上:RDS数据库连接数过万引发故障,主备库切换后恢复正常

    非常抱歉!今天 12:03-12:52 ,由于数据库连接数异常突增超过1万,达到了阿里云RDS的最大连接数限制,影响了全站的正常访问.由此给您带来麻烦,请您谅解. 在发现数据库连接数突增的问题后,我们 ...

  9. [terry笔记]11gR2_dataguard_主备库切换

    主备库切换  Switchover  一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GU ...

随机推荐

  1. Ubuntu升级出现/boot空间不足解决

    经常升级Linux内核,导致更新时警告/boot分区空间不足.这是以为多次升级内核后,导致内核版本太多,清理一下没用的内核文件就行了.命令如下: zht@zht-Ubuntu:~$ dpkg -l ' ...

  2. centos 6.5系统下安装ibus及设置开机自启动

    先说一下系统环境:centos 6.5,然后我是以root身份执行的,没有权限的用户参见sudo用法 第1步:查找并安装ibus安装包,命令如下: 找到一行: ibus-pinyin.x86_64 : ...

  3. 【重点突破】——Cookie的使用

    cookie:小甜饼 cookie:保存客户端浏览器中一个纯文本文件 版本高的浏览器可查看   F12->Resource  左下方cookie    查看 cookie作用: 保存:[安全性要 ...

  4. ViewData 不可以有特殊字符,比如. ,等只允许数字字符和空格

    ViewData 不可以有特殊字符,比如. ,等只允许数字字符和空格

  5. ora-01440:要减小精度或标度,则要修改的列必须为空

    --由于业务需求变更,需要对oracle数据库productinfo表的productPrcie结构进行修改.修改表结构,必须是在表空的情况下才可以修改表结构.具体操作步骤: --1.查看produc ...

  6. java反射获取字段的属性值,以及为字段赋值等方法

    1.获取某个类的属性值 /*利用getter方法获取值(首字母大写) CjJssetDTO obj: */ String filedName = "Cj"+(i+1); Class ...

  7. 语音识别完成诗句的查询功能,iOS AVSpeechSynthesis语音输出结果的诗歌APP

    前言 当前的APP的查询都是使用手动输入,不仅效率低,而且查询的语句的限制比较大,不能够方便的扩展. 如果能方便的扩展查询语句,那么APP的使用就会有很大的灵活性.可以设计各种问句和语句,可以方便的和 ...

  8. 《SQL必知必会》学习笔记二)

    <SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...

  9. python学习之第一课时--初始python

    Python前世今世 python是什么 python是一门多种用途的编程语言,时常在扮演脚本语言的角色 python流行原因 软件质量 提高开发者效率(python代码大小为C/java的1/3-1 ...

  10. Windows系统下Nginx的安装与配置

    Nginx是lgor Sysoev在2004年的时候为俄罗斯访问量第二大的rambler.ru站点设计开发的,发布至今,凭借开源的力量,已经接近成熟与完善.其功能丰富,可作为HTTP服务器,也可作为反 ...