1.查看进程信息
INFO extract EFG02 / INFO extract EFG02,SHOWCH
INFO extract PFG02 / INFO extract PFG02 ,SHOWCH
INFO replicat RFG02 / INFO replicat RFG02 ,SHOWCH
BR BRINTERVAL 默认为4个小时。 每4个小时为长事务拍一次快照,使OGG进程重启恢复时可以从快照位置开始。
归档默认保留时间为 BRINTERVAL*2
2.进程统计信息
stats extract efg02
stats replicat rfg02
stats extract efg02 daily
stats replicat rfg02 daily
3.ogg全局日志
view GGSEVT
view GGSEVT tail 50
4.查看长事务
send efg02 showtrans
send extract efg02,showtrans file detail
跳过或接受长事务
send extract efg02,skiptrans xxxx thread x
send extract efg02,forcetrans xxxx thread x
5.重置抽取进程,本地文件序列号从0开始生成
ALTER EXTRACT EFG05, EXTSEQNO 0, EXTRBA 0
ALTER REPLICAT RFG05, EXTSEQNO 0, EXTRBA 0
ALTER REPLICAT RFG05, EXTSEQNO10, EXTRBA 0
ALTER EXTRACT EFG05, TRANLOG, BEGIN 2022-03-18 16:00:00
6.查看日志
cat ggserr.log |grep ERROR
cat ggserr.log |grep WARNING
7.如果需要同步序列,并且序列需要nocache
DDL &
INCLUDE OBJTYPE SEQUENCE &
INCLUDE MAPPED
8.抽取进程升级为集成模式
stop extract EFG02
dblogin userid goldengate ,password goldengate
register extract EFG02 DATABASE
start extract EFG02
stop extract EFG02
alter extract EFG02 upgrade integrated tranlog
start extract EFG02
9.OGG日常维护之修改表的步骤(100万以上的大表)
未开DDL的情况下,新加一个大表
1.源端检查表是否满足同步要求(主键)
2.目标端是否存在该表(不存在)
3.配置步骤:
1)源端附加表日志
2)源端抽取进程增加表,并重新启动抽取进程
3)源端推送进程增加表,重新启动推送进程
4)目标端停止复制进程
5)源端获取scn(确认该表无事务存在)
6)源端exp/expdp根据Scn另出表dmp
7)源端dmp拷贝到目标端
8)目标端导入表一
9)目标端复制进程增加表带过滤filtercsn
MAP XXX.XXX TARGET XXX.XXXX, filter(@getenv('TRANSACTION','CSN')>SCN)
10)目标端启动复制进程,待同步完成后,去掉fiter,重新启动复制进程
11)源端和目标端检查记录是否一致
10.OGG日常维护之修改表的步骤(100万以内小表)
1)停止相关所有的进程
2)注意检查长事物
3)在源端和目标端上建立复制表
4)在源端为新表增加附日志
5)修改相关进程参数增加表
6)重启相关所有进程
7)对新增加的表做测试操作
11.无主键表如何处理
在以下条件下,完全可以使用所有列来唯一标识行:
- 无法使用KEYCOLS参数为表定义逻辑键列
- 表中不存在重复行
- 表包含少量行,因此目标数据库上的完整表查找很少
- 表DML活动非常低,因此“所有列”表补充日志组不会对源数据库重做日志产生负面影响
如果要复制的表不满足上面列出的所有条件,建议使用SYS_GUID默认值向表中添加一列,以唯一标识行。
对于无主键、无唯一约束的表,当表结构发生变化时,必须执行以下操作:
1. 删除附加日志
2. 再次增加附加日志
注意:上述操作是针对使用 `add trandata` 方式增加附加日志的情况。如果使用的是 `add schematrandata`,则不存在这个问题,否则会导致数据不一致。
主要原因是 `schematrandata` 与 `trandata` 的实现方式不同:
- `trandata` 属于 DDL 操作,对于高并发的表无法获取锁
- `schematrandata` 通过调用接口实现,避免了 DDL 加锁的问题
在日常运维中,除非有非常特殊的需求,否则都应优先选择使用 ADD SCHEMATRANDATA。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15412087/viewspace-3110795/ ,如需转载,请注明出处,否则将追究法律责任。