如何让GoldenGate在trail文件中记录数据库的SCN信息

作者&投稿:柳宏 (若有异议请与网页底部的电邮联系)
~
如何让 GoldenGate 在 trail 文件中记录数据库的 SCN 信息 通常情况下,Oracle GoldenGate 的 trail 文件中是不会包含数据库的 SCN 信息的,要在 trail 文件中记录此信息,必须在 Extract 进程参数中设置 TOKENS 示例如下: --Normal extract mapping-- TABL




如何让 GoldenGate 在 trail 文件中记录数据库的 SCN 信息



通常情况下,Oracle GoldenGate 的 trail 文件中是不会包含数据库的 SCN 信息的,要在 trail 文件中记录此信息,必须在 Extract 进程参数中设置 TOKENS

示例如下:

--Normal extract mapping--

TABLE scott.* ;



--To use tokens--

TABLE scott.*, tokens (tk-scn = @getenv("ORATRANSACTION", "SCN"));



设置 tokens 后 Extract 进程会在 trail 文件中写入一个 token ,其中包含 SCN 的详细信息。下面我们通过实验来详细了解一下设置 tokens 和不设置的区别。



设置 tokens 前:

GGSCI (prod.oracle.com) 1> view params ESCOTT

EXTRACT escott

SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

USERID ggs, PASSWORD register

EXTTRAIL ./dirdat/aa

TABLE scott.EMP_GGS, tokens (tk-scn = @getenv("ORATRANSACTION", "SCN"));

TABLE scott.DEPT_GGS, tokens (tk-scn = @getenv("ORATRANSACTION", "SCN"));



Logdump 15 >open ./dirdat/aa000016

Current LogTrail is /home/oracle/ggs/dirdat/aa000016

Logdump 16 >ghdr on

Logdump 17 >detail data

Logdump 18 >usertoken detail

Logdump 51 >n

___________________________________________________________________

Hdr-Ind : E (x45) Partition : . (x04)

UndoFlag : . (x00) BeforeAfter: A (x41)

RecLength : 120 (x0078) IO Time : 2013/03/21 23:31:55.000.000

IOType : 5 (x05) OrigNode : 255 (xff)

TransInd : . (x03) FormatType : R (x52)

SyskeyLen : 0 (x00) Incomplete : . (x00)

AuditRBA : 131 AuditPos : 6994960

Continued : N (x00) RecCount : 1 (x01)





2013/03/21 23:31:55.000.000 Insert Len 120 RBA 1079

Name: SCOTT.EMP_GGS

After Image: Partition 4 G s

0000 000a 0000 0000 0000 0000 1cd4 0001 0008 0000 | ....................

0004 4d49 4d49 0002 0009 0000 0005 434c 4552 4b00 | ..MIMI........CLERK.

0300 0a00 0000 0000 0000 001e de00 0400 1500 0031 | ...................1

3938 372d 3132 2d31 373a 3030 3a30 303a 3030 0005 | 987-12-17:00:00:00..

000a 0000 0000 0000 0001 3880 0006 000a ffff 0000 | ..........8.........

0000 0000 0000 0007 000a 0000 0000 0000 0000 0014 | ....................

Column 0 (x0000), Len 10 (x000a)

0000 0000 0000 0000 1cd4 | ..........

Column 1 (x0001), Len 8 (x0008)

0000 0004 4d49 4d49 | ....MIMI

Column 2 (x0002), Len 9 (x0009)

0000 0005 434c 4552 4b | ....CLERK

Column 3 (x0003), Len 10 (x000a)

0000 0000 0000 0000 1ede | ..........

Column 4 (x0004), Len 21 (x0015)

0000 3139 3837 2d31 322d 3137 3a30 303a 3030 3a30 | ..1987-12-17:00:00:0

30 | 0

Column 5 (x0005), Len 10 (x000a)

0000 0000 0000 0001 3880 | ........8.

Column 6 (x0006), Len 10 (x000a)

ffff 0000 0000 0000 0000 | ..........

Column 7 (x0007), Len 10 (x000a)

0000 0000 0000 0000 0014 | ..........



下面我们来看看在 Extract 进程参数中加入 tokens 设置后,插入一条记录在 trail 文件中的记录



GGSCI (prod.oracle.com) 3> view params escott

TABLE scott.EMP_GGS;

EXTRACT escott

SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

USERID ggs, PASSWORD register

EXTTRAIL ./dirdat/aa

TABLE scott.EMP_GGS, tokens (tk-scn = @getenv("ORATRANSACTION", "SCN"));

TABLE scott.DEPT_GGS, tokens (tk-scn = @getenv("ORATRANSACTION", "SCN"));



插入一条记录后,trail 文件切到下一队列

GGSCI (prod.oracle.com) 8> info ESCOTT,detail

EXTRACT ESCOTT Last Started 2013-03-21 23:42 Status RUNNING

Checkpoint Lag 00:00:00 (updated 00:00:09 ago)

Log Read Checkpoint Oracle Redo Logs

2013-03-21 23:43:34 Seqno 132, RBA 290816

SCN 0.1364750 (1364750)

Target Extract Trails:

Remote Trail Name Seqno RBA Max MB

./dirdat/aa 17 1333 5



Logdump 54 >open ./dirdat/aa000017

Current LogTrail is /home/oracle/ggs/dirdat/aa000017

Logdump 55 >ghdr on

Logdump 56 >detail data

Logdump 57 >usertoken on

Logdump 58 >usertoken detail

Logdump 59 >n



Logdump 61 >n

___________________________________________________________________

Hdr-Ind : E (x45) Partition : . (x04)

UndoFlag : . (x00) BeforeAfter: A (x41)

RecLength : 120 (x0078) IO Time : 2013/03/21 23:43:34.000.000

IOType : 5 (x05) OrigNode : 255 (xff)

TransInd : . (x03) FormatType : R (x52)

SyskeyLen : 0 (x00) Incomplete : . (x00)

AuditRBA : 132 AuditPos : 289296

Continued : N (x00) RecCount : 1 (x01)



2013/03/21 23:43:34.000.000 Insert Len 120 RBA 1079

Name: SCOTT.EMP_GGS

After Image: Partition 4 GU s

0000 000a 0000 0000 0000 0000 1cd5 0001 0008 0000 | ....................

0004 4d49 4e49 0002 0009 0000 0005 434c 4552 4b00 | ..MINI........CLERK.

0300 0a00 0000 0000 0000 001e de00 0400 1500 0031 | ...................1

3938 372d 3132 2d31 373a 3030 3a30 303a 3030 0005 | 987-12-17:00:00:00..

000a 0000 0000 0000 0001 3880 0006 000a ffff 0000 | ..........8.........

0000 0000 0000 0007 000a 0000 0000 0000 0000 0014 | ....................

Column 0 (x0000), Len 10 (x000a)

0000 0000 0000 0000 1cd5 | ..........

Column 1 (x0001), Len 8 (x0008)

0000 0004 4d49 4e49 | ....MINI

Column 2 (x0002), Len 9 (x0009)

0000 0005 434c 4552 4b | ....CLERK

Column 3 (x0003), Len 10 (x000a)

0000 0000 0000 0000 1ede | ..........

Column 4 (x0004), Len 21 (x0015)

0000 3139 3837 2d31 322d 3137 3a30 303a 3030 3a30 | ..1987-12-17:00:00:0

30 | 0

Column 5 (x0005), Len 10 (x000a)

0000 0000 0000 0001 3880 | ........8.

Column 6 (x0006), Len 10 (x000a)

ffff 0000 0000 0000 0000 | ..........

Column 7 (x0007), Len 10 (x000a)

0000 0000 0000 0000 0014 | ..........



User tokens: 15 bytes

tk-scn : 1364750



这里显示的 tk-scn : 1364750 正是我们要显示的数据库 SCN 号。



下面我们来做一个更精确的测试,我们更新一条记录,并记录插入记录前后的 SCN 号,然后

到 trail 文件中查看是否确实如此。



SQL> select dbms_flashback.get_system_change_number from dual;



GET_SYSTEM_CHANGE_NUMBER

------------------------

1365152

SQL> update scott.emp_ggs set ename = 'DANIEL' where empno = 7381;



1 row updated

SQL> commit;



Commit complete

SQL> select dbms_flashback.get_system_change_number from dual;



GET_SYSTEM_CHANGE_NUMBER

------------------------

1365155



修改记录前的数据库 SCN 为 1365152,修改后的为 1365155,那么修改记录时的 SCN 应该在二者之间:



Logdump 62 >n

___________________________________________________________________

Hdr-Ind : E (x45) Partition : . (x04)

UndoFlag : . (x00) BeforeAfter: A (x41)

RecLength : 28 (x001c) IO Time : 2013/03/21 23:53:03.000.000

IOType : 15 (x0f) OrigNode : 255 (xff)

TransInd : . (x03) FormatType : R (x52)

SyskeyLen : 0 (x00) Incomplete : . (x00)

AuditRBA : 132 AuditPos : 526352

Continued : N (x00) RecCount : 1 (x01)



2013/03/21 23:53:03.000.000 FieldComp Len 28 RBA 1333

Name: SCOTT.EMP_GGS

After Image: Partition 4 GU s

0000 000a 0000 0000 0000 0000 1cd5 0001 000a 0000 | ....................

0006 4441 4e49 454c | ..DANIEL

Column 0 (x0000), Len 10 (x000a)

0000 0000 0000 0000 1cd5 | ..........

Column 1 (x0001), Len 10 (x000a)

0000 0006 4441 4e49 454c | ....DANIEL



User tokens: 15 bytes

tk-scn : 1365154



通过 logdump 看到的是 SCN 1365154 确实介于 1365152 和 1365155 之间









http://blog.csdn.net/xiangsir/article/details/8708626



goldeng的datapump为什么不提取数据
您好,不是配置的问题,到oracle下载ggs11.1(可以看到有两个版本,一个for10g,一个for11g,我选择了for11g的版本下载)后安装,重新配置后extdp可以抽取数据、repdp可以递交数据了。我的数据库是ORACLE11.2,可能GG10.4支持datapump的有问题,测试过不配置datapump没有问题。在安装gg11.1的时候报了...

黑道圣徒4解锁全部超能力的秘籍是什么啊
cheese - 获得100万金钱 letsrock - 解锁所有武器 goodygoody - 消除警星 runfast - 无限体力 fryhole - 升天(死了的人会飘起来)vroom - 无敌汽车(不受损害)isquishyou - 坦克汽车(碾碎他人汽车)hohoho - 全民皆妓 mascot - 全面吉祥物 evilcars - 所有车辆疯狂袭击玩家 解锁Super Sprint:runfa...

歌词搜索 只记得曲子开头后有“golden golden golden”,声音中性,是比 ...
我听得那首 三个 golden goldeng golden!听起来,一个比一个浓重最后一个有一种呐喊的感觉,声音也很有磁性,这是特点,如果很相像,你可以去听一下。

黑道圣徒4所有秘籍
cheese - 获得100万金钱 letsrock - 解锁所有武器 goodygoody - 消除警星 runfast - 无限体力 fryhole - 升天(死了的人会飘起来)vroom - 无敌汽车(不受损害)isquishyou - 坦克汽车(碾碎他人汽车)hohoho - 全民皆妓 mascot - 全面吉祥物 evilcars - 所有车辆疯狂袭击玩家 解锁Super Sprint:runf...

goldeng的datapump为什么不提取数据
我的数据库是ORACLE11.2,可能GG10.4支持datapump的有问题,测试过不配置datapump没有问题。在安装gg11.1的时候报了这么一个信息:21:25:01 WARNING OGG-01756 Cannot register EXTRACT EXTDB with database because of the following SQL error: OCI Error ORA-26723: user "GOLDENGATE" require...

元江哈尼族彝族傣族自治县19711316422: goldengate 目标端的没有应用到数据库的trail 文件丢失怎么办 -
乐阀右旋: A1:如果source site上的local trail没有被purge,那么可以让data pump从你丢失的位置重传,如果也没有了,那么就只能从库里重抽,如果archived log也没了,那么就只能重新开始了.A2:replicat process 默认情况是real-time投递的,如果想延迟,可以通过replicat process parameter deferapplyinterval实现(具体用法参阅ref doc)

元江哈尼族彝族傣族自治县19711316422: goldengate可以让同一台机器上的两个数据库互相复制吗 -
乐阀右旋: 一、如何在一台电脑上安装2个不同软件的数据库,如MSSQL和MYSQL 可以同时安装,并且默认端口也不冲突.二、如何在同一台电脑上安装2个相同软件的数据库,如安装2个mssql或者安装两个mysql 基本上没这个必要,过程也比较复杂,...

元江哈尼族彝族傣族自治县19711316422: 果蝇中常染色体隐性基因tra纯合时,雌果蝇转化为不育的雄蝇.基因tra在雄性XY中没有效应.对tra位点杂合 -
乐阀右旋: 根据题意用“/”把同源染色体或其上的等位基因分开,用“,”把非等位基因对分开. F1:的期望性比3 4 雄:1 4 雌=3:1;F2:由于F1中的“转化”,导致雄蝇没有生育能力,所以共有二种交配类型,每一种交配频率为1 2 ;这一类交配类型中F2...

元江哈尼族彝族傣族自治县19711316422: traditional 的音节 究竟 怎样划分,是 tra/di/tio/nal 还是 tra/di/tion/al? 并讲下原因 holloween呢? -
乐阀右旋: 1. traditional 的音节是tra/di/tio/nal, 因为如果是tra/di/tion/al,那么只剩下了一个辅音/l/,构不成一个音节,也发不出“楼”这个音,/l/ 需要与/n/ 拼读,组成/nl/这个音节,发“楼”的音. 而/nl/这个音节是个特殊情况,因为英语单词的音节是以原...

元江哈尼族彝族傣族自治县19711316422: tra在三元乙丙橡胶中的用量是多少份 -
乐阀右旋: tra是代替TMTD在三元乙丙橡胶中的用量是生胶100质量份用到0.3-1.5质量份,仅供参考!!

元江哈尼族彝族傣族自治县19711316422: 我想问一下在韩国转机怎么找LA的GATE下飞机走哪条路啊是TRA?
乐阀右旋: 不需要transfer,你从中国飞到韩国就是在国际区,从韩国飞美国还是从国际区出发.你要做的就是,看路牌,找到下一个登机口的编号即可.登机口一般在第二张登机牌上已经打印了.如果没有打印的话,就要问人或者看大屏幕找找了.

元江哈尼族彝族傣族自治县19711316422: tra文件怎么打开 -
乐阀右旋: 用windows里面的记事本或其它文本编辑软件即可打开*.tra文件

元江哈尼族彝族傣族自治县19711316422: 什么是TRA认证,阿联酋TRA认证需要什么资料 -
乐阀右旋: 阿联酋TRA是管制无线电和电信通讯的机构,根据TRA的法规要求,所以无线设备在销往阿联酋市场都需获得型号许可. 认证申请方需是当地公司,或是国外公司,但申请方必须先取得TRA颁发的执照,方能申请设备的型号许可,该执照的有效期是5年. 其他信息 阿联酋COC TRA 认证类型 强制性 强制性 技术信息 220V/240V,50HZ 工厂审查 无

元江哈尼族彝族傣族自治县19711316422: TRA的XAUUSD和一些平台的GOLD有什么区别吗? -
乐阀右旋: TRA的XAU/USD是伦敦现货黄金的商品代码 是以盎司(1盎司=31.1035克)为交易单位的 GOLD是英文黄金的翻译单词 .前者是商品代码 后者是英文单词 价格都是由市场决定的

元江哈尼族彝族傣族自治县19711316422: 意大利语前置词中的FRA,TRA的用法 -
乐阀右旋: 其实fra和tra的意思是一样的,没有什么区别.一般用于表示两种或更多的事务中的状态,比如动作的时间 tra due kilometri fra due ore una casa tra gli alberi

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网