一、测试目标

疑问,OGG初始化同步表,源端抽取进程开始抽取的scn<源端事务的start_scn时,这个变化是否会同步到目标库中?

二、实验测试

如下进行测试!

session 1
SQL> conn yz/yz
SQL> create table t1(id int,cc_name varchar2(20));
SQL> insert into t1 values(1,'test');
1 row created. OGG源端开始抽取t1表;
GGSCI (t1 as ogg@t1) 10> add trandata yz.t1
2020-11-18 10:49:21 WARNING OGG-06439 No unique key is defined for table T1. All viable columns will be used to represent the key,
but may not guarantee uniqueness. KEYCOLS may be used to define the key.
2020-11-18 10:49:21 INFO OGG-15130 No key found for table YZ.T1. All viable columns will be logged.
2020-11-18 10:49:21 WARNING OGG-00706 Failed to add supplemental log group on table YZ.T1 due to ORA-00054: resource busy and
acquire with NOWAIT specified or timeout expired
SQL ALTER TABLE "YZ"."T1" ADD SUPPLEMENTAL LOG GROUP "GGS_89400" ("ID","CC_NAME") ALWAYS /* GOLDENGATE_DDL_REPLICATION */. !测试有变!本次测试需要测试3个场景!已测试add trandata 是否存在影响!
session1 源端非add trandata,目标端启动时不限制;
session2 源端add trandata,目标端启动时不限制;
session3 源端add trandata,目标端启动时限制; session 2
SQL> conn yz/yz
SQL> create table t2(id int,cc_name varchar2(20));
GGSCI (t1 as ogg@t1) 11> add trandata yz.t2
SQL> insert into t2 values(1,'test');
1 row created. session 3
SQL> conn yz/yz
SQL> create table t3(id int,cc_name varchar2(20));
GGSCI (t1 as ogg@t1) 11> add trandata yz.t3
SQL> insert into t3 values(1,'test');
1 row created. 查询事务启动scn
select s.sid,s.username,s.event,sql.sql_text,v.status,v.START_TIME,v.START_SCN
from v$session s,v$TRANSACTION v,v$sql sql
where s.SADDR=v.SES_ADDR and s.PREV_SQL_ID=sql.sql_id;
SID USERNAME EVENT SQL_TEXT STATUS START_TIME START_SCN
---------- ---------- ----------------------------- ---------------------------------------- ---------------- -------------------- ----------
1 YZ SQL*Net message from client insert into t1 values(1,'test') ACTIVE 11/18/20 10:31:29 3571762
43 YZ SQL*Net message from client insert into t2 values(1,'test') ACTIVE 11/18/20 11:00:25 3572598
46 YZ SQL*Net message from client insert into t3 values(1,'test') ACTIVE 11/18/20 11:01:03 3572788
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
3573095 OGG源端开始抽取
重启抽取进程
投递一样追加!重启
复制进程注意:本次测试需要!
map yz.t1,target bak_yz.t1;
map yz.t2,target bak_yz.t2;
map yz.t3,target bak_yz.t3,filter(@GETENV('TRANSACTION','CSN')>3573095); 目标端同步表结构
[oracle@t2 ~]$ sqlplus bak_yz/yz
SQL> create table t1(id int,cc_name varchar2(20));
SQL> create table t2(id int,cc_name varchar2(20));
SQL> create table t3(id int,cc_name varchar2(20));
启动复制进程
GGSCI (t2) 9> start repa 此时,session 1,2,3都进行commit提交!
SQL> select * from t1;
ID CC_NAME
---------- --------------------
1 test
SQL> select * from t2;
ID CC_NAME
---------- --------------------
1 test
SQL> select * from t3;
ID CC_NAME
---------- --------------------
1 test ???得出如下结论:
1.OGG这个版本Version 19.1.0.0.4,OGG是根据事务结束scn来判断这个事务是否需要同步,不存在早期版本初始化同步scn < 源端start_scn时,存在数据不一致的问题!
2.OGG同步的表即使不加add trandata 例如insert操作还是能正常捕获到记录并进行同步;当然某些情况无法获取数据同步update操作!(测试insert or delete正常)
2020-11-18 11:26:36 WARNING OGG-01004 Aborted grouped transaction on BAK_YZ.T1, Database error 1403 (No data found).

测试:OGG初始化同步表,源端抽取进程scn<源端事务的start_scn时,这个变化是否会同步到目标库中?的更多相关文章

  1. Oracle 11g 测试ogg中断之后,重新同步操作

    测试ogg中断之后,重新同步操作 2018-06-07 17:11 779 1 原创 GoldenGate 本文链接:https://www.cndba.cn/leo1990/article/2839 ...

  2. ogg 初始化

    192.168.27.33test11ghdb11gtrandata: 同步delete,update 使用config 文件:同步表使用进程根据SCN号和RBA和主键同步##目的:数据定时同步,从源 ...

  3. 【翻译自mos文章】Oracle GoldenGate 怎么在源头的传输进程和目的端的server/collector进程之间分配 port?

    Oracle GoldenGate 怎么在源头的传输进程和目的端的server/collector进程之间分配 port? 来源于: How Does GoldenGate Allocates Por ...

  4. OGG-Oracle 集成模式抽取进程,REGISTER DATABASE都做了什么?

    一.学习目标 有同事问OGG技术问题,OGG软件,在oracle数据库中,集成模式抽取进程REGISTER DATABASE,都做了什么操作? 有什么风险? 并且提到了一个抽取进程注册,在瞬时间并发占 ...

  5. OGG抽取进程异常问题排查一例

    1.问题现象抽取进程常常running,但是没有新产生trail文件,lag比较大 GGSCI (xxxdb) > info all Program Status Group Lag at Ch ...

  6. (升级版)Spark从入门到精通(Scala编程、案例实战、高级特性、Spark内核源码剖析、Hadoop高端)

    本课程主要讲解目前大数据领域最热门.最火爆.最有前景的技术——Spark.在本课程中,会从浅入深,基于大量案例实战,深度剖析和讲解Spark,并且会包含完全从企业真实复杂业务需求中抽取出的案例实战.课 ...

  7. ogg概叙、架构、进程

    一. OGG 概述 OGG 全称Oracle Golden Gate. 历史: Golden Gate公司于1995年成立于美国加州旧金山,它的名称源自旧金山闻名于世的金门大桥.两位创始人Eric F ...

  8. 64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 )

    64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 ) [PS: 如果在64位系统下,出现调用测试demo,返回false的情况下,请修改Hook Dll的代码] glhH ...

  9. Android利用LocalSocket实现Java端进程与C端进程之间的IPC

    Android是建立在Linux之上的OS,在涉及到安全.网络协议.文件加密等功能时,往往需要通过C语言调用底层API来实现,而如何发出指令让C端执行我们想要的功能,并且在执行之后有返回结果呢,这就需 ...

随机推荐

  1. go读取excel表格数据

    go读取excel表格数据 使用工具 github.com/Luxurioust/excelize 百度到的都是使用这个 实际上已经改名了 github.com/360EntSecGroup-Skyl ...

  2. spring boot:使用validator做接口的参数、表单、类中多字段的参数验证(spring boot 2.3.1)

    一,为什么要做参数验证? 永远不要相信我们在后端接收到的数据, 1,防止别人通过接口乱刷服务:有些不怀好意的人或机构会乱刷我们的服务,例如:短信接口, 相信大家可能很多人在工作中遇到过这种情况 2,防 ...

  3. <img>元素边距问题

    解决方式: 给 img 元素设置成 "块" display:block; 另一种 vertical-align: bottom;

  4. jsp 记录1 bs/cs

    1.jsp = html + js + css + jsp语法 + Java片段: 2.jsp是基于Java语言的,具有跨平台性: 3.jsp编译后的class文件会常驻内存中,运行速度快,对服务器的 ...

  5. linux (简单了解)

    目录 Bash Shell 简单了解 Bash Shell基础语法 一 文件管理 二 用户管理 三权限管理 四 软件管理 什么是Bash Shell 命令的解释,用来翻译用户输入的命令 Bash Sh ...

  6. MySql与Oracle的几个主要区别

    转自:https://blog.csdn.net/c332472988/article/details/52804078 一.并发性 并发性是oltp数据库最重要的特性,但并发涉及到资源的获取.共享与 ...

  7. Linux文件操作常用命令

    一.一些文件操作命令. 1.cd /home  进入"home目录" 2.cd ../ 返回上一级目录 3.cd -  返回上次所在的目录 4.pwd 显示工程路径 5.ll 显示 ...

  8. 熔断原理与实现Golang版

    在微服务中服务间依赖非常常见,比如评论服务依赖审核服务而审核服务又依赖反垃圾服务,当评论服务调用审核服务时,审核服务又调用反垃圾服务,而这时反垃圾服务超时了,由于审核服务依赖反垃圾服务,反垃圾服务超时 ...

  9. 02 . Go框架之Gin框架从入门到熟悉(数据解析和绑定,渲染,重定向,同步异步,中间件)

    数据解析和绑定 json数据解析和绑定 package main import ( "github.com/gin-gonic/gin" "net/http" ...

  10. python框架Django中MTV框架之Template(模板/界面)

    MTV框架之Template(模板/界面) 关注公众号"轻松学编程"了解更多. 1.模板目录位置 应用下 不需要注册 无法跨应用地进行复用 工程下 需要注册 settings.py ...