说起OGG大家不陌生。但是OGG的部署全是命令行的,而且查问题也是要用命令行,非常不方便。熟悉这些的人很少。OGG属于CDC的一种,我见过很多CDC工具,目前看下来OGG是问题最少的。当然最好的就是一个数据库,那么连OGG都可以不用了。
在一次OGG的学习过程中偶然知道OGG21C的版本有面向微服务版的,而且是图形化的。不由得有些高兴,这可是解决了大问题啊。于是自己动手尝试了一下。
下载路径:
然后在ogg的机器上,上传文件。当然这里要求图形安装。所以大家自己先安装一下VNC。
准备一下目录。
mkdir ogg21c
mkdir microogg
cd microogg/
mkdir ogg_sm
mkdir ogg_deployment
在ogg21c这个目录解压以后,运行安装程序。安装时候是和安装oracle一样的,运行runinstall。
这样设置
这里这些端口号确保没有占用。第一个输入以后,后面的端口号会自动加。
这里不得不说,外国人的文档写的就是严谨,但是不友好。我们中国人需要的文档是要把一些问题说清楚的。在后面的文章中会体现出来。
安装好是这样的,用刚才设置的用户名密码登录。
就是这个样子的。到这里成功代表我们第一阶段的web部署成功。后面是调试OGG源端和目标端了。
上下游(源端目标端)数据库都开启归档(主要是上游)
CDB 操作
ALTER DATABASE FORCE LOGGING;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
PDB 操作
alter session set container=xxg;
ALTER PLUGGABLE DATABASE ADD SUPPLEMENTAL LOG DATA;
alter session set container=xxg2;
ALTER PLUGGABLE DATABASE ADD SUPPLEMENTAL LOG DATA;
CDB 操作
CREATE TABLESPACE OGG DATAFILE '/u01/app/oracle/oradata/ORCL/ogg.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
PDB 操作
alter session set container=xxg;
CREATE TABLESPACE OGG DATAFILE '/u01/app/oracle/oradata/ORCL/xxg/ogg.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
alter session set container=xxg2;
CREATE TABLESPACE OGG DATAFILE '/u01/app/oracle/oradata/ORCL/xxg2/ogg.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
CDB 操作
CREATE USER c##ogg IDENTIFIED BY ogg DEFAULT TABLESPACE ogg;
EXEC dbms_goldengate_auth.grant_admin_privilege('C##OGG',' ', grant_optional_privileges=>'',container=>'all');
GRANT DBA TO C##OGG container=all;
PDB 操作
alter session set container=xxg;
alter user c##ogg DEFAULT TABLESPACE ogg;
alter session set container=xxg2;
alter user c##ogg DEFAULT TABLESPACE ogg;
然后在地址栏数据8001端口的网页地址,点击红框配置
注意这里格式是C##ogg@IP:端口/服务名 这样的格式。我开始错了。然后点击操作(最右边三个按钮依次是连接,编辑和删除)中的连接。
这里是我的名字缩写的schema。
做好了以后就是上面这样的。
下面配置ex(抽取进程)左边和re(投递进程)右边
这里进程名字就是传统的ex什么什么什么。我这里是ex+IP地址+PDB名字。线索名称就是传统的前缀,这样就好理解了。
对于这个图,身份证明别名要选CDB才行。必须要注册的这个框。这点在任何资料上都没有,我开始选的是PDB,总是失败。不选CDB就不会有注册的这个框。这点上页面做的不好。
下面继续坑。红框是要手工写的,我开始天真以为经过我上面的选择ogg自动知道我是要同步什么。实际上他不知道。这里要手工写。开始没写,总是失败。
EXTRACT ex150xxg
USERIDALIAS orcl DOMAIN OracleGoldenGate
EXTTRAIL ex
ddl include mapped
BR BROFF
table xxg.xxg.*;
这里要手写。
如果没有问题,就启动成功。如果有问题就看日志也很方便。不用打命令了。
投递进程
这里进程名字就是传统的re什么什么什么。我这里是re+IP地址+PDB名字。线索名称就是抽取进程的前缀,这里还真的需要传统ogg的一些知识点。
有了刚才的经验就知道这里一定是手写了。
REPLICAT re101xxg
USERIDALIAS txxg DOMAIN OracleGoldenGate
MAP xxg.xxg. , TARGET xxg.xxg.;
做好了大致是这样的。
实测DML和DDL都能过去。
出现问题也好检查。而且等于自带监控。
整个实施起来比原来容易太多了。






























