REST API를 사용하여 Oracle GoldenGate 마이크로서비스 업그레이드
REST API를 사용하여 Oracle GoldenGate 마이크로서비스를 업그레이드하는 단계를 알아봅니다.
이 시점에서는 새로운 Oracle GoldenGate 26ai MA 홈과 Oracle GoldenGate MA의 이전 릴리스 홈이 있어야 합니다.
서비스 관리자 업그레이드
최신 Oracle GoldenGate MA 버전을 설치한 후 다음 단계는 Service Manager를 업그레이드하는 것입니다.
Oracle Grid Infrastructure 에이전트(XAG)를 사용하는 경우 Service Manager를 업그레이드하기 전에 GoldenGate 인스턴스를 사용 안함으로 설정합니다.
$ agctl disable goldengate <GoldenGate Name>
Service Manager를 업그레이드할 때 다음 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를 사용하지 않는 경우 다음 명령을 사용하여 서비스 관리자가 새 $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를 사용하는 경우 업그레이드된 Service Manager에서 관리하는 배포도 업그레이드해야 합니다. 서비스 관리자에 대한 다른 GoldenGate 소프트웨어 릴리스 또는 OGG_HOME를 사용하여 서비스 관리자에서 배포를 실행할 수 없습니다.
배치 업그레이드
서비스 관리자와 동일한 단계에서 배치를 업그레이드하거나 서비스 관리자를 업그레이드한 후 나중에 업그레이드할 수 있습니다.
배치를 업그레이드하려면 다음을 수행합니다.
-
모든 Extract 및 Replicat 프로세스를 정상적으로 중지합니다.
-
Extract를 정상적으로 정지하는 데 시간이 더 걸릴 수 있으므로 열린(장기 실행) 트랜잭션 및 제한된 복구를 확인하십시오.
-
불필요한 열린 트랜잭션(예:
SEND EXTRACT group_name SHOWTRANS)이 표시되면 해당 트랜잭션을 건너뛰거나 즉시 중지할 수 있습니다. 이 경우 다음 명령을 사용하여 Bounded Recovery 체크포인트를 검색할 수 있습니다.SEND EXTRACT group_name, BR BRCHECKPOINT immediate
-
-
(Oracle GoldenGate for Oracle AI Database에만 해당) 통합 빌드 기능에는 Oracle GoldenGate 내의 Oracle Database Client 소프트웨어에 맞게
TNS_ADMIN만 조정하면 됩니다.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를 자동으로 감지할 수 있습니다. -
(SQL Server용 Oracle GoldenGate에만 해당) Linux의 SQL Server용 Oracle GoldenGate 26ai에는 데이터베이스 연결을 위한 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"}' -
모든 Extracts 및 Replicats를 시작합니다.
XAG를 사용하는 경우 배치 업그레이드 후 GoldenGate 인스턴스를 다시 사용으로 설정합니다.
$ agctl enable goldengate <GoldenGate Name>
서비스 관리자 및 배치가 재시작되면 업그레이드가 완료됩니다.
주: Oracle GoldenGate for PostgreSQL의 경우 추출을 시작하기 전에 업그레이드 후 단계를 참조하십시오.