【概要】
OGG 微服务架构(Microservices Architecture)起始于12.3版本,采用各种服务来管理,通过WEB接口来创建进程、启动进程以及管理底层进程等操作以及具备完善监控功能包括进程、线程等性能数据,以前非微服务架构称为经典架构(Classic Architecture)。
本文主要介绍OGG 19微服务架构安装、配置以及简单数据同步案例演示.
注意点OGG、操作系统、数据库3者的兼容性:OGG 19c支持oracle版本包括 11.2.0.4+,12.1 ,12.2 ,18c ,19c(ORACLE 19C需要LINUX 7才能安装),虽然支持多版本,但是安装时需要选择指定数据库版本而不是安装后支持所有数据库版本。如果ORACLE后续升级,OGG必须卸载重新安装对应数据库版本才能继续工作,例如在linux 5下安装OGG 19版本会出现问题(前几天在linux 5.7安装出现此GLIBC不兼容),所以安装OGG之前先确认下兼容性。
【微服务软件安装】
从OGG 12.3开始,传统架构与微服务架构软件是独立下载,其中软件包名字中包括Microservices字样就是新架构软件包.本次安装环境是19版本。下载地址:https://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html
【软件下载】
选择带有关键字Microservices的版本下载,对于ORACLE数据库版本并不是每个版本对应的平台都有微服务,例如19c目前只支持linux平台,18c支持微服务的平台比较多,但是没有linux平台,目前12.3版本官方网站无微服务版本可以下载。个人猜测有可能对应版本不稳定或者为了推广新版本采用下载策略(不一定对的!!!)。
【软件上传与解压】
软件上传到/dba/soft,且ogg用户对此目录有读写权限
[oracle@pacsrac01 ~]$ ls -ld dba/soft/
drwxr-xr-x 2 oracle oinstall 4096 Jul 29 00:25 dba/soft/
[oracle@pacsrac01 ~]$ cd dba/soft/
[oracle@pacsrac01 soft]$ ls -lrt
total 741120
-rw-r--r-- 1 oracle oinstall 758157974 Jul 29 00:27 191001_fbo_ggs_Linux_x64_services_shiphome.zip
[oracle@pacsrac01 soft]$ unzip 191001_fbo_ggs_Linux_x64_services_shiphome.zip
【创建微服务目录】
OGG经典架构需要一个目录即OGG_HOME,微服务需要3个路径:
一个是OGG_HOME,软件安装路径与经典架构保持一致,简称MA
一个是服务管理路径,微服务架构采用服务方式管理,简称SM,可以管理多个部署.例如for oracle 11g、oracle 12c等.
一个是部署路径,微服务采购云操作方式,所有部署与管理都是通过web其中管理,简称DEPLOY.
为了兼容多个数据库版本,目录命名规则且全部采用小写创建目录
OGG_BASE=/u01/app/ogg
OGG_HOME=/u01/app/ogg/dbversion/oggversion_角色,例如
MA=Microservices Architecture HOME,OGG_HOME
SM=SERVICE MANAGER DEPLOYMENT HOME,OGG服务管理HOME
DEPLOY=DEPLOYMENT HOME,主要部署extract,replicat实现数据同步的HOME
所以3个路径命名如下:
命名规则如下:
/dba/app/ogg/db11.2/ogg191_ma
/dba/app/ogg/db11.2/ogg191_sm
/dba/app/ogg/db11.2/ogg191_deploy
具体命令[root用户操作]
mkdir -p u01/app/ogg/db11.2/ogg191_ma
mkdir -p u01/app/ogg/db11.2/ogg191_sm
mkdir -p u01/app/ogg/db11.2/ogg191_deploy
chown oracle:oinstall u01/app/ogg/db11.2/ogg191_ma
chown oracle:oinstall u01/app/ogg/db11.2/ogg191_sm
chown oracle:oinstall u01/app/ogg/db11.2/ogg191_deploy
【解压ogg 19并进行软件安装--使用ogg的所属用户oracle】
从ogg 12 for oracle版本开始,ogg采用安装方式,类似OracleGUI方式安装或者静默安装方式,取消12之前版本直接解压即可以使用方式,主要是为了将安装软件统一管理.如果环境没有图形支持,可以使用静默方式安装,使用图形安装,需要配置。安装包括软件安装以及服务配置以及部署配置,本次使用图形安装方式。/u01/soft/fbo_ggs_Linux_x64_services_shiphome/Disk1就是OGG软件包的路径,和ORACLE9i版本安装路径类似.
WINDOWS下使用xmanager来显示LUNUX下OGG的GUI,MAC下使用XQuartz来显示LINUX下OGG的GUI
unzip 191001_fbo_ggs_Linux_x64_services_shiphome.zip
cd /u01/soft/fbo_ggs_Linux_x64_services_shiphome/Disk1
ls -lrt
total 12
drwxr-xr-x. 4 oracle oinstall 4096 May 26 06:28 install
drwxr-xr-x. 12 oracle oinstall 4096 May 26 06:29 stage
-rwxr-xr-x. 1 oracle oinstall 918 May 26 06:29 runInstaller
drwxrwxr-x. 2 oracle oinstall 25 May 26 06:29 response
[oracle@icloud01 Disk1]$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 6552 MB Passed
Checking swap space: must be greater than 150 MB. Actual 8094 MB Passed
4.1 根据数据库版本选择需要安装的版本,支持数据库版本从11g到19c.本次安装数据库版本是11g.
4.2 输入OGG安装路径:/u01/app/ogg/db11.2/ogg191_ma
4.3 核对安装信息无误后点击安装,
小技巧:可以存在response file作为模板后续使用静默安装
4.4 安装完成点击close
【完成软件安装后核对安装路径以及安装软件】
与Oracle安装路径的目录类似,以前经典架构的跟路径就相关命令,微服务架构下在bin路径下
进入bin路径:extract,replicat,logdump都还有,gggsci不见,取而代之是adminclient.
【配置微服务】
备注:类似先安装GRID软件,然后进行配置,之前微服务安装相当于只安装GRID软件,然后进行服务配置
【检查与配置数据库和OGG环境】
备注:如果存在多个数据库版本,需要指定对应数据库版本的ORACLE_HOME、LD_LIBRARY_PATH、TNS_ADMIN等配置.
--for oracle database 11g env
unset ORACLE_HOME
unset LD_LIBRARY_PATH
unset TNS_ADMIN
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/dbhome_1/lib
export TNS_ADMIN=/u01/app/oracle/product/11.2.0/dbhome_1/network/admin
export ORACLE_SID=xiaoxu1
export PATH=$ORACLE_HOME/bin:$PATH
export OGG_HOME=/u01/app/ogg/db11.2/ogg191_ma
【运行oggca.sh来配置微服务】
oggca.sh在OGG_HOME/bin路径下.
[oracle@icloud01 ~]$ cd $OGG_HOME
[oracle@icloud01 ogg191_ma]$ cd bin
[oracle@icloud01 bin]$ ./oggca.sh
2.1 选择新创建服务管理且勾选注册成系统服务,根据输入sm路径/u01/app/ogg/db11.2/ogg191_ma.其中xag与rac结合的一个插件来管理ogg,本次没有使用,所以没有勾选
2.2 输入部署名字,可以自定义:deploy11g(区别数据库版本),不勾选共享目录
2.3 输入部署路径,配置文件采用默认路径
2.4 如果之前没有配置环境变量,进行设置对应环境变量
2.5 设置管理管理账号与密码
备注:本次简单密码,取消加强密码测试.
2.6 不采用SSL方式
2.7 输入SERVER端口,并开启监控,其中Distribution是pump process,Receiver Server是Collect Server,只是换名字了,监控勾选就能实现,so easy,
2.8 Set default schema to add in GLOBALS file ggchema parameter,经典模式都在ggsci命令配置,通过web来配置,好多东西都隐藏了,排查问题可能更加复杂。
2.9 查看并核对配置后点击Finish开始安装
2.10 使用root执行如下脚本后点击ok
[root@icloud01 u01]# /u01/app/ogg/db11.2/ogg191_sm/bin/registerServiceManager.sh
Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
----------------------------------------------------
Oracle GoldenGate Install As Service Script
----------------------------------------------------
OGG_HOME=/u01/app/ogg/db11.2/ogg191_ma
OGG_CONF_HOME=/u01/app/ogg/db11.2/ogg191_sm/etc/conf
OGG_VAR_HOME=/u01/app/ogg/db11.2/ogg191_sm/var
OGG_USER=oracle
Running OracleGoldenGateInstall.sh...
Created symlink from /etc/systemd/system/multi-user.target.wants/OracleGoldenGate.service to /etc/systemd/system/OracleGoldenGate.service.
[root@icloud01 u01]#
2.11 完成安装
2.12 验证Service Manager进程是否启动
备注:验证端口、进程以及进程对应服务是否正常
[root@icloud01 u01]# netstat -anlp |grep 7809
tcp 0 0 0.0.0.0:7809 0.0.0.0:* LISTEN 4888/ServiceManager
[root@icloud01 u01]# ps -ef |grep ServiceManager
oracle 4888 1 0 02:42 ? 00:00:01 /u01/app/ogg/db11.2/ogg191_ma/bin/ServiceManager --config /u01/app/ogg/db11.2/ogg191_sm/var/temp/ServiceManager-config.dat --force
root 9378 15433 0 02:53 pts/1 00:00:00 grep --color=auto ServiceManager
[root@icloud01 u01]# ps -ef |grep /u01/app/ogg/db11.2/ogg191_sm
oracle 4888 1 0 02:42 ? 00:00:01 /u01/app/ogg/db11.2/ogg191_ma/bin/ServiceManager --config /u01/app/ogg/db11.2/ogg191_sm/var/temp/ServiceManager-config.dat --force
oracle 5052 4888 0 02:42 ? 00:00:01 /u01/app/ogg/db11.2/ogg191_ma/bin/adminsrvr --config /u01/app/ogg/db11.2/ogg191_sm/var/temp/deploy11g-adminsrvr-config.dat --force --quiet
oracle 5054 4888 0 02:42 ? 00:00:01 /u01/app/ogg/db11.2/ogg191_ma/bin/distsrvr --config /u01/app/ogg/db11.2/ogg191_sm/var/temp/deploy11g-distsrvr-config.dat --force --quiet
oracle 5056 4888 0 02:42 ? 00:00:02 /u01/app/ogg/db11.2/ogg191_ma/bin/recvsrvr --config /u01/app/ogg/db11.2/ogg191_sm/var/temp/deploy11g-recvsrvr-config.dat --force --quiet
oracle 5058 4888 1 02:42 ? 00:00:09 /u01/app/ogg/db11.2/ogg191_ma/bin/pmsrvr --config /u01/app/ogg/db11.2/ogg191_sm/var/temp/deploy11g-pmsrvr-config.dat --force --quiet
root 9389 15433 0 02:53 pts/1 00:00:00 grep --color=auto /u01/app/ogg/db11.2/ogg191_sm
[root@icloud01 u01]#
【通过WEB查看微服务】
在网址输入如下地址---http://ip:7809
例如:http://192.168.124.97:7809输入用户与密码
查看部署的详细信息以及对应进程信息.虽然可视化操作简单,但是排查问题相对麻烦
Admin server: 用于创建用户、添加附加日志、创建抽取和投递进程,类似在ggsci命令下添加附加日志、extract、replicat进程
Distribution server:用于创建传输进程,类似于以前的pump进程
Receiver server:用于监控接收进程,类似于以前的server collector进程
Performance metrics server:性能监控,这个里面信息非常多,例如ADMINSRVR包括进程性能,线程性能以及进程状态与配置,非常详细与直观。
【总结】至此完成oracle goldengate 19 Microservices安装、配置,由于篇幅问题,没有对细节展开,微服务中涉及很多细节问题.由于公众号有图片上传限制,对于数据同步配置与故障篇在下一个文章输出。