Oracle GoldenGate 19 Microservices完整高可用安装、配置与测试

时间:2022-07-22
本文章向大家介绍Oracle GoldenGate 19 Microservices完整高可用安装、配置与测试,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

【概要】

大神们在群里讨论微服务的高可用,主要是XAG不支持adminclient接口,只支持ggsci接口,经过查看官方文档说明,最新版本XAG已经支持adminclient接口,ORACLE CLUSTER不仅仅支持ORACLE DATABASE也可以来管理各种资源实现高可用,OGG高可用管理主要依赖XAG插件。本文主要讲述如何通过ORACLE CLUSTER加上XAG实现OGG Microservices微服务的高可用。

前2篇文档讲述关于OGG 19C Microservices微服务安装、配置以及数据同步实战

【高可用介绍】

使用ORACLE CLUSTER来管理OGG的核心进程,避免因为RAC单节点故障导致,能够实现OGG漂移其他正常.

  1. 涉及OGG存放的参数文件、控制文件、BR以及trailfile等文件必须是在共享磁盘上,实现所有节点都可以访问
  2. 由于OGG并不像数据库进程,无法通过srvctl方式添加到CRS中,需要通过XAG插件来注册OGG资源,并通过xagctl来管理.虽然12c已经集成xag,支持是通过ggsci来接口,但是12.3开始微服务采用新架构,通过adminclient命令行来管理,所以12c原生态无法管理,需要下载最新xag 9.1版本来管理Service Manager,Service Manager来启动部署服务.
  3. 共享存储主要DBFS、ACFS,其中EXADATA下grid 12c版本才支持ACFS.本次采用相对容易配置的ACFS集群文件系统.

【本次课程议题以及收获】

  1. 安装ORACLE GRID 12.2 + RAC DB 12.2(不在本次课程内)
  2. 配置ACFS共享磁盘
  3. 静默安装OGG 19C Microservices软件(采用local安装方式)+静默安装OGG部署(共享ACFS挂载点)(图形安装参考前面文章)
  4. 安装与配置XAG FOR OGG
  5. XAG手动切换与节点故障模式验证高可用(模拟切换)
  6. 创建与配置OGG数据同步(具备高可用性)

【测试环境】

RAC+DB

OS Version

Oracle Linux 7.5 X86-64

DB Version

Oracle 12.2.0.1 X86-64

RAC & ASM

2个节点的RAC,采用ASM作为数据库存储空间

OGG+XAG

OGG Version

19.1.0.0.1

XAG Version

9.1

OGG共享存储

ACFS

注意点OGG、操作系统、数据库、XAG 4者的兼容性:OGG 19c支持oracle版本包括 11.2.0.4+,12.1 ,12.2 ,18c ,19c(ORACLE 19C需要LINUX 7才能安装),XAG V9支持ORACLE CLUSTER 11GR2,12CR1,12CR2,18C版本(截止当前),XAG 9.1版本支持OGG微服务版本.虽然支持多版本,但是安装时需要选择指定数据库版本而不是安装后支持所有数据库版本。如果ORACLE后续升级,OGG必须卸载重新安装对应数据库版本才能继续工作。例如在linux 5下安装OGG 19微服务版本会出现问题(前几天在linux 5.7安装出现此GLIBC不兼容),所以安装OGG之前先确认下兼容性。

【配置ACFS FOR OGG】

⏰使用grid用户创建ACFS包括如下步骤:

  • 使用asmcmd创建ASM volume(exadata中grid 12.1.0.2版本才支持acfs文件系统)
  • 创建ACFS挂载点
  • 注册ACFS资源到CRS
1.创建asm volume[grid]
su - grid
asmcmd
ASMCMD> volcreate  -G data -s 10g acfs_ogg
ASMCMD> volinfo -G data acfs_ogg
Diskgroup Name: DATA
         Volume Name: ACFS_OGG
         Volume Device: /dev/asm/acfs_ogg-53
         State: ENABLED
         Size (MB): 10240
         Resize Unit (MB): 64
         Redundancy: UNPROT
         Stripe Columns: 8
         Stripe Width (K): 1024
         Usage: 
         Mountpath:
             
2.创建挂载点[所有节点root]
[root@icloud01 ~]# mkdir -p /u01/app/ogg/db12.2
[root@icloud01 ~]# chown -R oracle:oinstall  /u01/app/ogg/db12.2

[root@icloud02 ~]# mkdir -p /u01/app/ogg/db12.2
[root@icloud02 ~]# chown -R oracle:oinstall  /u01/app/ogg/db12.2

3.注册ACFS资源到CRS[任一节点root]
/sbin/mkfs -t acfs /dev/asm/acfs_ogg-53
/u01/app/12.2.0/grid/bin/srvctl add filesystem -device /dev/asm/acfs_ogg-53 -volume acfs_ogg -diskgroup data -path  /u01/app/ogg/db12.2 -user oracle -autostart NEVER

NOTE: It is important to include the –autostart NEVER parameter to prevent ACFS from being automatically mounted when the RAC node reboots. The Grid Infrastructure Agent (XAG) controls when the file system is mounted and unmounted.
To verify the currently configured ACFS file systems, use the following command to view the file system details.

4.验证文件系统[任一节点grid]
[grid@icloud01 ~]$ srvctl config filesystem
Volume device: /dev/asm/acfs_ogg-53
Diskgroup name: data
Volume name: acfs_ogg
Canonical volume device: /dev/asm/acfs_ogg-53
Accelerator volume devices: 
Mountpoint path: /u01/app/ogg/db12.2
Mount point owner: oracle
Mount users: 
Type: ACFS
Mount options: 
Description: 
ACFS file system is enabled
ACFS file system is individually enabled on nodes: 
ACFS file system is individually disabled on nodes: 

5.检查ACFS资源状态[任一节点grid]
[grid@icloud01 ~]$ srvctl status filesystem -volume ACFS_OGG -diskgroup DATA
ACFS file system /u01/app/ogg/db12.2 is not mounted

6.启动ACFS资源[任一节点root]
#/u01/app/12.2.0/grid/bin/srvctl start filesystem -volume ACFS_OGG -diskgroup DATA

7.检查acfs资源状态[grid任一节点]
[grid@icloud01 ~]$  /u01/app/12.2.0/grid/bin/crsctl  stat res -w "TYPE = ora.acfs.type"
NAME=ora.data.acfs_ogg.acfs
TYPE=ora.acfs.type
TARGET=ONLINE,ONLINE
STATE=ONLINE on icloud01, ONLINE on icloud02

【静默微服务软件安装】

从OGG 12.3开始,传统架构与微服务架构软件是独立下载,其中软件包名字中包括Microservices字样就是新架构软件包.本次安装环境是19版本。下载地址:https://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html

  1. 【软件下载】

选择带有关键字Microservices的版本下载,对于ORACLE数据库版本并不是每个版本对应的平台都有微服务,例如19c目前只支持linux平台,18c支持微服务的平台比较多,但是没有linux平台,目前12.3版本官方网站无微服务版本可以下载。个人猜测有可能对应版本不稳定或者为了推广新版本采用下载策略(不一定对的!!!)。

2.【软件上传与解压】

软件上传到/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
  1. 【创建微服务目录】

OGG经典架构需要一个目录即OGG_HOME,微服务需要3个路径,

一个是OGG_HOME,软件安装路径与经典架构保持一致,简称MA(这个可以采用本地目录,需要每个节点单独安装,否则共享目录只需要安装一次,因为这个目录只是涉及到软件没有涉及到配置文件)

一个是服务管理路径,微服务架构采用服务方式管理,简称SM(需要共享目录)

一个是部署路径,微服务采购云操作方式,所有部署与管理都是通过web其中管理,简称DEPLOY(需要共享目录)

为了兼容多个数据库版本,目录命名规则且全部采用小写创建目录

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/db12.2是ACFS)
命名规则如下:
/u01/app/ogg/ogg191ma
/u01/app/ogg/db12.2/ogg191_sm
/u01/app/ogg/db12.2/ogg191_deploy
具体命令[root用户操作]
mkdir -p /u01/app/ogg/ogg191ma
mkdir -p /u01/app/ogg/db12.2/ogg191_sm
mkdir -p /u01/app/ogg/db12.2/ogg191_deploy
chown oracle:oinstall /u01/app/ogg/ogg191ma
chown oracle:oinstall /u01/app/ogg/db12.2/ogg191_sm
chown oracle:oinstall /u01/app/ogg/db12.2/ogg191_deploy
  1. 【解压ogg 19并进行软件安装--使用ogg的所属用户oracle】

从ogg 12 for oracle版本开始,ogg采用安装方式,类似OracleGUI方式安装或者静默安装方式,取消12之前版本直接解压即可以使用方式,主要是为了将安装软件统一管理.如果环境没有图形支持,可以使用静默方式安装。

/u01/soft/fbo_ggs_Linux_x64_services_shiphome/Disk1就是OGG软件包的路径,和ORACLE9i版本安装路径类似.
/u01/soft/fbo_ggs_Linux_x64_services_shiphome/Disk1/response就是静默安装配置文件,通过sed命令统一替换.
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

静默respone文件安装涉及如下选项:

  • Install Option
  • Oracle GoldenGate Software Location
  • Oracle Inventory Location
  • Unix Group Name

静默respone文件替换如下:

sed -i 's/INSTALL_OPTION=/INSTALL_OPTION=ORA12c/g' oggcore.rsp
sed -i 's/SOFTWARE_LOCATION=/SOFTWARE_LOCATION=/u01/app/ogg/ogg191ma/g' oggcore.rsp
sed -i 's/INVENTORY_LOCATION=/INVENTORY_LOCATION=/u01/app/oraInventory/g' oggcore.rsp
sed -i 's/UNIX_GROUP_NAME=/UNIX_GROUP_NAME=oinstall/g' oggcore.rsp

开始静默安装微服务软件(2个rac节点都执行安装):

[oracle@icloud01 Disk1]$  ./runInstaller -silent -waitForCompletion -responseFile /u01/soft/fbo_ggs_Linux_x64_services_shiphome/Disk1/response/oggcore.rsp 
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 1578 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2151 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-08-05_04-28-38AM. Please wait ...You can find the log of this install session at:
 /u01/app/oraInventory/logs/installActions2019-08-05_04-28-38AM.log

find: ‘/u01/app/oraInventory/logs/GridSetupActions2019-04-22_12-29-01PM/ob_temp/diag’: Permission denied
find: ‘/u01/app/oraInventory/logs/GridSetupActions2019-04-22_12-29-01PM/ob_temp/diag’: Permission denied
find: ‘/u01/app/oraInventory/logs/GridSetupActions2019-04-22_12-29-01PM/ob_temp/diag’: Permission denied
Successfully Setup Software.
The installation of Oracle GoldenGate Services was successful.
Please check '/u01/app/oraInventory/logs/silentInstall2019-08-05_04-28-38AM.log' for more details.
  1. 【完成软件安装后核对安装路径以及安装软件】

与Oracle安装路径的目录类似,以前经典架构的跟路径就相关命令,微服务架构下在bin路径下

[oracle@icloud01 ~]$ cd /u01/app/ogg/ogg191ma
[oracle@icloud01 ogg191ma]$ ls -lrt
total 32
-rw-r-----.  1 oracle oinstall   56 Apr 22 15:49 oraInst.loc
drwxr-xr-x.  3 oracle oinstall   20 Aug  6 04:55 diagnostics
drwxr-xr-x.  3 oracle oinstall   19 Aug  6 04:55 srvm
drwxr-xr-x.  2 oracle oinstall   26 Aug  6 04:55 deinstall
drwxr-xr-x.  7 oracle oinstall 4096 Aug  6 04:55 lib
drwxr-xr-x.  2 oracle oinstall   63 Aug  6 04:56 include
drwxr-xr-x.  2 oracle oinstall 4096 Aug  6 04:56 jlib
drwxr-xr-x.  6 oracle oinstall 4096 Aug  6 04:56 jdk
drwxr-xr-x. 12 oracle oinstall 4096 Aug  6 04:57 OPatch
drwxr-xr-x.  2 oracle oinstall 4096 Aug  6 04:57 bin
drwxr-xr-x.  8 oracle oinstall 4096 Aug  6 04:57 oui
drwxr-x---. 13 oracle oinstall 4096 Aug  6 04:57 inventory
drwxr-xr-x.  4 oracle oinstall   47 Aug  6 05:12 install
drwxr-xr-x.  4 oracle oinstall   31 Aug  6 11:30 cfgtoollogs
[oracle@icloud01 ogg191ma]$ cd bin
[oracle@icloud01 bin]$ ls -lrt
total 90588
-rwxrwxr-x. 1 oracle oinstall     6809 Oct 18  2018 XAGTask
-rwxr-x---. 1 oracle oinstall    10352 Mar 21 16:35 oggca.sh
-rwxrwxr-x. 1 oracle oinstall     4366 May 25 00:38 orapki
-rwxrwxr-x. 1 oracle oinstall  7775448 May 25 12:47 pmsrvr
-rwxrwxr-x. 1 oracle oinstall  3025960 May 25 12:47 convprm
-rwxrwxr-x. 1 oracle oinstall  1817800 May 25 12:47 convchk
-rwxrwxr-x. 1 oracle oinstall  3741584 May 25 12:47 logdump
-rwxrwxr-x. 1 oracle oinstall   108744 May 25 12:47 keygen
-rwxrwxr-x. 1 oracle oinstall 10667832 May 25 12:47 adminsrvr
-rwxrwxr-x. 1 oracle oinstall  1641128 May 25 12:48 retrace
-rwxrwxr-x. 1 oracle oinstall  1645224 May 25 12:48 oggerr
-rwxrwxr-x. 1 oracle oinstall  2321688 May 25 12:48 ggcmd
-rwxrwxr-x. 1 oracle oinstall  2288792 May 25 12:48 emsclnt
-rwxrwx---. 1 oracle oinstall 11196936 May 25 12:48 distsrvr
-rwxrwxr-x. 1 oracle oinstall  3001808 May 25 12:48 defgen
-rwxrwxr-x. 1 oracle oinstall  1596048 May 25 12:48 cachefiledump
-rwxrwxr-x. 1 oracle oinstall  4680384 May 25 12:48 adminclient
-rwxrwx---. 1 oracle oinstall  9012264 May 25 12:48 replicat
-rwxrwx---. 1 oracle oinstall  9109352 May 25 12:48 recvsrvr
-rwxrwx---. 1 oracle oinstall 10059832 May 25 12:48 extract
-rwxrwxr-x. 1 oracle oinstall  7217800 May 25 12:48 ServiceManager
-rwxrwxr-x. 1 oracle oinstall  1792688 May 25 12:48 checkprm

【静默部署微服务】

备注:类似先安装GRID软件,然后进行配置,之前微服务安装相当于只安装GRID软件,然后进行服务配置.OGG软件安装有提供response模版,部署微服务没有模版,通过图形界面生成模版保存即可.

  1. 【配置关键点】

Integrate with XAG需要勾选以及hostname输入localhost

2.【准备response文件一个节点执行】

[oracle@icloud01 ~]$ grep -v ^# oggcasm12.rsp |grep -v ^$
oracle.install.responseFileVersion=/oracle/install/rspfmt_oggca_response_schema_v19_1_0
CONFIGURATION_OPTION=ADD
DEPLOYMENT_NAME=deploy12
ADMINISTRATOR_USER=oggadmin
ADMINISTRATOR_PASSWORD=oggadmin
SERVICEMANAGER_DEPLOYMENT_HOME=/u01/app/ogg/db12.2/ogg191_sm
HOST_SERVICEMANAGER=localhost
PORT_SERVICEMANAGER=9809
SECURITY_ENABLED=false
STRONG_PWD_POLICY_ENABLED=false
CREATE_NEW_SERVICEMANAGER=true
REGISTER_SERVICEMANAGER_AS_A_SERVICE=false
INTEGRATE_SERVICEMANAGER_WITH_XAG=true
EXISTING_SERVICEMANAGER_IS_XAG_ENABLED=false
OGG_SOFTWARE_HOME=/u01/app/ogg/ogg191ma
OGG_DEPLOYMENT_HOME=/u01/app/ogg/db12.2/ogg191_deploy
OGG_ETC_HOME=
OGG_CONF_HOME=
OGG_SSL_HOME=
OGG_VAR_HOME=
OGG_DATA_HOME=
ENV_ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
ENV_LD_LIBRARY_PATH=${ORACLE_HOME}/lib:/u01/app/oracle/product/12.2.0/dbhome_1/lib
ENV_TNS_ADMIN=/u01/app/oracle/product/12.2.0/dbhome_1/network/admin
ENV_ORACLE_SID=
ENV_STREAMS_POOL_SIZE=
ENV_USER_VARS=
CIPHER_SUITES=
SERVER_WALLET=
SERVER_CERTIFICATE=
SERVER_CERTIFICATE_KEY_FILE=
SERVER_CERTIFICATE_KEY_FILE_PWD=
CLIENT_WALLET=
CLIENT_CERTIFICATE=
CLIENT_CERTIFICATE_KEY_FILE=
CLIENT_CERTIFICATE_KEY_FILE_PWD=
SHARDING_ENABLED=false
SHARDING_USER=
ADMINISTRATION_SERVER_ENABLED=true
PORT_ADMINSRVR=9001
DISTRIBUTION_SERVER_ENABLED=true
PORT_DISTSRVR=9002
NON_SECURE_DISTSRVR_CONNECTS_TO_SECURE_RCVRSRVR=false
RECEIVER_SERVER_ENABLED=true
PORT_RCVRSRVR=9003
METRICS_SERVER_ENABLED=true
METRICS_SERVER_IS_CRITICAL=false
PORT_PMSRVR=9004
UDP_PORT_PMSRVR=9005
PMSRVR_DATASTORE_TYPE=BDB
PMSRVR_DATASTORE_HOME=
OGG_SCHEMA=ggadmin
REMOVE_DEPLOYMENT_FROM_DISK=
  1. 【使用response文件静默部署一个节点执行】
[oracle@icloud01 ~]$ /u01/app/ogg/db12.2/ogg191_ma/bin/oggca.sh -silent -responseFile /home/oracle/oggcasm12.rsp 
Oracle GoldenGate Service Manager for Oracle
Version 19.1.0.0.1 OGGCORE_19.1.0.0.0_PLATFORMS_190524.2201
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
Linux, x64, 64bit (optimized) on May 24 2019 23:53:10
Operating system character set identified as UTF-8.
Successfully Setup Software.
  1. 【创建tns别名用于goldengate连接数据库】【在所有节点$ORACLE_HOME/network/admin】
oggdb.local=(DESCRIPTION =(SDU=2097152)(ADDRESS =(PROTOCOL=BEQ) (PROGRAM=/u01/app/oracle/product/12.2.0/dbhome_1/bin/oracle) (ARGV0=oraclecloud1)(ARGS='(DESCRIPTION= (SDU=2097152)(LOCAL=YES)(ADDRESS=(PROTOCOL=BE
Q)))')(ENVS='ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1,ORACLE_SID=cloud1') )(CONNECT_DATA=(SID=cloud1)))
  1. 【创建使用tns别名创建数据认证】

备注:goldengate部署完成后, 在Administration Server home创建或者修改一个数据库认证,如果是CDB,针对抽取与应用创建2个用户抽取是CDB级别,应用是PDB级别.

【安装XAG插件】

  1. 安装需求列表
  • 需要下载XAG 9或者以上版本支持微服务
  • 需要安装在独立目录且grid有创建目录权限会自动创建,xag目录/u01/app/grid/xag
  • 需要将xag路径加入PATH
  • 使用GRID集群用户安装(一般是grid)
  • XAG软件下载地址

https://www.oracle.com/technetwork/database/database-technologies/clusterware/downloads/xag-agents-downloads-3636484.html

  1. 安装[任何一节点grid]
[grid@icloud01 xag]$cd /tmp
[grid@icloud01 tmp]$ unzip xagpack91.zip 
[grid@icloud01 tmp]$ cd xag
[grid@icloud01 xag]$ ./xagsetup.sh --install --directory /u01/app/grid/xag --all_nodes
Installing Oracle Grid Infrastructure Agents on: icloud01
Installing Oracle Grid Infrastructure Agents on: icloud02
Done.
Updating XAG resources.
Successfully updated XAG resources.

【配置XAG for OGG】

  1. 检查PUBLIC 网卡信息(以grid身份)
[grid@icloud01 ~]$ crsctl status resource -p -attr NAME,USR_ORA_SUBNET -w "TYPE = ora.network.type" |sort | uniq
NAME=ora.net1.network
USR_ORA_SUBNET=192.168.124.0
  1. xag注册ogg信息(以root身份)
[root@icloud01 conf]# /u01/app/grid/xag/bin/agctl add goldengate ogg_micro --gg_home /u01/app/ogg/db12.2/ogg191_ma --service_manager yes --config_home /u01/app/ogg/db12.2/ogg191_sm/etc/conf  --var_home /u01/app/ogg/db12.2/ogg191_sm/var --port 9809 --adminuser oggadmin --user oracle --group oinstall --network 1 --ip 192.168.124.188 --filesystems ora.data.acfs_ogg.acfs --db_services ora.ggdb.oggserv.svc 
--use_local_services
Enter password for 'oggadmin' :
  1. 检查ogg信息(以oracle身份)
[oracle@icloud01 ~]$ /u01/app/grid/xag/bin/agctl status goldengate
Goldengate  instance 'ogg_micro' is not running
  1. 启动ogg micro实例以及切换测试(以oracle身份)
[oracle@icloud01 ~]$ /u01/app/grid/xag/bin/agctl start goldengate ogg_micro --node icloud02
[oracle@icloud01 ~]$ /u01/app/grid/xag/bin/agctl status goldengate
Goldengate  instance 'ogg_micro' is running on icloud02
[oracle@icloud01 ~]$ /u01/app/grid/xag/bin/agctl relocate goldengate ogg_micro --node icloud01
[oracle@icloud01 ~]$ /u01/app/grid/xag/bin/agctl status goldengate                            
Goldengate  instance 'ogg_micro' is running on icloud01
[oracle@icloud01 ~]$ /u01/app/grid/xag/bin/agctl relocate goldengate ogg_micro --node icloud02
[oracle@icloud01 ~]$ /u01/app/grid/xag/bin/agctl status goldengate                            
Goldengate  instance 'ogg_micro' is running on icloud02

【ACFS共享磁盘上创建、配置OGG微服务进程与数据同步】

高可用性与cdb注意事项:

  1. Oracle GoldenGate Microservices Architecture的Extract、Distribution Paths、 Replicat processes相关的文件必须存在共享磁盘上,当出现节点故障或者漂移服务时能够正常访问配置文件.
  2. Microservices的进程必须配置自启动与自动重启,否则高可用生效了,服务管理的进程还是abend.
  3. 12c cdb只支持integrated extract,不支持classic extract.
  4. 12c cdb如配置replicat的checkpointtable,必须创建在pdb中.因为replicat不支持访问cdb来复制数据.

【检查与修改12C CDB数据库配置FOR OGG】

  1. 数据库主要配置任务
1.开启数据库归档--如果没有开启
2.开启CDB或者PDB附加日志--如果没有开始最小附加日志
3.开启强制日志--如果没有开启强制日志
4.设置ENABLE_GOLDENGATE_REPLICAT参数为TRUE
5.创建OGG用户包括包括源端用户、目标端用户以及OGG用户
  1. 检查数据库参数配置是否满足OGG需求

备注:1,2,3项目都满足,不需要调整.

select name,supplemental_log_data_min , force_logging, log_mode from v$database;

NAME      SUPPLEME FORCE_LOGGING                           LOG_MODE
--------- -------- --------------------------------------- ------------
CLOUD     YES      YES                                     ARCHIVELOG

select p.pdb_name,c.MINIMAL,c.PRIMARY_KEY,c.UNIQUE_INDEX,c.FOREIGN_KEY,c.ALL_COLUMN from  cdb_supplemental_logging c,dba_pdbs p where c.con_id=p.PDB_ID;

PDB_NAME        MIN PRI UNI FOR ALL
--------------- --- --- --- --- ---
XIAOXU          YES YES YES YES NO
  1. 重启数据库到mount状态执行如下脚本(如果不满足按照如下调整)
shutdown immediate(单实例) or srvctl stop database -d cloud(rac建议)
startup mount 
alter 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 or srvctl start database -d cloud
  1. 创建OGG管理用户:ggadmin
--登陆CDB创建OGG用户for extract
create user c##ggadmin identified by ggadmin; 
exec dbms_goldengate_auth.grant_admin_privilege('c##ggadmin',container=>'ALL'); 
grant dba to c##ggadmin container=all;

--登陆PDB创建OGG用户 for replicat
alter session set container=xiaoxu;
create user oggadmin identified by oggadmin;
grant dba to oggadmin;
exec dbms_goldengate_auth.grant_admin_privilege('oggadmin',container=>'xiaoxu');
  1. 创建业务用户分别是source和target用户
--登陆到对应PDB--xiaoxu
alter session set container=xiaoxu;
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;

【配置OGG的抽取进程】

1.通过web的Administration Server来配置exact进程,点击Administration Server进程的9001进入配置页

2.配置抽取的附加日志,点击左上角三一图标中configuration进行配置

  • 选择Schema或者Table级别附加信息类型后点击+号进入配置页面
  • 备注:12.3版本名字是:Trandata,19版本变成Transaction information点击+号来增加extract进程
  1. 选择Integrated extact后输入相关信息

⏰:启动与自动启动需要配

  1. 输入extract的参数后点击create and Run

6.通过action来管理系统(启动、停止、修改、删除进程)

7.查看进程状态就可以查看配置信息,比经典架构高级显示更加清晰

--查看进程能看到启动与自启动信息
OGG (http://127.0.0.1:9809 deploy12 as oggadmin@CLOUD/CDB$ROOT) 30> info EXT01

EXTRACT    EXT01     Initialized   2019-08-08 21:07   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:04:07 ago)
Process ID           7435
Log Read Checkpoint  Oracle Integrated Redo Logs
                     2019-08-08 21:07:34
                     SCN 0.0 (0)
Auto Start           Delay:   0
Auto Restart         Retries: 9
                     Wait:    60 seconds
                     Reset:   1200 seconds
                     Not disabled on failure
Encryption Profile   LocalWallet
No REPLICAT groups found, but some coordinated threads may have been excluded

【配置OGG的PATH】

备注:微服务版本中传输进程用Distribution Server替换经典架构中PUMP进程,简称为PATH,PATH是路径,从一个点到

另外一个点,更加形象.

  1. 在service Manager首页点击Distribution Server的9002端口,点击➕号创建Distribution Server进程
  1. 增加PATH信息后点击创建和运行按PATH被创建
  1. 被Receiver server的9003端口接收

【配置OGG的应用进程】

  1. 通过web的Administration Server来配置replicat进程,点击Administration Server进程进入配置用户与控制文件
  1. 通过web的Administration Server来配置replicat进程,点击Administration Server进程进入配置页面
  1. 配置replicate名字、checkpointtable等相关信息检查与修改参数后(与ggsci配置类似),点击Create and Run.
  1. 创建完成后进程信息如下

【配置微服务管理任务】

经典架构与微服务架构注意点:

  • 经典架构下通过MGR负责进程管理、trailfile管理、端口分配,微服务架构下已经没有MGR,取代代之是各种服务,管理任务变成Administration Server来管理.
  • 微服务12.3中进程自启动管理还在administration server,到19版本中已经下放到进程中配置参数来管理
  1. 进入Administration Server页
  1. 点击Purge Trails对应+号来增加清理规则

备注:类似MGR中的PURGEOLDEXTRACTS

3.配置点击Lag Report对应+号来增加对应规则

【数据同步验证】

1.在source用户创建xiaoxu表验证DDL


sqlplus source/source@xiaoxu
create table source.xiaoxu (id int not null primary key,name varchar2(50),address varchar2(100));
  1. 插入数据到source.xiaoxu
insert into xiaoxu values(1,'xiao','shanghai');
insert into xiaoxu values(2,'xiaoxing','shanghai');
insert into xiaoxu values(3,'xiaoyaba','shanghai');
commit
truncate table xiaoxu;
insert into xiaoxu values(1,'xiao','shanghai');
insert into xiaoxu values(2,'xiaoxing','shanghai');
insert into xiaoxu values(3,'xiaoyaba','shanghai');
commit;
  1. 在Service Manager页面点击 Performance Metrics Server检查extract和replicat的统计信息
  1. 点击extract进程选择database statistics,可以看到6条插入且存在各种统计信息
  1. 点击replicat进程选择database statistics,可以看到6条插入且存在各种统计信息

【总结】至此完成oracle goldengate 19 Microservices完整的高可用配置、验证及数据同步验证。