OGG中add trandata的含义

在配置OGG时,需要给同步的表添加补充日志,在ggsci命令行执行
add trandata user.table

该命令实际上包含两层含义:
1)table有PK或UK ,则目标端能准确依据PK或UK找到源端DML更新的数据,从而在目标端同步。
2)table没有PK和UK,则目标端只能依据该table的所有列来找到源端DML更新的数据,从而在目标端同步。

对应此OGG命令,在SQL*PLUS中有等效语法:
1)和第一层含义等效的语法(有主键或唯一键)
alter table user.table add?supplemental log group ggs_table_1 (PK or UK) always;
2)和第二层含义等效的语法(没有主键和唯一键)
alter table user.table add?supplemental log group ggs_table_1 (all column) always;

当某个table的column超过32个字段的时候,使用add trandata就会报错:
WARNING OGG-00706 Failed to add supplemental log group on table user.table due to ORA-02257: maximum number of columns exceeded ......
这个时候,就要使用:
alter table user.table add?supplemental log ...这种方式才可。
此时又分两种情况:
第一情况是列超过32个,但有主键或唯一键:
alter table user.table add?supplemental log group ggs_table_1 (PK or UK) always;
第二情况是列超过32个,没有主键和唯一键:
alter table user.table add?supplemental log group ggs_table_1 (all column <32) always;
alter table user.table add?supplemental log group ggs_table_2 (all colum >32) always;


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28974745/viewspace-2153215/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28974745/viewspace-2153215/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值