OGG中add trandata的含义
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;
转载 http://blog.itpub.net/28974745/viewspace-2153215/ 链接
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期