使用 REST API 升级 Oracle GoldenGate 微服务
了解使用 REST API 升级 Oracle GoldenGate 微服务的步骤。
此时,您应该拥有新的 Oracle GoldenGate 26ai MA 主目录和 Oracle GoldenGate MA 的任何先前发行版主目录。
升级服务管理器
安装最新的 Oracle GoldenGate MA 版本后,下一步是升级服务管理器。
如果使用 Oracle Grid Infrastructure 代理 (XAG),请在升级服务管理器之前禁用 GoldenGate 实例:
$ agctl disable goldengate <GoldenGate Name>
升级服务管理器时,可以使用以下 cURL 示例更新 Oracle GoldenGate 主目录:
curl -u adminname:adminpwd -X PATCH \
https://hostname:port/services/v2/deployments/ServiceManager \
-H 'cache-control: no-cache' \
-d '{"oggHome":"new OGG_HOME_absolute_path", "status":"restart"}'
在此语法中,输入新的 Oracle GoldenGate 主目录绝对目录路径,例如 /u01/app/oracle/product/26ai/gghome_1。
如果不使用 XAG,请使用以下命令检查 Service Manager 是否正在从新 $OGG_HOME 运行:
ps -ef | grep -i servicemanager
如果 Service Manager 未运行,则运行以下命令以重新启动它:
cd $NEW_OGG_HOME/bin
$ ./ServiceManager
如果使用 XAG,请更新 GoldenGate –gg_home 和 --oracle_home 参数:
$ agctl modify goldengate <GoldenGate Name> --gg_home <New OGG_HOME directory> --oracle_home <New OGG_HOME directory>/lib/instantclient
注意:如果使用 XAG,则还必须升级由升级的服务管理器管理的部署。不支持使用其他 GoldenGate 软件发行版或 OGG_HOME 在 Service Manager 下运行任何部署。
升级部署
部署可以在与服务管理器相同的步骤中进行升级,也可以在服务管理器升级之后的某个时间进行升级。
要升级部署,请执行以下操作:
-
正常停止所有提取和复制进程:
-
检查是否打开(长时间运行)事务和有边界恢复,因为正常停止提取可能需要较长时间。
-
如果任何不必要的未结事务处理可见(例如
SEND EXTRACT group_name SHOWTRANS),则可以跳过或立即强制停止这些事务处理。在这种情况下,可以使用以下命令检索边界恢复检查点:SEND EXTRACT group_name, BR BRCHECKPOINT immediate
-
-
(仅限 Oracle GoldenGate for Oracle AI Database)统一构建功能仅要求将
TNS_ADMIN调整为 Oracle GoldenGate 中的 Oracle Database Client 软件。curl -k -u adminname:adminpwd -X PATCH \ https://server.oracle.com:9000/services/v2/deployments/uat_01 \ -H 'cache-control: no-cache' \ -d '{"environment": [, {"name": "TNS_ADMIN" , "value": "/u01/app/oracle/network/admin"} ] }'注:从 21c 升级到 26ai 时,无需执行此步骤。如果从 Oracle GoldenGate 19c(或更早版本)升级到 26ai,则只需要
TNS_ADMIN环境变量。OGG_HOME环境变量可以自动检测DATABASE_HOME、LD_LIBRARY_PATH和JAVA_HOME。 -
(仅限 Oracle GoldenGate for SQL Server)Oracle GoldenGate 26ai for SQL Server on Linux 包含用于数据库连接的 ODBC 驱动程序。虽然不是必需的,但建议使用打包的驱动程序。要使用打包的驱动程序,需要创建两个新的环境变量,并且需要更新以前创建的任何
odbc.ini文件。将以下环境变量添加到部署中:curl -k -u adminname:adminpwd -X PATCH \ https://server.oracle.com:9000/services/v2/deployments/uat_01 \ -H 'cache-control: no-cache' \ -d '{"environment": [ , {"name": "ODBCSYSINI" , "value": "*${OGG_HOME}/msodbc*"} , {"name": "ODBCINI" , "value": "*${OGG_HOME}/msodbc/odbc.ini*"}] }'创建新环境变量后,将现有
odbc.ini文件复制到 Oracle GoldenGatemsodbc文件夹,并将任何 DSN 条目的 ODBC 驱动程序值更改为以下值:Driver=Microsoft ODBC Driver for SQL Server -
运行以下 cURL 命令以升级 Oracle GoldenGate 部署:
curl -u SM username: SM password -X PATCH http://hostname:servicemanager port/services/v2/deployments/Deployment-name -H 'cache-control: no-cache' -d '{"oggHome":" new OGG_HOME complete path","status":"restart"}' -
启动所有提取和复制。
如果使用 XAG,请在升级部署后重新启用 GoldenGate 实例:
$ agctl enable goldengate <GoldenGate Name>
服务管理器和部署重新启动后,升级即告完成。
注:对于适用于 PostgreSQL 的 Oracle GoldenGate,请参阅升级后步骤,然后再启动任何提取。