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를 사용하여 서비스 관리자에서 배포를 실행할 수 없습니다.

배치 업그레이드

서비스 관리자와 동일한 단계에서 배치를 업그레이드하거나 서비스 관리자를 업그레이드한 후 나중에 업그레이드할 수 있습니다.

배치를 업그레이드하려면 다음을 수행합니다.

  1. 모든 Extract 및 Replicat 프로세스를 정상적으로 중지합니다.

    • Extract를 정상적으로 정지하는 데 시간이 더 걸릴 수 있으므로 열린(장기 실행) 트랜잭션 및 제한된 복구를 확인하십시오.

    • 불필요한 열린 트랜잭션(예: SEND EXTRACT group_name SHOWTRANS)이 표시되면 해당 트랜잭션을 건너뛰거나 즉시 중지할 수 있습니다. 이 경우 다음 명령을 사용하여 Bounded Recovery 체크포인트를 검색할 수 있습니다.

      SEND EXTRACT group_name, BR BRCHECKPOINT immediate

  2. (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를 자동으로 감지할 수 있습니다.

  3. (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 GoldenGate msodbc 폴더에 복사하고 DSN 항목의 ODBC 드라이버 값을 다음과 같이 변경합니다.

     Driver=Microsoft ODBC Driver for SQL Server
  4. 다음 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"}'
  5. 모든 Extracts 및 Replicats를 시작합니다.

    XAG를 사용하는 경우 배치 업그레이드 후 GoldenGate 인스턴스를 다시 사용으로 설정합니다.

     $ agctl enable goldengate <GoldenGate Name>

서비스 관리자 및 배치가 재시작되면 업그레이드가 완료됩니다.

주: Oracle GoldenGate for PostgreSQL의 경우 추출을 시작하기 전에 업그레이드 후 단계를 참조하십시오.