模拟一下goldengate中断后,重新同步操作

模拟一下goldengata中断后,重新同步操作:

1、关掉源端抽取进程

GGSCI (20081122-2105) 15> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING

EXTRACT     RUNNING     EORA        00:00:00      00:00:03

EXTRACT     RUNNING     PUMP_SO     00:00:00      00:00:09

GGSCI (20081122-2105) 16> stop eora

Sending STOP request to EXTRACT EORA ...

Request processed.

GGSCI (20081122-2105) 17> stop pump_so

Sending STOP request to EXTRACT PUMP_SO ...

Request processed.

GGSCI (20081122-2105) 18> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING

EXTRACT     STOPPED     EORA        00:00:00      00:00:07

EXTRACT     STOPPED     PUMP_SO     00:00:00      00:00:02

2、关掉目标端进程

GGSCI (PC0527ZQM) 16> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING

REPLICAT    RUNNING     REPL        00:00:00      00:00:09

GGSCI (PC0527ZQM) 17> stop repl

Sending STOP request to REPLICAT REPL ...

Request processed.

GGSCI (PC0527ZQM) 18> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING

REPLICAT    STOPPED     REPL        00:00:00      00:00:02

3、检查源端demo表

SQL> select count(*) from demo;

COUNT(*)

----------

0

4、检查目标端demo表

SQL> select count(1) from demo;

COUNT(1)

----------

0

5、源端插入100000表数据

SQL> insert into demo

2  select level,level||‘a‘ from dual connect by level <= 100000;

100000 rows inserted

SQL> commit;

Commit complete

6、如果现在直接重启goldengate,数据是能同步过去的,这没有问题,也没有难度。

我现在要做的操作是:

(1)结束当前的本地日志,重新开始一个日志。

(2)然后从当前序列重新抓取。

7、源端操作

D:\goldengate\dirdat>ls

et000151  et000153  et000155  et000157  et000159  et000161  et000163

et000152  et000154  et000156  et000158  et000160  et000162  et000164

--当前是164号文件,重启的时候自动会变成165,

--现在我手动结束164号文件,然后设置抽取进程从165号文件开始抓取。

GGSCI (20081122-2105) 19> alter extract eora etrollover

2011-12-14 13:43:21  INFO    OGG-01520  Rollover performed.  For each affected output trail of

Version 10 or higher format, after starting the source extract, issue ALTER EXTSEQNO for that trail‘s reader

(either pump EXTRACT or REPLICAT) to move the reader‘s scan to the new trail file;  it will not happen automatically.

EXTRACT altered.

GGSCI (20081122-2105) 20> alter eora extseqno 165,extrba 0

EXTRACT altered.

--同时我也设置投递进程的号也为165号文件

GGSCI (20081122-2105) 22> alter extract pump_so etrollover

2011-12-14 13:46:03  INFO    OGG-01520  Rollover performed.  For each affected output trail of

Version 10 or higher format, after starting the source extract, issue ALTER EXTSEQNO for that trail‘s rea

der (either pump EXTRACT or REPLICAT) to move the reader‘s scan to the new trail file;  it will not happen automatically.

EXTRACT altered.

GGSCI (20081122-2105) 23> alter pump_so extseqno 165,extrba 0

EXTRACT altered.

8、现在是关键一步,设置从哪个时间点开始抓取事务。

ALTER EXTRACT eora, TRANLOG, BEGIN 2011-12-14 13:30

9、重启源端进程。

GGSCI (20081122-2105) 25> start eora

Sending START request to MANAGER (‘GGSMGR‘) ...

EXTRACT EORA starting

GGSCI (20081122-2105) 26> start pump_so

Sending START request to MANAGER (‘GGSMGR‘) ...

EXTRACT PUMP_SO starting

GGSCI (20081122-2105) 27> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING

EXTRACT     RUNNING     EORA        00:00:00      00:00:05

EXTRACT     RUNNING     PUMP_SO     00:00:00      00:05:15

10、看看源端本地日志,重新生成了165、166、167号文件。而164号文件没写满就结束了。

D:\goldengate\dirdat>ls -l

总用量 44552

-rwxrwx---+ 1 Administrators SYSTEM  359769 十一 16 08:58 et000151

-rwxrwx---+ 1 Administrators SYSTEM   17448 十二  5 09:39 et000152

-rwxrwx---+ 1 Administrators SYSTEM     978 十二 14 10:48 et000153

-rwxrwx---+ 1 Administrators SYSTEM    1270 十二 14 10:50 et000154

-rwxrwx---+ 1 Administrators SYSTEM     919 十二 14 11:16 et000155

-rwxrwx---+ 1 Administrators SYSTEM    1414 十二 14 11:17 et000156

-rwxrwx---+ 1 Administrators SYSTEM    1414 十二 14 11:17 et000157

-rwxrwx---+ 1 Administrators SYSTEM     919 十二 14 11:30 et000158

-rwxrwx---+ 1 Administrators SYSTEM    1559 十二 14 11:30 et000159

-rwxrwx---+ 1 Administrators SYSTEM    1500 十二 14 11:33 et000160

-rwxrwx---+ 1 Administrators SYSTEM     919 十二 14 13:25 et000161

-rwxrwx---+ 1 Administrators SYSTEM 9999953 十二 14 13:25 et000162

-rwxrwx---+ 1 Administrators SYSTEM 9999978 十二 14 13:31 et000163

-rwxrwx---+ 1 Administrators SYSTEM 2570306 十二 14 13:31 et000164

-rwxrwx---+ 1 Administrators SYSTEM 9999953 十二 14 13:51 et000165

-rwxrwx---+ 1 Administrators SYSTEM 9999961 十二 14 13:51 et000166

-rwxrwx---+ 1 Administrators SYSTEM 2569952 十二 14 13:51 et000167

11、此时查看目标端远程日志。

D:\ggs\ggs\dirdat>dir

驱动器 D 中的卷没有标签。

卷的序列号是 30DD-ABBC

D:\ggs\ggs\dirdat 的目录

2011-12-14  13:51    <DIR>          .

2011-12-14  13:51    <DIR>          ..

2011-12-05  09:39            17,595 pt000151

2011-12-05  10:13             1,167 pt000152

2011-12-14  10:48             1,150 pt000153

2011-12-14  11:02             1,543 pt000154

2011-12-14  11:13             1,234 pt000155

2011-12-14  11:27             2,266 pt000156

2011-12-14  11:31             1,318 pt000157

2011-12-14  11:33             1,360 pt000158

2011-12-14  11:34             1,983 pt000159

2011-12-14  13:26         9,999,996 pt000161

2011-12-14  13:31         9,999,915 pt000162

2011-12-14  13:31         2,570,455 pt000163

2011-12-14  13:51         9,999,996 pt000164

2011-12-14  13:51         9,999,884 pt000165

2011-12-14  13:51         2,570,115 pt000166

可以看出,163号文件结束,重新开始了165,166文件,但是和源端差一个文件号。

源端是165-167,目的端是164-166,这没有关系。

12、设置目标段读取进程,从164号文件开始读取。

GGSCI (PC0527ZQM) 21> alter REPLICAT repl extseqno 164, extrba 0

REPLICAT altered.

GGSCI (PC0527ZQM) 23> start repl

Sending START request to MANAGER (‘GGSMGR‘) ...

REPLICAT REPL starting

GGSCI (PC0527ZQM) 24> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING

REPLICAT    RUNNING     REPL        00:00:00      00:00:12

13、检查源端端数据情况。

SQL> select count(1) from demo;

COUNT(1)

----------

100000

14、检查目标端数据情况

SQL> select count(1) from demo;

COUNT(1)

----------

100000

至此,goldengate 中断后,又重新同步成功。下面的命令非常关键:

--前滚重新生成一个新的队列文件

alter extract xxx etrollover

--从指定时间重新抓取(重新抓取数据前提:归档文件没有删除)

ALTER EXTRACT xxx, TRANLOG, BEGIN 2010-12-31 08:00

--重置抽取进程,本地文件序列号从0开始生成。

alter extract ext1,extseqno 0,extrba 0

--重置读取进程,重新从0号trial文件开始读取。

alter replicat rep1,extseqno 0,extrba 0

转载:http://blog.itpub.net/7204674/viewspace-713290/

时间: 2024-08-24 06:46:37

模拟一下goldengate中断后,重新同步操作的相关文章

Oracle GoldenGate环境中主库和备库 网络突然中断后,主端的dp进程无法启动的问题

view report dpfull, 现象是 /gg/ggs/dirdat/aa000053 (no surch file or directory) 实际上,此文件在目的端存在的. 处理方法: 1. 目的端ps -ef | grep ggs ,找到server进程,假设server进程的pid是12345 2. 目的端 kill -9 12345 3. 目的端 stop mgr 4. 目的端 start mgr 5. 源端 start dp 6.dp状态ok,问题处理完毕. Oracle G

使用OpenFiler来模拟存储配置RAC中ASM共享盘及多路径(multipath)的测试

第一章 本篇总览 之前发布了一篇<Oracle_lhr_RAC 12cR1安装>,但是其中的存储并没有使用多路径,而是使用了VMware自身提供的存储.所以,年前最后一件事就是把多路径学习一下,本文介绍了OpenFiler.iSCSI和多路径的配置. 本文内容:   第二章 安装OpenFiler OpenFile是在rPath Linux基础上开发的,它能够作为一个独立的Linux操作系统发行.Openfiler是一款非常好的存储管理操作系统,开源免费,通过web界面对存储磁盘的管理,支持现

关于Oracle GoldenGate中Extract的checkpoint的理解 转载

什么是checkpoint? 在Oracle 数据库中checkpoint的意思是将内存中的脏数据强制写入到磁盘的事件,其作用是保持内存中的数据与磁盘上的数据一致.SCN是用来描述该事件发生的准确的时间点. 而GoldenGate中出现的checkpoint有着不同的含义.简单的说就是position,位置的意思.它记录了Extract进程在抽取事务时的进度.使用INFO showch 命令可以查看当前正在运行的Extract进程中所记录的checkpoint. 当GoldenGate被计划内或

【翻译自mos文章】在Oracle GoldenGate中循环使用ggserr.log的方法

在OGG中循环使用ggserr.log的方法: 参考原文: OGG How Do I Recycle The "ggserr.log" File? (Doc ID 967932.1) 适用于: Oracle GoldenGate - Version 4.0.0 and later Generic Linux 问题 GoldenGate的 ggserr.log 日志文件包括有关 GoldenGate 事件的信息,比如:进程启动,关闭,error ,warning.该文件可能会变的很大.为

【翻译自mos文章】在OGG (Oracle GoldenGate) 中使用SCHEMATRANDATA的话,需要额外的db patch

在OGG (Oracle GoldenGate) 中使用SCHEMATRANDATA的话,需要额外的db patch 参考原文: Patches needed to support SCHEMATRANDATA in OGG (Oracle GoldenGate) (Doc ID 1426440.1) 适用于: Oracle GoldenGate - Version 11.1.1.1.1 and later Information in this document applies to any

STM32单片机实现中断后不继续向下执行而是返回到main函数

做公司的一个项目,实现一个功能就是 机器在进行一项功能时(这项工作时间挺长),想要取消这项工作,重新选择.想了半天没想出来,结果同事提醒了一句,可以在程序中加一个外部中断,在中断中软件复位程序.用到以下两句话 __set_FAULTMASK(1); // 关闭所有中断 NVIC_SystemReset(); // 复位 在中断最后执行这两句话就系统复位了.但是在运行过程中出现了一下两个问题: ①发现我的程序死在复位函数中了 如下 static __INLINE void NVIC_SystemR

黑马程序员——java——模拟一个字符串中的trim方法去掉一个字符串两端的空格

模拟一个字符串中的trim方法去掉一个字符串两端的空格 public class StingTrimDemo { //模拟一个trim方法, 去掉一个字符串两边的空格], public static void main(String[] args) { // TODO Auto-generated method stub String s = " my java "; System.out.println("未去空格前的字符串+++:[ "+s+" ]&q

模拟在table中移动鼠标,高亮显示鼠标所在行

在项目中有这样一个需求,在table中移动鼠标时,鼠标所在行高亮显示,其他行正常显示,为此做了一个模拟. 具体代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <

Linux 安装VMware Tool时,中断后无法安装

在虚拟机安装VMware Tool的时候,按了Ctrl+C,中断后,在此安装报错如下: 这时选择将 etc下的vmware-tools删除,再重新安装即可. 提示是否overwrite,yes即可. 原文地址:https://www.cnblogs.com/GoneLW/p/8996759.html