使用 REST API 升級 Oracle GoldenGate Microservices
瞭解使用 REST API 升級 Oracle GoldenGate Microservices 的步驟。
此時,您應該要有新的 Oracle GoldenGate 26ai MA 本位目錄,以及 Oracle GoldenGate MA 的任何先前版本本位目錄。
升級服務管理程式
安裝最新的 Oracle GoldenGate MA 版本之後,下一步就是升級 Service Manager。
如果使用 Oracle Grid Infrastructure 代理程式 (XAG),請先停用 GoldenGate 執行處理,再升級 Service Manager:
$ 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
如果「服務管理程式」未執行,請執行下列命令來重新啟動:
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,則必須一併升級由已升級 Service Manager 管理的部署。不支援在 Service Manager 下使用不同的 GoldenGate 軟體版本或 OGG_HOME 執行任何部署至 Service Manager。
升級部署
您可以使用「服務管理程式」在相同步驟中升級建置,或者可以在升級「服務管理程式」之後升級建置。
若要升級部署,請執行下列動作:
-
正常停止所有 Extract 和 Replicat 處理作業:
-
檢查未結 (長時間執行) 交易和「限制的復原」,因為它可能需要較長的時間來正常停止 Extract。
-
如果可看見任何不必要的未結交易,例如
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"}' -
啟動所有 Extract 和 Replicat。
如果使用 XAG,請在升級部署後重新啟用 GoldenGate 執行處理:
$ agctl enable goldengate <GoldenGate Name>
重新啟動 Service Manager 和部署後,即完成升級。
注意:如果是 Oracle GoldenGate for PostgreSQL,請參閱啟動任何 Extract 之前的升級後步驟。