暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

【OGG 学习篇】ogg 23ai + 19c 单向同步配置

原创 心在梦在 2024-09-20
716

ogg 23ai + 19c 单向同步配置

[TOC]

一、前言

1) 本文是测试ogg 23ai 版本,oracle 19c pdb单向同步测试。

2) 本文是参考ogg23ai 之前版本的微服务配置方式,ogg23ai 安装配置界面变化较多,如有错误,请及时帮忙纠正,共同学习,感谢!

  • 支持的OS、Oracle 版本

图片.png

二、OGG微服务安装

环境介绍:

  • 操作系统 redhat Linux 8.9
--1) 创建ogg 用户 /usr/sbin/groupadd -g 1002 dba /usr/sbin/groupadd -g 1001 oinstall /usr/sbin/groupadd -g 1003 oper useradd -u 1001 -g oinstall -G dba,oper oracle echo "oracle" |passwd oracle --stdin --2) 创建安装目录 mkdir -p /u01/app/ogg/soft mkdir -p /u01/app/ogg/ogg23_ma cd /u01/app/ogg; mkdir ogg23_sm ogg23_deploy1 ogg23_deploy2 chown -R oracle:oinstall /u01/app/ogg --3) 环境oracle变量配置 export OGG_HOME=/u01/app/ogg/ogg23_ma export PATH=$OGG_HOME/bin:$PATH --4) 配置hosts文件 [root@ogg23ai ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.8 ogg23ai
复制

上传安装Oracle_GoldenGate_23.4.0.0.0.zip/u01/app/ogg/soft

[oracle@ogg23ai ~]$ cd /u01/app/ogg/soft [oracle@ogg23ai soft]$ unzip Oracle_GoldenGate_23.4.0.0.0.zip
复制

2.1 GUI安装MA

  • 启动runInstaller
[oracle@ogg23ai ~]$ cd /u01/app/ogg/soft/fbo_ggs_Linux_x64_Oracle_services_shiphome/Disk1 [oracle@ogg23ai ~]$ ./runInstaller
复制

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

基于提示root用户下执行执行orainstRoot.sh脚本

[root@ogg23ai ~]# /home/oracle/oraInventory/orainstRoot.sh Changing permissions of /home/oracle/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /home/oracle/oraInventory to oinstall. The execution of the script is complete.
复制

图片.png

安装完成

  • 安装完成后查看安装目录
[oracle@ogg23ai ogg]$ ll * ogg23_deploy1: total 0 ogg23_deploy2: total 0 ogg23_ma: total 24 drwxr-xr-x. 2 oracle oinstall 4096 Sep 18 18:49 bin drwxr-xr-x. 3 oracle oinstall 17 Sep 18 18:49 cfgtoollogs drwxr-xr-x. 2 oracle oinstall 26 Sep 18 18:49 deinstall drwxr-xr-x. 3 oracle oinstall 20 Sep 18 18:49 diagnostics drwxr-xr-x. 2 oracle oinstall 63 Sep 18 18:49 include drwxr-xr-x. 3 oracle oinstall 28 Sep 18 18:49 install drwxr-x---. 13 oracle oinstall 4096 Sep 18 18:49 inventory drwxr-xr-x. 8 oracle oinstall 115 Sep 18 18:49 jdk drwxr-xr-x. 2 oracle oinstall 85 Sep 18 18:49 jlib drwxr-xr-x. 7 oracle oinstall 4096 Sep 18 18:49 lib drwxr-xr-x. 13 oracle oinstall 4096 Sep 18 18:49 OPatch -rw-r-----. 1 oracle oinstall 60 Sep 18 18:48 oraInst.loc drwxr-xr-x. 8 oracle oinstall 4096 Sep 18 18:49 oui drwxr-xr-x. 3 oracle oinstall 19 Sep 18 18:49 srvm ogg23_sm: total 0
复制

2.2 GUI安装SM

  • 运行ogca.sh
[oracle@ogg23ai ~]$ cd /u01/app/ogg/ogg23_ma/bin [oracle@ogg23ai bin]$ ./oggca.sh
复制

图片.png

开始配置
图片.png
Register Service Manager 表示在操作系统层面注册成服务,方便管理。

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

基于提示root用户下执行执行registryServiceManager.sh脚本

[root@ogg23ai ~]# /u01/app/ogg/ogg23_deploy1/bin/registerServiceManager.sh Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. ---------------------------------------------------- Oracle GoldenGate Install As Service Script ---------------------------------------------------- OGG_HOME=/u01/app/ogg/ogg23_ma OGG_CONF_HOME=/u01/app/ogg/ogg23_deploy1/etc/conf OGG_VAR_HOME=/u01/app/ogg/ogg23_deploy1/var OGG_USER=oracle Running OracleGoldenGateInstall.sh... Created symlink /etc/systemd/system/multi-user.target.wants/OracleGoldenGate.service → /etc/systemd/system/OracleGoldenGate.service.
复制

图片.png

安装完成 。

三、MA版使用

3.1 检查服务

  • 系统中注册的OracleGoldenGate.service服务进程
[root@ogg23ai ~]# systemctl status OracleGoldenGate.service ● OracleGoldenGate.service - Oracle GoldenGate Service Manager Loaded: loaded (/etc/systemd/system/OracleGoldenGate.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2024-05-22 16:17:10 CST; 33s ago Main PID: 1858 (ServiceManager) CGroup: /docker/32278a6f77bcc2295629a16cc614beaae0e12116dee62e006c604700fdb833d7/system.slice/OracleGoldenGate.service └─1858 /u01/app/ogg/ogg23_ma/bin/ServiceManager --inventory '/home/oracle/ogg23_sm/etc/conf' ‣ 1858 /u01/app/ogg/ogg23_ma/bin/ServiceManager --inventory '/home/oracle/ogg23_sm/etc/conf' ...
复制
  • 系统中查看相关进程
[root@ogg23ai ~]# netstat -anlp |grep 7809 tcp6 0 0 :::7809 :::* LISTEN 4341/ServiceManager [root@ogg23ai ~]# [root@ogg23ai ~]# ps -ef|grep ServiceManager oracle 4341 1 0 19:52 ? 00:00:03 /u01/app/ogg/ogg23_ma/bin/ServiceManager --inventory '/u01/app/ogg/ogg23_deploy1/etc/conf' root 4790 2449 0 20:23 pts/0 00:00:00 grep --color=auto ServiceManager [root@ogg23ai ~]# [root@ogg23ai ~]# ps -ef|grep ogg23 avahi 948 1 0 18:43 ? 00:00:00 avahi-daemon: running [ogg23ai.local] oracle 4341 1 0 19:52 ? 00:00:03 /u01/app/ogg/ogg23_ma/bin/ServiceManager --inventory '/u01/app/ogg/ogg23_deploy1/etc/conf' oracle 4417 4341 0 19:52 ? 00:00:03 /u01/app/ogg/ogg23_ma/bin/adminsrvr --config /u01/app/ogg/ogg23_deploy1/var/run/ogg23_deploy2-adminsrvr-config.dat oracle 4419 4341 1 19:52 ? 00:00:22 /u01/app/ogg/ogg23_ma/bin/distsrvr --config /u01/app/ogg/ogg23_deploy1/var/run/ogg23_deploy2-distsrvr-config.dat oracle 4421 4341 0 19:52 ? 00:00:15 /u01/app/ogg/ogg23_ma/bin/pmsrvr --config /u01/app/ogg/ogg23_deploy1/var/run/ogg23_deploy2-pmsrvr-config.dat oracle 4423 4341 0 19:52 ? 00:00:04 /u01/app/ogg/ogg23_ma/bin/recvsrvr --config /u01/app/ogg/ogg23_deploy1/var/run/ogg23_deploy2-recvsrvr-config.dat root 4792 2449 0 20:23 pts/0 00:00:00 grep --color=auto ogg23
复制

3.2 登录ogg 微服务

1)登录URL页面:http://192.168.56.8:7809
图片.png

2)命令行登录

[oracle@ogg23ai ~]$ cd /u01/app/ogg/ogg23_ma/bin/ [oracle@ogg123 sf_VM]$ ./adminclient .... GG (not connected) 4> connect http://192.168.56.8:7809 deployment ogg23_deploy2 as oggadmin password oggadmin OGG (http://192.168.56.8:7809 ogg23_deploy2) 5> info all Program Status Group Type Lag at Chkpt Time Since Chkpt ADMINSRVR RUNNING DISTSRVR RUNNING PMSRVR RUNNING RECVSRVR RUNNING
复制

3.3 基本操作

  • 通过前面配置用户名和密码,登录成功后主界面如下
  • 通过页面可以选择停止或启动管理服务、分发服务、性能度量服务和接收方服务。

图片.png

  • 通过systemctl命令停止服务
-- 停止服务 [oracle@ogg23ai bin]$ systemctl stop OracleGoldenGate.service -- 查看服务 [oracle@ogg23ai bin]$ systemctl status OracleGoldenGate.service ● OracleGoldenGate.service - Oracle GoldenGate Service Manager Loaded: loaded (/etc/systemd/system/OracleGoldenGate.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2024-05-22 16:17:10 CST; 10min ago Main PID: 1858 (ServiceManager) CGroup: /docker/32278a6f77bcc2295629a16cc614beaae0e12116dee62e006c604700fdb833d7/system.slice/OracleGoldenGate.service └─1858 /u01/app/ogg/ogg23_ma/bin/ServiceManager --inventory '/home/oracle/ogg23_sm/etc/conf' ‣ 1858 /u01/app/ogg/ogg23_ma/bin/ServiceManager --inventory '/home/oracle/ogg23_sm/etc/conf'
复制

四、配置同步链路 (Web方式)

4.1 准备数据库

  • 准备两个 Oracle 19c cdb 环境,PDB1 同步到 PDB2 。这里使用的是oracle docker 环境。
主机名 ip 地址 数据库名称(CDB:PDB) 端口映射 宿主机地址
ora19c 172.88.0.2 ORCLCDB:PDB1 1521:1521 192.168.56.2
ora19c_2 172.88.0.3 ORCLCDB:PDB2 2521:1521 192.168.56.2
  • 源端、目标端数据库日志及设置
-- 源端设置归档模式、附加日志和启动OGG复制 SQL> archive log list; SQL> alter database force logging; SQL> alter database add supplemental log data; SQL> select force_logging,supplemental_log_data_min from v$database; -- 源端、目标端 SQL> alter system set enable_goldengate_replication=true;
复制
  • 源端、目标端创建ogguser用户及授权
SQL> create user C##OGG identified by ogg; SQL> exec dbms_goldengate_auth.grant_admin_privilege('C##OGG',container=>'ALL'); SQL> grant DBA to c##ogg CONTAINER=ALL;
复制

4.2 创建测试表

--准备表 alter session set container=PDB1; SQL> CREATE TABLE sxc.my_table ( id NUMBER PRIMARY KEY, name VARCHAR2(50), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); SQL> CREATE TABLE sxc.my_table2 ( id NUMBER PRIMARY KEY, name VARCHAR2(50), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); --构造数据 SQL> BEGIN FOR i IN 1..10000 LOOP INSERT INTO sxc.my_table (id, name) VALUES (i, 'Name ' || i); END LOOP; COMMIT; END; / SQL> select count(*) from sxc.my_table; COUNT(*) ---------- 10000
复制

4.3 同步准备

  • 登录到管理服务,http://192.168.56.8:7810/

  • 这里,我们先修改一下GLOBALS参数文件,里面的值默认是配置微服务期间输入的Replication Schema 值。

图片.png

1)添加源端数据库

  • 点击左上角菜单按钮,点击左边数据库连接,点击数据库连接旁边的 + 建立数据库连接(连接源端、目标端数据库)

图片.png

用户ID格式为ogguser@<数据库ip地址>/<服务名>,用户密码,点击“提交”

注意:这里连接的是源端 CDB。
图片.png

出现如下界面后,点击右侧的连接到数据库连接按钮 ,能够跳出下面的内容,说明连接正常。
图片.png

2)添加目标端数据库

  • 注意:这里连接的是目标端 PDB

图片.png

  • 测试连接

图片.png

3)源端添加TRANDATA信息

  • ①方式1:针对表单独添加, 源端点击TRANDATA信息 旁边的 + 添加检查点表trandata设置,此处添加表sxc.my_table

图片.png

检查:输入pdb1.sxc.my_table 点击 搜索
图片.png

  • ②方式2:针对schema 级别添加

图片.png

检查:输入pdb1.sxc 点击 搜索
图片.png

4)目标端添加检查点

图片.png
图片.png

4.4 数据抽取(ext1)

登录管理服务URL页面: http://192.168.56.8:7810/

  • 回到主界面,点击提取旁边的**+** 添加提取进程

图片.png

  • 选择提取类型,此处选择默认的集成的抽取

图片.png

  • 设置提取选项,进程名ext1;线索名称aa;别名sourcedb,注册到pdb1

图片.png

图片.png

图片.png

这里,需要修改一下参数文件:

EXTRACT ext1 USERIDALIAS sourcedb DOMAIN OracleGoldenGate EXTTRAIL aa DDL INCLUDE MAPPED TABLE PDB1.SXC.*;
复制
  • 点击创建并运行

  • 回到主界面,点击“查看状态”

通过如下界面可看到 提取进程EXT1正在运行
图片.png

4.5 初始化

  • 使用expdp ,详细过程略。。。
-- 数据导出:以 FLASHBACK_SCN 为参数,使用 expdp 导出生产库数据 expdp system/oracle@PDB1 directory=DATA_PUMP_DIR dumpfile=expdp_sxc%U.dmp logfile=expdp_sxc.log filesize=30G schemas=sxc flashback_scn=4294128 -- 数据导入:在目标库上使用 impdp 导入数据 impdp system/oracle@PDB2 directory=DATA_PUMP_DIR dumpfile=expdp_sxc%U.dmp logfile=impdp_sxc.log
复制

4.6 复制进程(rep1)

  • 回到“概述”界面,点击复制旁边的**+** 添加提取进程

图片.png

  • 选择复制类型,此处选择默认的的并行复制+非集成

图片.png

  • 设置复制选项,进程名rep1;线索名称 aa

图片.png

图片.png

图片.png

  • 参数文件,如经典模式配置一样添加同步表清单MAP PDB1.SXC.*, TARGET PDB2.SXC.*;
REPLICAT rep1 USERIDALIAS targetdb DOMAIN OracleGoldenGate DISCARDFILE rep_rf.dsc, append, megabytes 1024 REPERROR DEFAULT, ABEND NUMFILES 5000 GROUPTRANSOPS 2000 MAP PDB1.SXC.*, TARGET PDB2.SXC.*;
复制
  • 点击创建 不要运行

图片.png

  • 手动点击操作启动, 概览 中 查看状态

图片.png

  • 数据初始化后,基于afterscn 启动

图片.png

图片.png

4.7 实时同步检查

  • 测试DDL & DML 测试
-- 1)源端操作 sqlplus sxc/sxc@PDB1 SXC@PDB1> insert into sxc.MY_TABLE2 values (1,'s',sysdate); 1 row created. SXC@PDB1> commit; Commit complete. SXC@PDB1> create table t (id int); Table created. SXC@PDB1> insert into t values (1); 1 row created. SXC@PDB1> commit; Commit complete. --2)目标端检查 SXC@PDB2> select * from sxc.MY_TABLE2; ID NAME CREATED_AT ---------- ---------- --------------------------------------------------------------------------- 1 s 20-SEP-24 06.31.47.000000 PM SXC@PDB2> select * from t; ID -------------------- 1
复制
  • 查看复制进程REP1统计信息

图片.png

  • 查看提取进程EXT1统计信息

图片.png

五、AdminClient使用

  • 通过adminclient登录
[oracle@ogg23ai bin]$ ./adminclient OGG (not connected) 1> connect http://192.168.56.8:7809 deployment ogg23_deploy2 as oggadmin password oggadmin
复制
  • 使用adminclient中子命令
OGG (not connected) 1> connect http://192.168.56.8:7809 deployment ogg23_deploy2 as oggadmin password oggadmin OGG (http://192.168.56.8:7809 ogg23_deploy2) 2> info all Program Status Group Type Lag at Chkpt Time Since Chkpt ADMINSRVR RUNNING DISTSRVR RUNNING PMSRVR RUNNING RECVSRVR RUNNING EXTRACT RUNNING EXT1 INTEGRATED 00:00:02 00:00:01 REPLICAT RUNNING REP1 PARALLEL NONINT 00:00:00 00:00:03 OGG (http://192.3.125.125:8001 deploy19c) 4> view report ext1 OGG (http://192.3.125.125:8001 deploy19c) 7> view params ext1
复制
  • 类似ggsci命令登录数据等操作
OGG (http://192.168.56.8:7809 ogg23_deploy2) 4> dblogin USERIDALIAS sourcedb Successfully logged into database CDB$ROOT. OGG (http://192.168.56.8:7809 ogg23_deploy2 as sourcedb@ORCLCDB/CDB$ROOT) 5> info trandata pdb1.sxc.t Logging of supplemental transaction log data is enabled for table PDB1.SXC.T. Columns supplementally logged for table PDB1.SXC.T: - "ID" Prepared CSN for table PDB1.SXC.T: 4305471
复制
最后修改时间:2024-10-14 15:16:43
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

目录
  • ogg 23ai + 19c 单向同步配置
    • 一、前言
    • 二、OGG微服务安装
      • 2.1 GUI安装MA
      • 2.2 GUI安装SM
    • 三、MA版使用
      • 3.1 检查服务
      • 3.2 登录ogg 微服务
      • 3.3 基本操作
    • 四、配置同步链路 (Web方式)
      • 4.1 准备数据库
      • 4.2 创建测试表
      • 4.3 同步准备
      • 4.4 数据抽取(ext1)
      • 4.5 初始化
      • 4.6 复制进程(rep1)
      • 4.7 实时同步检查
    • 五、AdminClient使用