OGG组件:
- Manager: 启动其它进程
- Collector
- Extract
- Data Pump:可选进程,建议使用
- Replicat
- Trails: 可以压缩,加密
- Checkpoint
OGG进程组(process group)
- Process Group:
- process
- parameter file:dirprm
- checkpoint file: dirchk
- 其它文件:dirrpt(report文件:.rpt和discard文件:.dsc ogg12c自动创建),dirdef,dirpcs(进程运行状态:pcm-manager, pcr-replicate,pce-extract)
- 每个process group命名唯一:不建议大小写混合,linux下可能abend,不建议group以数字结尾。
OGG常用指令:
- ggsci:
- obey
- help <command> <object>
- !:重复执行上一个命令
- shell <os command>
- view ggsevt(对于ggserr.log文件的内容,记得定期清理,不要直接删除文件。)
- history
- stats
- send
- kill
常用goldengate指令:
- add trandata vs add schematrandata
- add trandata:不会自动更新trandata信息(create table,update附加日志列信息等操作时)
- add schematrandata:
命令格式:add schematrandata <schemaname>(不要用schemaname.*) 会动态更新该schema下表的附加日志 需设置数据库最小附件日志; enable_goldengate_replication为true; 对goldengate用户授权: exec dbms_goldengate_auth.grant_admin_privilege(‘goldengate’); 检查是否enable: 通过info schematrandata来查询 select * from table(logmnr$always_suplog_columns(‘schemaname',‘tablename')); Info trandata查询不出。 dba_log_groups和dba_log_group_columns均无信息
- convchk:将checkpoint files 转换成新版本
- defgen:源库和目标库是不同类型数据库时,生成异构数据的定义
- keygen:生成 加密的 key
- extract: extract parameterfile <path> reportfile <path>
- replicat : replicat parameterfile <path> reportfile <path>
- oggerr:查询ogg错误号,如:oggerr 1738
Goldengate目录结构:
目录 说明 BR bounded recover 需要的checkpoint files cfg 配置OGG 监控所需要的property 和 XML 文件 dirchk Extract 或者 Replicat 进程创建的checkpoint file。cpe和cpr后缀 dirdat trial文件的默认存放位置,2个用户定义的字符+6个数字组成 dirdef 异构数据定义文件,由DEFGEN 生成 dirjar OGG monitor相关的jar包 dirpcs 进程状态文件 dirprm 参数文件 dirrpt 进程报告的存储目录 dirsql Sql脚本 dirtmp 超出分配内存的事务临时存储目录
Golden Gate 参数文件:
- 全局(GLOBALS文件)
- 检查点table信息:CHECKPOINTTABLE goldengate.checkpoint
- DDL:文件信息:GGSCHEMA goldengate
- windows 环境注册mgr成服务:MGRSERVNAME GGMGR
- ggsci> install addservice addevents
- 进程参数: dirprm/*.prm
- MGR参数:
- port:mgr侦听端口
- DYNAMICPORTLIST:实际工作进程的端口范围,用于接收如extract进程发送过来的数据
- AUTOSTART:mgr启动时自动启动哪些进程
- AUTORESTART:在进程故障时,mgr可以尝试重启那些进程,指定重试的次数以及时间间隔
- LAGCRITICAL:延迟超过此时间为严重错误,在ggserr.log里面写入一条error信息
- LAGINFO:如果延迟达到此时间值会在ggserr.log里面写入一条info信息
- LAGREPORTHOURS :检查lag的频率(这里是小时为单位,还可以LAGREPORTMINUTES )
- PURGEOLDEXTRACTS:自动删除过时的队列的策略。建议统一用相对路径或绝对路径。
- Extract参数:
- Extract group名称
- Trial文件信息 (RMTHOST 、RMTTRAIL 、EXTTRAIL )
- 需要复制或排除的表(tables、tableexclude)
- 是否需要指定列信息
- 哪些操作要抽取(GETUPDATES )
- 捕获哪些内容(GETUPDATEBEFORES | IGNOREUPDATEAFTERS )
- 可以指定过滤、映射、转换
- 一般默认最简参数:
- 所有DML操作都捕获:
- 只捕获commit操作
- Insert操作:完整后镜像
- Update操作:附加日志列和修改列、不捕获update前镜像值
- Delete操作:附加日志列
- 不做转换
- Cachemgr参数的控制:64bit默认最大可以用到64g,所以要控制好,否则内存占用过大:cachemgr cachesize 2048M, cachedirectory ./dirtmp 4GB, cachedirectory ./dirtmp2 4GB
- BR:默认4小时。 BR BRINTERVAL 20M, BRDIR BR (20M表示检查间隔是20分钟):场景:长事务还未结束,日志文件被删除;无需还原日志文件,收到commit后,直接从BR目录下的文件写入trial文件。
- 两种抽取模式:
- 经典:基于在线日志或归档日志进行抽取。对数据库版本无特殊要求
- 整合:(11.2.1以上)Logmining server负责以LCR格式从数据库日志中捕获数据变化,extract进程再将这些数据存入trail文件。logical change records
- 整合模式的好处:
- 兼容性上支持更多的数据类型(IOT、compression、XML、LOB)
- 无需为RAC、ASM、TDE、RMAN做额外的配置
- 多线程抽取(producer thread: capture redo;consumer thread:process redo),并发处理过程的性能提升。
- OGG12c对oracle 12c 多租户的捕获(必须集成抽取模式才能支持)
- DDL无需trigger(OGG12c、DB11204)
- 和数据库引擎更近了!
- 整合模式部署方式:
- 本地部署:源库和log mining server数据库是同一个数据库(源库和集成抽取进程在同一台主机)
- Downstream部署:源库和log mining server数据库是不同的数据库(源库将归档日志传送给downstream数据库)(源库和集成抽取进程不在同一台主机)