OGG replicat复制进程的拆分

本文详细介绍如何通过创建额外的Replicat进程来分担原有GoldenGate Replicat的负载,包括停止原始进程、配置新参数文件、设置读取检查点等步骤。

1.停止replicat进程

cd $GG_HOME
ggsci
GGSCI>stop  rgs_cx1

2.将两个新的replicat参数文件拷贝到$GG_HOME/dirprm目录中。
这两个新的参数文件与原有的参数文件的主要区别是将其中的复制表按负载均分为了两部分,分别放在单独的参数文件中。
3.

GGSCI> dblogin userid 用户名, password 密码
GGSCI> ADD REPLICAT rgs_cx2,EXTTRAIL ./dirdat/cg checkpointtable gsgg_checkpoint
GGSCI> ADD REPLICAT rgs_cx3,EXTTRAIL ./dirdat/cg checkpointtable gsgg_checkpoint

4.检查replicat进程的checkpoint信息 ,记录下其Current Checkpoint信息中的sequence和RBA值。

GGSCI > info rgs_cx1,showch

REPLICAT   RGS_CX1   Last Started 2018-03-16 14:36   Status RUNNING
Checkpoint Lag       24:03:22 (updated 00:00:00 ago)
Log Read Checkpoint  File ./dirdat/cg006704
                     2018-03-15 16:23:02.975650  RBA 29158793
 这里6704 是sequence 号,29158793是RBA号

5.修改新建replicat进程的read checkpoint信息
根据step 4中得到的Current checkpoint信息修改新建replicat进程的checkpoint信息,之后新建的replicat进程就会从旧replicat进程停止的位置开始抓取新的信息

GGSCI> alter rgs_cx2, extseqno <sequence >, extrba <RBA>
GGSCI> alter rgs_cx3, extseqno <sequence >, extrba <RBA>

6.启动新建的replicat进程

GGSCI>start *
<think>我们正在处理一个关于Oracle GoldenGate的问题:用户想要在配置复制进程Replicat)时指定一个特定的SCN(SystemChange Number)作为起点。根据Oracle GoldenGate的文档,我们可以通过为Replicat进程设置`STARTSCN`参数来实现这一点。这通常在创建Replicat进程时完成,可以通过添加一个`STARTSCN`子句在`ADDREPLICAT`命令中。具体步骤如下:1.在GoldenGate命令行界面(GGSCI)中,使用`ADDREPLICAT`命令创建Replicat进程,并在命令中指定`STARTSCN`。例如:```ADD REPLICATrep1, EXTRAIL ./dirdat/rt, STARTSCN<scn_number>```其中,`rep1`是Replicat进程的名称,`EXTRAIL`指定了trail文件的位置,`<scn_number>`是用户想要指定的SCN。2.如果Replicat进程已经存在,我们可以通过编辑参数文件,在参数文件中使用`STARTSCN`参数。但是注意,对于已经存在的Replicat进程,修改参数文件后需要重启进程。在参数文件中,我们可以这样写:```REPLICATrep1ASSUMETARGETDEFSSTARTSCN<scn_number>...```注意:`STARTSCN`参数告诉Replicat进程从指定的SCN开始读取trail文件中的记录。只有当trail文件中包含该SCN及之后的数据时,Replicat才能正常处理。因此,确保指定的SCN在trail文件中存在。另外,引用[1]中提到,如果主数据库实例停止或失败,Extract会异常终止(abend)。在这种情况下,如果我们需要将GoldenGate迁移到另一个节点上运行,需要先停止原节点上的Manager进程,然后在另一个节点上启动GoldenGate进程。这个场景虽然与指定SCN没有直接关系,但提醒我们在配置Replicat时,如果涉及到数据库实例的变更,需要注意这些步骤。引用[3]提到在初始加载(initial load)过程中,需要创建在线Extract和Replicat组,并在加载过程中启动这些组。这提示我们,指定SCN可能用于初始加载后的数据同步,确保从正确的点开始复制。因此,我们可以总结如下:要配置Replicat进程从特定的SCN开始,有两种方式:-在创建Replicat时使用`ADD REPLICAT`命令并指定`STARTSCN`选项。-在Replicat参数文件中使用`STARTSCN`参数。但请注意,如果使用参数文件方式,并且Replicat已经存在,修改参数文件后需要重启Replicat进程。下面我们给出一个具体的示例:假设我们要创建一个名为`rep1`的Replicat进程,指定从SCN12345678开始,trail文件为`./dirdat/rt`,则命令如下:``` ADDREPLICAT rep1,EXTRAIL ./dirdat/rt,STARTSCN12345678```或者,在参数文件中设置: ```REPLICAT rep1ASSUMETARGETDEFSSTARTSCN12345678MAPschema1.*, TARGET schema2.*;```然后启动Replicat进程(如果尚未启动)。注意:在指定SCN之前,确保该SCN在trail文件中存在。如果指定的SCN在trail文件中不存在,Replicat进程可能会在启动时报错。此外,用户可能需要知道如何获取一个特定的SCN。通常,SCN可以从数据库的某些视图中查询(如`v$database`的`CURRENT_SCN`),或者在导出数据时指定SCN(如引用[2]中的`flashback_scn`参数)。引用[2]中展示了一个使用数据泵导出时指定SCN的例子,这可以用于创建一致性的数据快照。在GoldenGate中,初始加载时也可以使用类似的方法,然后从该SCN开始进行变化捕获和复制。因此,用户可能是在进行初始加载后,想要从加载时使用的SCN开始复制后续的变化,那么就需要在Replicat中指定这个SCN。最后,我们生成相关问题:</think>### Oracle GoldenGate 配置 Replicat 从特定 SCN 启动 在 Oracle GoldenGate 中配置 Replicat 进程从特定 SCN(System Change Number)启动,可通过以下步骤实现: #### 📌 方法 1:创建 Replicat 时指定 SCN(推荐) ```sql -- 在 GGSCI 命令行执行 ADD REPLICAT <进程名>, EXTRAIL <路径>, STARTSCN <SCN值> ``` **示例**: ``` ADD REPLICAT rep_sales, EXTRAIL ./dirdat/rt, STARTSCN 12345678 ``` 此命令会创建一个名为 `rep_sales` 的 Replicat 进程,从 SCN 12345678 开始处理事务[^3]。 #### 📌 方法 2:修改参数文件 在 Replicat 参数文件(`dirprm/<进程名>.prm`)中添加: ```sql STARTSCN <SCN值> ``` **示例**: ```sql REPLICAT rep_orders ASSUMETARGETDEFS STARTSCN 98765432 -- 指定起始 SCN MAP hr.*, TARGET hr_repl.*; ``` #### ⚠️ 关键注意事项 1. **SCN 有效性** - 指定的 SCN 必须存在于 Trail 文件中,否则 Replicat 会报错 `SCN NOT FOUND` - 可通过 `logdump` 工具验证 Trail 文件中的 SCN 范围: ``` logdump> open ./dirdat/rt000001 logdump> detail data ``` 2. **进程启动顺序** - 首次启动时需使用 `START REPLICAT <进程名>` 激活进程 - 修改参数文件后需重启进程:`STOP REPLICAT <进程名>` → `START REPLICAT <进程名>` 3. **与初始加载配合** 若需确保数据一致性(如初始加载后增量同步): - 初始加载时使用 `flashback_scn`(如引用[2]所示) - 配置 Replicat 的 `STARTSCN` 与加载 SCN 一致[^3] 4. **高可用场景** 若主库故障转移(如引用[1]所述): - 在新节点启动 Replicat 前需重新指定 SCN - 需确保新节点能访问相同 Trail 文件 #### 🌰 典型应用场景 - **数据迁移**:从指定 SCN 开始复制,确保迁移点一致性 - **故障恢复**:跳过已处理事务,从故障点 SCN 恢复 - **数据审计**:从特定时间点 SCN 重放事务 > ⚠️ **重要提示**:SCN 指定需精确匹配数据库状态,错误 SCN 可能导致数据丢失或重复。建议先在测试环境验证。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值