故障排查26 分钟阅读
OGGMA 21c 微服务 (MySQL) 安装避坑指南
这两天在写 100 天实战课程https://www.modb.pro/course/142 的 OGG 微服务课程: 在 Oracle Linux 8.10 上安装 OGGMA 21c MySQL 遇到了一点问题,分享
2025年4月27日
oggmysql
DBA 实战课程
系统学习 Oracle DBA
- 2738+ 篇实战文章
- 1500+ 步骤截图
- 10 大核心模块
开通会员 ¥128/月起
查看完整课程在知识库中专注阅读,并随时返回相关工具与课程
这两天在写 100 天实战课程 的 OGG 微服务课程:

在 Oracle Linux 8.10 上安装 OGGMA 21c MySQL 遇到了一点问题,分享给大家一起避坑!
环境信息:
创建 OGG 安装目录并设置权限:
1# root 用户执行2## oggma 用于存放可执行文件3## ogginst 存放 OGGMA 的服务管理器(Service Manager)和部署(Deployment)文件4[root@target ~]# mkdir -p /ogg/{oggma,ogginst}5[root@target ~]# chown -R mysql:mysql /ogg6[root@target ~]# chmod -R 775 /ogg1[mysql@target ~]$ cd /soft/2[mysql@target soft]$ unzip -q p37400370_2117000OGGRU_Linux-x86-64.zip参考 Oracle GoldenGate Microservices Documentation 官方文档:
所以在 OEL8 上安装 OGGMA 21c MySQL 需要提前安装 OpenSSL 1.0:

根据官方文档提示,在 MySQL 官网 https://downloads.mysql.com/archives/c-odbc/ 下载对应的 ODBC 上传到 OGG 服务器主机上:
1[root@target soft]# chown mysql:mysql /soft/mysql-connector-odbc-8.0.17-linux-glibc2.12-x86-64bit.tar.gz 2[root@target soft]# su - mysql3[mysql@target ~]$ cd /soft/4[mysql@target soft]$ tar -xf mysql-connector-odbc-8.0.17-linux-glibc2.12-x86-64bit.tar.gz5[mysql@target soft]$ cd mysql-connector-odbc-8.0.17-linux-glibc2.12-x86-64bit/lib/6[mysql@target lib]$ ls7libcrypto.so libcrypto.so.1.0.0 libmyodbc8a.so libmyodbc8w.so libssl.so libssl.so.1.0.0配置环境变量:
1# root 用户执行2[root@target ~]# cat<<-\EOF >> /etc/profile3export LD_LIBRARY_PATH=/soft/mysql-connector-odbc-8.0.17-linux-glibc2.12-x86-64bit/lib:$LD_LIBRARY_PATH4EOF到这里,准备工作就完成了。
创建静默安装响应文件:
1[mysql@target ~]$ cd /soft/ggs_Linux_x64_MySQL_services_shiphome/Disk1/response2[mysql@target response]$ cat<<-EOF>oggcore.rsp3oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v21_1_04INSTALL_OPTION=mysql5SOFTWARE_LOCATION=/ogg/oggma6INVENTORY_LOCATION=/ogg/oraInventory7UNIX_GROUP_NAME=mysql8EOF1# mysql 用户执行2[mysql@target ~]$ cat<<-\EOF >> /home/mysql/.bash_profile3export OGG_HOME=/ogg/oggma4export PATH=$OGG_HOME/bin:$OGG_HOME/OPatch:$PATH5EOF67# 生效环境变量8[mysql@target ~]$ source /home/mysql/.bash_profileOGGMA 软件安装这里会遇到第一个坑,安装 OGGMA 软件报错:
1[mysql@target Disk1]$ ./runInstaller -silent -nowait -responseFile /soft/ggs_Linux_x64_MySQL_services_shiphome/Disk1/response/oggcore.rsp2Starting Oracle Universal Installer...34...5...6...78Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2025-04-27_01-09-12PM/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory [in thread "main"]9 at java.lang.ClassLoader$NativeLibrary.load(Native Method)1011...12...13...根据报错提示:
libnsl.so.1: cannot open shared object file: No such file or directory
明显是缺少 libnsl 包,手动安装 libnsl 包:
1[root@target ~]# yum install -y libnsl2[root@target ~]# rpm -qa libnsl3libnsl-2.28-251.0.2.el8.x86_64安装依赖之后继续执行安装:
1[mysql@target ~]$ cd /soft/ggs_Linux_x64_MySQL_services_shiphome/Disk1/2[mysql@target Disk1]$ ./runInstaller -silent -nowait -responseFile /soft/ggs_Linux_x64_MySQL_services_shiphome/Disk1/response/oggcore.rsp3Starting Oracle Universal Installer...45Checking Temp space: must be greater than 120 MB. Actual 81868 MB Passed6Checking swap space: must be greater than 150 MB. Actual 8191 MB Passed7Preparing to launch Oracle Universal Installer from /tmp/OraInstall2025-04-27_01-22-14PM. Please wait ...[mysql@target Disk1]$ You can find the log of this install session at:8 /tmp/OraInstall2025-04-27_01-22-14PM/installActions2025-04-27_01-22-14PM.log9The installation of Oracle GoldenGate Services for MySQL was successful.10Please check '/ogg/oraInventory/logs/silentInstall2025-04-27_01-22-14PM.log' for more details.1112As a root user, execute the following script(s):13 1. /ogg/oraInventory/orainstRoot.sh14151617Successfully Setup Software.18The log of this install session can be found at:19 /ogg/oraInventory/logs/installActions2025-04-27_01-22-14PM.log执行 orainstRoot.sh 脚本:
1[root@target ~]# /ogg/oraInventory/orainstRoot.sh2Changing permissions of /ogg/oraInventory.3Adding read,write permissions for group.4Removing read,write,execute permissions for world.56Changing groupname of /ogg/oraInventory to mysql.7The execution of the script is complete.安装完成后,可以通过日志文件检查安装结果:
1/ogg/oraInventory/logs/installActions2025-04-27_01-22-14PM.logOGGMA 软件安装完成。
使用图形化工具 oggca.sh 配置服务管理器和部署(建议使用 vnc 软件):
1[mysql@target ~]$ source /etc/profile2[mysql@target ~]$ echo $LD_LIBRARY_PATH 3/soft/mysql-connector-odbc-8.0.17-linux-glibc2.12-x86-64bit/lib:/soft/mysql-connector-odbc-8.0.17-linux-glibc2.12-x86-64bit/lib:4[mysql@target ~]$ oggca.sh建议使用图形化部署,比较直观!
填写 service manager 部署目录 /ogg/ogginst/sm,address 填写 OGGMA 本机 IP 即可,端口 7809:

创建一个新的 deploy:

填写 deploy 名称以及软件安装目录:

填写 deploy 部署目录 /ogg/ogginst/dep:

默认即可:

创建一个管理账号,默认为 oggadmin:

都不勾选:

端口依次从 7810 开始,勾选开启监控:

OGG 默认的用户 ogg,后面需要创建:

执行安装:



执行 root.sh 脚本:
1[root@target ~]# /ogg/ogginst/sm/bin/registerServiceManager.sh2Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.3----------------------------------------------------4 Oracle GoldenGate Install As Service Script 5----------------------------------------------------6OGG_HOME=/ogg/oggma7OGG_CONF_HOME=/ogg/ogginst/sm/etc/conf8OGG_VAR_HOME=/ogg/ogginst/sm/var9OGG_USER=mysql10Running OracleGoldenGateInstall.sh...11Created symlink /etc/systemd/system/multi-user.target.wants/OracleGoldenGate.service → /etc/systemd/system/OracleGoldenGate.service.本来正常情况下,注册完服务就安装完成了,但是这里报错了:


在 MOS 上也搜不到相关报错(即使有也不符合),经曹神指导检查,发现是缺包:
1[mysql@target ~]$ adminsrvr 2adminsrvr: error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory报错缺少 libssl.so.10,可是我们前面已经安装了 libssl 怎么还会缺少呢?再一细看,原来之前安装的是 so.1.0.0,这里要的是 so.10,版本不匹配。
最简单的解决方式就是链接一个 so.10 出来:
1[mysql@target ~]$ cd /soft/mysql-connector-odbc-8.0.17-linux-glibc2.12-x86-64bit/lib2[mysql@target lib]$ ln -sf libssl.so libssl.so.103[mysql@target lib]$ ll4total 361365lrwxrwxrwx. 1 mysql mysql 18 Jun 19 2019 libcrypto.so -> libcrypto.so.1.0.06-rw-r--r--. 1 mysql mysql 2605390 Jun 19 2019 libcrypto.so.1.0.07-rwxr-xr-x. 1 mysql mysql 16925360 Jun 19 2019 libmyodbc8a.so8-rwxr-xr-x. 1 mysql mysql 16946136 Jun 19 2019 libmyodbc8w.so9lrwxrwxrwx. 1 mysql mysql 15 Jun 19 2019 libssl.so -> libssl.so.1.0.010lrwxrwxrwx. 1 mysql mysql 9 Apr 27 12:38 libssl.so.10 -> libssl.so11-rw-r--r--. 1 mysql mysql 512744 Jun 19 2019 libssl.so.1.0.0测试一下是否还缺包:
1[mysql@target lib]$ adminsrvr2adminsrvr: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory同样的再链接一个:
1[mysql@target lib]$ ln -sf libcrypto.so libcrypto.so.102[mysql@target lib]$ ll3total 361364lrwxrwxrwx. 1 mysql mysql 18 Jun 19 2019 libcrypto.so -> libcrypto.so.1.0.05lrwxrwxrwx. 1 mysql mysql 12 Apr 27 12:45 libcrypto.so.10 -> libcrypto.so6-rw-r--r--. 1 mysql mysql 2605390 Jun 19 2019 libcrypto.so.1.0.07-rwxr-xr-x. 1 mysql mysql 16925360 Jun 19 2019 libmyodbc8a.so8-rwxr-xr-x. 1 mysql mysql 16946136 Jun 19 2019 libmyodbc8w.so9lrwxrwxrwx. 1 mysql mysql 15 Jun 19 2019 libssl.so -> libssl.so.1.0.010lrwxrwxrwx. 1 mysql mysql 9 Apr 27 12:42 libssl.so.10 -> libssl.so11-rw-r--r--. 1 mysql mysql 512744 Jun 19 2019 libssl.so.1.0.0再次测试一下是否还缺包:
1[mysql@target lib]$ adminsrvr2adminsrvr: /soft/mysql-connector-odbc-8.0.17-linux-glibc2.12-x86-64bit/lib/libcrypto.so.10: no version information available (required by /ogg/oggma/bin/../lib/libmysqlclient.so.21)3adminsrvr: /soft/mysql-connector-odbc-8.0.17-linux-glibc2.12-x86-64bit/lib/libssl.so.10: no version information available (required by /ogg/oggma/bin/../lib/libmysqlclient.so.21)4Oracle GoldenGate Administration Service for MySQL5Version 21.17.0.0.0 OGGCORE_21.17.0.0.0OGGRU_PLATFORMS_250125.055867Copyright (C) 1995, 2025, Oracle and/or its affiliates. All rights reserved.89Oracle Linux 7, x64, 64bit (optimized), MySQL on Jan 25 2025 10:57:3410Operating system character set identified as UTF-8.确保正常之后,这里无法继续安装,否则还是会报错!需要删除 OGGCA 相关服务以及文件,重新配置:
1[root@target ~]# rm -rf /etc/systemd/system/OracleGoldenGate.service2[root@target ~]# rm -rf /etc/oggInst.loc3[mysql@target lib]$ cd /ogg/ogginst/4[mysql@target ogginst]$ ls5dep sm6[mysql@target ogginst]$ rm -rf *7[mysql@target ogginst]$ ps -ef|grep -v grep|grep ServiceManager8mysql 33033 1 0 12:41 ? 00:00:01 /ogg/oggma/bin/ServiceManager --inventory '/ogg/ogginst/sm/etc/conf'9[mysql@target ogginst]$ kill -9 33033重新配置 OGGCA 之前,建议手动设置一下环境变量:
1export LD_LIBRARY_PATH=/soft/mysql-connector-odbc-8.0.17-linux-glibc2.12-x86-64bit/lib:$LD_LIBRARY_PAT2[mysql@target ~]$ oggca.sh这次顺利安装,一次成功:

服务启动后,可以通过浏览器访问 OGGMA 管理界面,网址为:http://192.168.6.121:7810:

输入账号(oggadmin)密码连接:

这里可以看到 OGGMA 的版本是 21.17 版本。
大家在使用 OGG 的时候还遇到过哪些坑呢?欢迎评论区分享~
曹总后续给了替代解决方案:
1dnf install openssl-devel compat-openssl10大家可以自行测试一下。