RAC环境中threads变更后如何确保goldengate继续正常复制

RAC环境中threads变更后如何确保goldengate继续正常复制

转载:http://www.easyora.net/blog/goldengate_rac_threads_remap.html

当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进程并从当前开始抽取。但在这段时间内,所有的操作需确保在应用已经停止服务的前提下,否则数据将造成丢失或者不一致,需要手工处理或者重新初始化。

如果应用无法停机呢?我们可以将新建的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 #:

    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 #:

    Sequence #: 62 
    RBA:
22437392 
    Timestamp: 2011-08-17
02:35:11.000000 
    SCN: 0.3798208
(3798208) 
    Redo File:

BR End Recovery Checkpoint: 
    Thread #:

    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 #:

    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 #:

    Sequence #: 42 
    RBA:
15242240 
    Timestamp: 2011-08-17
02:35:02.000000 
    SCN: 0.3800455
(3800455) 
    Redo File:

BR End Recovery Checkpoint: 
    Thread #:

    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 #:

    RBA: 51132 
   
Timestamp: 2011-08-17 03:32:48.695373 
    Extract
Trail: /opt/ggs/dirdat/r1/ex

Header: 
  Version = 2 
  Record Source =

  Type = 6 
  # Input Checkpoints =

  # 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 =

  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.

5. 修改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

6. 修改exttrail或者rmttrail的write checkpoint

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

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

8.重新启动extract(略)

RAC环境中threads变更后如何确保goldengate继续正常复制,布布扣,bubuko.com

时间: 2024-10-11 11:43:39

RAC环境中threads变更后如何确保goldengate继续正常复制的相关文章

【翻译自mos文章】在11gR2 rac环境中,文件系统使用率紧张,并且lsof显示有很多oraagent_oracle.l10 (deleted)

在11gR2 rac环境中,文件系统使用率紧张,并且lsof显示有很多oraagent_oracle.l10 (deleted) 参考原文: High Space Usage and "lsof" Output Shows Many 'oraagent_oracle.l10 (deleted)' in GI environment (Doc ID 1598252.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.

怎么发现RAC环境中'library cache pin'等待事件的阻塞者(Blocker)?

怎么发现RAC环境中的'library cache pin'等待事件的阻塞者(Blocker) 参考自 How to Find the Blocker of the 'library cache pin' in a RAC environment? (文档 ID 780514.1) 本文不做翻译,全文转载: Applies to: Oracle Database - Enterprise Edition - Version 9.2.0.1 to 11.1.0.7 [Release 9.2 to

在windows 2003 sp2 或者 2008 rac环境中,可能会由于默认的SNP( Scalable Networking Pack)特性会导致 实例驱逐或者节点驱逐

在windows 2003 sp2 或者 windows 2008 rac环境中,可能会由于默认的SNP( Scalable Networking Pack)特性会导致 实例驱逐或者节点驱逐 参考原文: RAC on Windows: Recurring Instance and/or Node Evictions May Be Caused by Default SNP Features Available for Windows Server 2003 SP2 and 2008 (Doc I

关于rac环境中的alter ext进程名, begin now

本文是原创文章,转载请注明出处: 最近给一个rac 环境下做OGG 抽取进程的重置抽取进程的读取检查点.所用的命令为:alter ext进程名, begin now 之后,执行 info ext进程名时发现,怎么thread 2 上的读取检查点是sequence 0. 后来查了一下ogg的reference,得到答案如下: The following alters Extract in an Oracle RAC environment, and applies the new begin po

如何在oracle rac环境中开启归档

oracle rac 归档设置需要不像单实例设置简单,开启过程需要注意一些细节 归档开启思路: 1:查看数据库是否开启归档 2:创建共享目录(归档一定要放在共享存储上) 3:将rac设置成单实例模式 4:分别关闭各个节点实例 5:将其中一个节点启动到mount状态,开启归档,设置归档路径,格式,并打开数据库还原rac模式 6: 打开所有节点数据库 7:查看数据库归档参数设置是否生效 8:切换归档,查看归档是否正常工作 1.查询归档当前信息 SQL> show parameter recovery

Oracle RAC环境实时数据迁移

系统要求及安装前的说明 Oracle GoldenGate可以在Oracle不同版本间移动数据,也可以在Oracle和其它类型数据库之间移动数据.Oracle GoldenGate支持数据的过滤.映射和转换.Oracle还能在相似的Oracle数据库之间复制DDL操作.注意下面一句:当DDL支持被激活的时候,Oracle GoldenGate不支持数据的过滤.映射和转换. 支持的Oracle数据库版本,从9.2开始支持DML和DDL.支持几乎所有的主流操作系统,具体的可以从MOS(My Orac

rac环境密码文件管理

密码文件作用: 密码文件用于dba用户的登录认证. dba用户:具备sysdba和sysoper权限的用户,即oracle的sys和system用户. RAC环境中多个节点的密码文件应该保证一致,否则在以DBA权限登陆数据库的时候可能造成问题. 密码文件位置: linux/unix:[[email protected] ~]$ ls $ORACLE_HOME/dbs/orapw$ORACLE_SID windows:$ORACLE_HOME/database/orapw$ORACLE_SID 密

Oracle RAC环境下配置statspack

Statspack是Oracle 9i时代的产物,对于监控与分析数据库性能有着跨里程碑的意义,是AWR的前身.在Oracle 10g后AWR取代了statspack.尽管如此,awr异常或者需要调试包license的情况下statpack依旧是不错的选择.然而在RAC环境中,statspack并不支持,需要单独的进行配置以及使用job来进行管理.本文描述的则是通过在RAC环境下创建service,以及job来达到各节点同时产生snapshot的效果. 一.演示环境 suse11a:oracle:

通过rman实现单实例到rac环境数据库迁移

环境 迁移准备 开启数据库归档模式 检查数据库是否已经开启归档模式 SQL>select log_mode from v$database; LOG_MODE ------------ ARCHIVELOG (如果为非归档模式需要开启归档模式) 在源库中创建backup表并插入一条数据,以便确认迁移是否成功 SQL>create table backup(id number,name varchar2(100)); Tablecreated. SQL>insert into backup