暂无图片
ogg同步oracle rac加节点
我来答
分享
佪声
2022-01-23
ogg同步oracle rac加节点

ogg同步 rac加节点是否必须重新初始化,是否有不重新初始化重配进程继续同步的方法

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
jieguo

当rac节点变更的时候,比如我们添加或者删除了集群中的节点,理所当然会对节点对应的log threads进行添加或者删除,但会造成goldengate的map log threads的顺序发生紊乱。在进行这一类行为变更的时候,特别需要注意goldengate端也需要进行特别处理。

     比如,在节点添加之前,goldengate map log threads顺序如下(数据库log thread在后,下同):

     1—>1 (假设是sequence 100,rba 1001)

     2—>2(假设是sequence 88,rba 3009)

    当添加节点后,map log threads的顺序会变成:

    1—->3(sequence 88,rba 3009)

    2—->1(sequence 100,rba 1001)

    3—->2(new)

    当ogg重新工作的时候,因为此时map的顺序发生了变化,因此会造成抽取进度出现问题。



    如果有足够的处理时间,简单而又安全的做法是停止源端应用,删除extract进程后,重新配置新的extract进程并从当前开始抽取,如https://www.modb.pro/db/91。但在这段时间内,所有的操作需确保在应用已经停止服务的前提下,否则数据将造成丢失或者不一致,需要手工处理或者重新初始化。

    如果应用无法停机呢?我们可以将新建的extract进度修改成停止之前的进度状态,从而避免操作过程中应用的停机行为。

    需要我们特别记录的checkpoint有:Current Checkpoint、Recovery Checkpoint以及Write Checkpoint
复制

1.正常停止extract(略)

2.获得extract的checkpoint记录

GGSCI (node1) 21> info ext_r1 showch

EXTRACT EXT_R1 Last Started 2011-08-16 22:35 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:06:21 ago)
Log Read Checkpoint Oracle Redo Logs
2011-08-17 03:32:48 Thread 1, Seqno 62, RBA 29890576
Log Read Checkpoint Oracle Redo Logs
2011-08-17 03:32:34 Thread 2, Seqno 42, RBA 18674704

Current Checkpoint Detail:

Read Checkpoint #1

Oracle RAC Redo Log

Startup Checkpoint (starting position in the data source):
Thread #: 1
Sequence #: 61
RBA: 32112656
Timestamp: 2011-08-16 22:34:53.000000
SCN: 0.3743980 (3743980)
Redo File: +DATA1/my/onlinelog/group_1.261.758327805

Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
Thread #: 1
Sequence #: 62
RBA: 29890576
Timestamp: 2011-08-17 03:32:48.000000
SCN: 0.3811675 (3811675)
Redo File: +DATA1/my/onlinelog/group_2.262.758327805

Current Checkpoint (position of last record read in the data source):
Thread #: 1
Sequence #: 62
RBA: 29890576
Timestamp: 2011-08-17 03:32:48.000000
SCN: 0.3811675 (3811675)
Redo File: +DATA1/my/onlinelog/group_2.262.758327805

BR Previous Recovery Checkpoint:
Thread #: 1
Sequence #: 0
RBA: 0
Timestamp: 2011-08-16 22:35:09.416136
SCN: Not available
Redo File:

BR Begin Recovery Checkpoint:
Thread #: 1
Sequence #: 62
RBA: 22437392
Timestamp: 2011-08-17 02:35:11.000000
SCN: 0.3798208 (3798208)
Redo File:

BR End Recovery Checkpoint:
Thread #: 1
Sequence #: 62
RBA: 24120320
Timestamp: 2011-08-17 02:35:16.000000
SCN: 0.3801192 (3801192)
Redo File:

Read Checkpoint #2

Oracle RAC Redo Log

Startup Checkpoint (starting position in the data source):
Thread #: 2
Sequence #: 41
RBA: 25323024
Timestamp: 2011-08-16 22:34:40.000000
SCN: 0.3743980 (3743980)
Redo File: +DATA1/my/onlinelog/group_3.266.758328125

Recovery Checkpoint (position of oldest unprocessed transaction in the data source):
Thread #: 2
Sequence #: 42
RBA: 18674704
Timestamp: 2011-08-17 03:32:34.000000
SCN: 0.3811674 (3811674)
Redo File: +DATA1/my/onlinelog/group_4.267.758328125

Current Checkpoint (position of last record read in the data source):
Thread #: 2
Sequence #: 42
RBA: 18674704
Timestamp: 2011-08-17 03:32:34.000000
SCN: 0.3811674 (3811674)
Redo File: +DATA1/my/onlinelog/group_4.267.758328125

BR Previous Recovery Checkpoint:
Thread #: 2
Sequence #: 0
RBA: 0
Timestamp: 2011-08-16 22:35:09.416136
SCN: Not available
Redo File:

BR Begin Recovery Checkpoint:
Thread #: 2
Sequence #: 42
RBA: 15242240
Timestamp: 2011-08-17 02:35:02.000000
SCN: 0.3800455 (3800455)
Redo File:

BR End Recovery Checkpoint:
Thread #: 2
Sequence #: 42
RBA: 15242240
Timestamp: 2011-08-17 02:35:02.000000
SCN: 0.3800455 (3800455)
Redo File:

Write Checkpoint #1

GGS Log Trail

Current Checkpoint (current write position):
Sequence #: 3
RBA: 51132
Timestamp: 2011-08-17 03:32:48.695373
Extract Trail: /opt/ggs/dirdat/r1/ex

Header:
Version = 2
Record Source = A
Type = 6

Input Checkpoints = 2

Output Checkpoints = 1

File Information:
Block Size = 2048
Max Blocks = 100
Record Length = 4096
Current Offset = 0

Configuration:
Data Source = 3
Transaction Integrity = 1
Task Type = 0

Status:
Start Time = 2011-08-16 22:35:10
Last Update Time = 2011-08-17 03:32:48
Stop Status = G
Last Result = 402

3.新建extract进程。

GGSCI (node1) 34> ADD EXT ext_r1, BEGIN NOW, TRANLOG, THREADS 3

2011-08-17 03:52:26 INFO OGG-01749 Successfully registered EXTRACT EXT_R1 to start managing log retention at SCN 3826107.
EXTRACT added.

4.修改current checkpoint (注意每个thread都要修改)

GGSCI (node1) 35> alter EXTRACT ext_r1, TRANLOG, EXTSEQNO 62, EXTRBA 29890576,thread 1
EXTRACT altered.

GGSCI (node1) 36> alter EXTRACT ext_r1, TRANLOG, EXTSEQNO 42, EXTRBA 18674704,thread 2

EXTRACT altered.

  1. 修改recovery checkpoint (注意每个thread都要修改)

GGSCI (node1) 42> ALTER EXTRACT ext_r1, IOEXTSEQNO 62, IOEXTRBA 29890576,thread 1

GGSCI (node1) 42> ALTER EXTRACT ext_r1, IOEXTSEQNO 42, IOEXTRBA 18674704,thread 2

  1. 修改exttrail或者rmttrail的write checkpoint

GGSCI (node1) 47> ADD EXTTRAIL /opt/ggs/dirdat/r1/ex,SEQNO 3, RBA 51132, EXTRACT ext_r1
EXTTRAIL added.

  1. 验证checkpoint是否修改成功(使用showch,略)

8.重新启动extract(略)

https://blog.csdn.net/okhymok/article/details/78475983

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
相关推荐
OGG-00446 OGG-01668 OGG-15149
回答 1
231612号归档日志缺失,看看RMAN能否恢复此归档,如能,最好把该归档和其后的归档统统恢复。
OGG-01433故障解决方法
回答 1
已采纳
表改为非压缩,然后重新初始化试试。
用ogg迁移数据11g到19c,完成后,目标端disable的触发器,约束要重新打开吗
回答 5
已采纳
只剩一个,当然要啊
ogg复制进程初次启动报1001-ORA-01001: invalid cursor
回答 1
已采纳
升级问题到:紧急故障
ogg无法同步表
回答 2
1、确认源端是否生成trail文件2、确认trail文件是否传递到目标端3、看你的输出tt1的insert应该是extract到了,再statspump和statsrep进程看看。先确认哪个环节有问题
OGG同步索引和存储过程还有触发器吗
回答 4
谢谢大佬
ogg同步性
回答 2
源端和目标端的配置如下:最开始是直接将原先的服务器克隆出一个新环境,再进行ogg配置的,后配置时都是通过当前数据库的scn值expdp导出再导入到目标端进行复制同步的ogg用户,源端和目标端都拥有db
Oracle GoldenGate(OGG)是否有忽略某用户的操作,不做同步的功能
回答 1
已采纳
抽取进程,忽略xxxx用户的事务tranlogoptionsexcludeuserXXXX
OGG-14037
回答 1
在GLOBALS里面添加GGSCHEMA<GGSOWNER>然后登录重试
使用ogg迁移Oracle至MySQL的问题请教
回答 2
已采纳
适合的通过OGG将oracle的数据实时同步到mysql数据库,等业务切割的时候,直接切换到mysql数据库,这个是个很好的异构数据库切换方案。国内几家大的业务系统切换都是采用这种方案的对于您说的表数