【概要】
由于公众号单篇文章的限制,上一篇文章只讲OGG Microservices for oracle数据库安装与配置,对于如何通过WEB端配置数据同步、如何通过命令行查看与管理服务、进程以及简单故障处理都没有讲解,所以本篇主要讲解如何通过WEB端来配置数据同步(与GGSCI命令行创建与管理抽取、传输以及应用进程类似)以及如何通过adminclient来直接查看与管理服务以及进程。
本文主要介绍OGG 19微服务架构安装、配置以及简单数据同步案例演示.
通过学习本篇文章,你将快速掌握如下内容:
配置oracle数据库来满足OGG同步要求
通过web端能够快速配置ogg的数据同步功能,包括创建与管理抽取进程、传输进程、应用进程以及验证数据同步
通过adminclient命令行管理各种服务、进程,与ggsci命令相似
通过web能够快速查看各种监控性能数据,如延迟数据、各种统计信息,使用传统ggsci命令查看,相对来说比较麻烦且不直观
备注:如你对于安装与配置微服务还不熟悉,请通过上一篇文章来学习如何配置.
【检查与修改数据库配置FOR OGG】
数据库主要配置任务
1.开启数据库归档--如果没有开启2.开启数据库级别附加日志--如果没有开始最小附加日志3.开启强制日志--如果没有开启强制日志4.设置ENABLE_GOLDENGATE_REPLICAT参数为TRUE5.创建OGG用户包括包括源端用户、目标端用户以及OGG抽取用户
检查数据库参数配置是否满足OGG需求
备注:1,2,3项目都不满足,都需要调整.
select name,supplemental_log_data_min , force_logging, log_mode from v$database;NAME SUPPLEME FOR LOG_MODE--------- -------- --- ------------XIAOXU NO NO NOARCHIVELOG
重启数据库到mount状态执行如下脚本
shutdown immediate(单实例) or srvctl stop database -d xiaoxu(rac建议)startup mountalter system set log_archive_dest_1='location=+data';alter database archivelog;alter database add supplemental log data;alter database force logging;alter system set enable_goldengate_replication=TRUE;alter database open;
再次检查数据库参数配置是否满足OGG需求
select name,supplemental_log_data_min , force_logging, log_mode from v$database;NAME SUPPLEME FOR LOG_MODE--------- -------- --- ------------XIAOXU YES YES ARCHIVELOGshow parameter goldengateNAME TYPE VALUE------------------------------------ ----------- ------------------------------enable_goldengate_replication boolean TRUE
创建OGG管理用户:ggadmin
CREATE USER ggadmin identified by ggadmin;GRANT DBA to ggadmin;
创建业务用户分别是source和target用户
Create user source identified by source;Grant connect, resource, create session, alter session to source;Grant unlimited tablespace to source;Create user target identified by target;Grant connect, resource, create session, alter session to target;Grant unlimited tablespace to target;
【总结】至此完成oracle database配置以及用户创建,为后续OGG同步数据做准备.
【配置OGG的经典抽取(classic extract)进程】
⏰如果采用classic extract同步ddl,需要通过OGG_HOME的bin路径下adminclient来配置,WEB暂无接口,如果需要DDL同步建议采用集成模式
备注:1-11步通过web完成extract创建以及DML配置,12步通过adminclient来配置DDL
通过web的Administration Server来配置exact进程,点击Administration Server进程进入配置页面,Administration Server主要配置与管理extract和replicat进程.


点击extract右上角+号来新增extract

选择classic extact后点击next(支持初始化、经典模式、集成模式)

输入extract名称、同步类型以及配置认证

采用已创建的认证,微服务不支持直接输入账号与密码,需要采用别名方式

备注:如果采用日志在asm上,增加tranlogoptions dblogreader参数

extract创建完成,但是没有启动

通过Action中各种选项来查看、启动、修改、删除进程

启动进程之前开始附加日志(与经典架构一样)点击左上角三一图标中configuration配置

点击数据库图标(这个是配置数据源信息)开始配置

选择Schema或者Table级别附加信息类型后点击+号进入配置页面

--备注:12.3版本名字是:Trandata,19版本变成Transaction information

可以配置extract自动启动、启动启动以及trailfile管理策略

使用sys用户登陆数据库来配置DDL
⏰经典架构下通过ggsci命令下使用dblogin登陆数据库,微服务架构在adminclient命令行先连接到Service Manager,然后才能使用dblogin访问数据库,DDL脚本路径:$ORACLE_HOME/lib/sql/legacy.
备注:goldengate的用户是ggadmin,所以需要输入用户名都是ggadmin且ggadmin需要独立表空间,否则执行ddl_setup.sql会报错.如果不是,以下是一个例子:sqlplus '/as sysdba'sql>create tablespace goldengate datafile '+data' size 500m autoextend off;sql>alter user ggadmin default tablespace goldengate;cd $ORACLE_HOME/lib/sql/legacy【配置DDL】sqlplus '/as sysdba'@marker_setup.sql;@ddl_setup.sql;@role_setup.sql;GRANT GGS_GGSUSER_ROLE TO ggadmin;@ddl_enable.sql;中途涉及这个Enter Oracle GoldenGate schema name:ggadmin【禁用 DDL】@ddl_disable.sql;【卸载DDL】@ddl_disable.sql;@marker_remove.sql;@ddl_remove.sql;修改extract参数,增加ddl配置


启动extract进程--start无选项是同步方式,在后台是异步方式


【总结】至此完成oracle goldengate Microservices的classic extract的DML和DDL配置.
【配置OGG的传输进程】
备注:微服务版本中传输进程用Distribution Server替换经典架构中PUMP进程
在service Manager首页点击Distribution Server的8002端口进入配置页面

点击➕号创建Distribution Server进程

配置Add path的信息创建和运行按钮(传统架构是extract name,现在是Path Name)


Distribution Server进程被创建,被Receiver server的8003端口接收

【总结】至此完成oracle goldengate Microservices的Distribution Server配置。
【配置OGG的经典应用进程】
⏰配置应用进程之前先配置checkpointtable表存放应用进程的消息,包括seqno、rba、time以及事务信息 .
在左侧Configuration中database增加checkpointtable

checkpointtable已经创建成功.

通过web的Administration Server来配置replicat进程,点击Administration Server进程进入配置页面,点击+号

选择replicat类型,选择Nointegrated Replicat类型

配置replicate名字、checkpointtable等相关信息

检查与修改参数后(与ggsci配置类似),点击Create and Run.

创建完成后进程信息如下

【总结】至此完成oracle goldengate Microservices的经典同步数据过程,包括extract、Distribution Server、replicat配置。
【数据同步测试】
手动在source创建新表,验证能否自动同步DDL
SQL> create table source.xiaoxu_new(id int not null primary key,name varchar2(50),address varchar2(100));Table created.
插入数据到source.xiaoxu
SQL> conn sourceEnter password:Connected.SQL> insert into xiaoxu_new values(1,'xiaoxu','shanghai');1 row created.SQL> insert into xiaoxu_new values(2,'xiaoxing','shanghai');1 row created.SQL> insert into xiaoxu_new values(3,'xiaoyaba','shanghai');1 row created.SQL> commit;Commit complete.
在Service Manager页面点击Administration Server检查extract和replicat页面上Action中的Details来看统计信息或者Performance Metrics Server检查extract和replicat的database statistics
extract总的统计信息

extract详细信息

replicat统计信息

replicat详细信息

【总结】至此完成oracle goldengate Microservices的DDL+DML数据同步过程。
【通过adminclient命令行来管理】
⏰经典架构下通过ggsci命令下使用dblogin登陆数据库以及各种管理操作,微服务架构在adminclient命令行先连接到Service Manager,然后才能使用dblogin访问数据库和各种管理操作.
如何访问adminclient以及登陆数据库
⏰进入OGG_HOME/bin目录,调用adminclient命令进入命令行模式,也是调用service manager的REST API接口来操作(类似登陆WEB).然后dblogin来访问数据库
具体命令(如果不先connect登陆,什么命令不好使)
cd $OGG_HOME/bin
./adminclient
访问service manager api:connect http://192.168.124.97:7809 deployment deploymentname as oggadmin password oggadmin
登陆database:dblogin useridalias ggadmin domain oggadmin

2.adminclient与ggsci命令基本相同
⏰如何创建、启动、删除,有些命令,web功能虽然好用,有些功能不支持,例如配置ddl、修改指定thread的scn、time、seqno、rba不支持
OGG (http://192.168.124.97:7809 deploy11g as ggadmin@XIAOXU) 5> info ext01EXTRACT EXT01 Last Started 2019-07-30 23:01 Status RUNNINGCheckpoint Lag 00:00:03 (updated 00:00:09 ago)Process ID 1529Log Read Checkpoint Oracle Redo Logs2019-07-31 00:14:38 Thread 1, Seqno 12, RBA 8719360SCN 0.1157041 (1157041)Log Read Checkpoint Oracle Redo Logs2019-07-30 16:14:34 Thread 2, Seqno 5, RBA 8593408SCN 0.1157040 (1157040)Encryption Profile LocalWalletNo REPLICAT groups found, but some coordinated threads may have been excludedOGG (http://192.168.124.97:7809 deploy11g as ggadmin@XIAOXU) 6> info repNo EXTRACT groups found, but some coordinated threads may have been excludedREPLICAT REP Last Started 2019-07-30 23:09 Status RUNNINGCheckpoint Lag 00:00:00 (updated 00:00:06 ago)Process ID 13392Log Read Checkpoint File u01/app/ogg/db11.2/ogg191_deploy/var/lib/data/rt0000000002019-07-30 23:30:09.997803 RBA 4948Settings Profile DefaultEncryption Profile LocalWallet
[CLASSIC抽取无法抽取到数据以及问题排查】
配置classic extract后无法捕获到DML变化情况
在Administration Server里面选择点击抽取进程的action的detail

--发现rac 2个节点信息,只发现一个无具体信息.有没有办法类似经典架构ggsci命令直接查看进程信息,现在名字叫adminclient

2.进入OGG_HOME/bin目录,调用adminclient命令进入命令行模式
OGG (not connected) 2> connect http://192.168.124.97:7809 deployment deploy11g as oggadmin password oggadminOGG (http://192.168.124.97:7809 deploy11g) 3> info allProgram Status Group Type Lag at Chkpt Time Since ChkptADMINSRVR RUNNINGDISTSRVR RUNNINGPMSRVR RUNNINGRECVSRVR RUNNINGEXTRACT RUNNING EXT01 CLASSIC 00:00:00 00:00:01EXTRACT RUNNING EXT02 CLASSIC 00:00:03 00:00:03
查看进程状态--发现thread 2的extseqno和extrba都是0,数据库切换日志、以及重启进程都无效果.
OGG (http://192.168.124.97:7809 deploy11g) 4> info EXT02EXTRACT EXT02 Last Started 2019-07-30 11:29 Status RUNNINGCheckpoint Lag 00:00:02 (updated 00:00:07 ago)Process ID 7058Log Read Checkpoint Oracle Redo Logs2019-07-30 11:45:12 Thread 1, Seqno 9, RBA 18807808SCN 0.1054997 (1054997)Log Read Checkpoint Oracle Redo Logs2019-07-30 11:26:09 Thread 2, Seqno 0, RBA 0SCN 0.0 (0)Settings Profile DefaultEncryption Profile LocalWalletNo REPLICAT groups found, but some coordinated threads may have been excluded
手动修改thread 2 的extseqno=1、extrba=0的值,提示没有开启附加日志,最后发现2个节点时间不一致,导致使用begin now后一个节点可以识别,thread 2无法识别也无错误
OGG (http://192.168.124.97:7809 deploy11g) 6> alter extract ext02,extseqno 1,extrba 0,thread 2OGG (http://192.168.124.97:7809 deploy11g) 7> start ext022019-07-30T03:51:11Z INFO OGG-00975 EXTRACT EXT02 starting2019-07-30T03:51:11Z INFO OGG-15426 EXTRACT EXT02 startedOGG (http://192.168.124.97:7809 deploy11g) 11> info ext02EXTRACT EXT02 Last Started 2019-07-30 11:51 Status RUNNINGCheckpoint Lag 00:05:02 (updated 00:00:10 ago)Process ID 20190Log Read Checkpoint Oracle Redo Logs2019-07-30 11:46:05 Thread 1, Seqno 9, RBA 18834448SCN 0.1055111 (1055111)Log Read Checkpoint Oracle Redo Logs2019-07-30 11:26:09 Thread 2, Seqno 1, RBA 0SCN 0.0 (0)Settings Profile DefaultEncryption Profile LocalWalletNo REPLICAT groups found, but some coordinated threads may have been excludedOGG (http://192.168.124.97:7809 deploy11g) 12> info ext02EXTRACT EXT02 Last Started 2019-07-30 11:51 Status ABENDEDCheckpoint Lag 00:05:02 (updated 00:00:11 ago)Log Read Checkpoint Oracle Redo Logs2019-07-30 11:46:05 Thread 1, Seqno 9, RBA 18834448SCN 0.1055111 (1055111)Log Read Checkpoint Oracle Redo Logs2019-07-30 11:26:09 Thread 2, Seqno 1, RBA 0SCN 0.0 (0)Settings Profile DefaultEncryption Profile LocalWalletNo REPLICAT groups found, but some coordinated threads may have been excluded错误日志如下--此时发现附加日志没有开启,其实已开启.对比2个节点时间不一致.2019-07-30 11:51:17 ERROR OGG-00730 No minimum supplemental logging is enabled.
手动修改thread 2 的extseqno 、extrba的值为当前值(类似节点2点begin now)后恢复
⏰rac 2个节点需要保持一致,避免出现节点剔除集群或者sysdate取值等问题.最终修改2个节点时间。
OGG (http://192.168.124.97:7809 deploy11g) 43> alter extract ext02,extseqno 4,extrba 0,thread 2OGG (http://192.168.124.97:7809 deploy11g) 43>start ext02OGG (http://192.168.124.97:7809 deploy11g) 42> info ext02EXTRACT EXT02 Last Started 2019-07-30 12:03 Status RUNNINGCheckpoint Lag 00:00:02 (updated 00:00:07 ago)Process ID 23973Log Read Checkpoint Oracle Redo Logs2019-07-30 12:03:12 Thread 1, Seqno 9, RBA 21518336SCN 0.1057982 (1057982)Log Read Checkpoint Oracle Redo Logs2019-07-30 04:03:11 Thread 2, Seqno 4, RBA 2557440SCN 0.1057981 (1057981)Settings Profile DefaultEncryption Profile LocalWalletNo REPLICAT groups found, but some coordinated threads may have been excludedOGG (http://192.168.124.97:7809 deploy11g) 43>
通过web无法修改指定thread的extseqno和extrba的信息,可以修改sequence和rba,但是无法指定thread,修改的时会提示你必须指定thread


【总结】oracle goldengate 19 Microservices安装、配置以及数据同步实战到此结束。




