Computer >> 컴퓨터 >  >> 프로그래밍 >> 데이터베이스

Oracle GoldenGate jagent를 모니터 에이전트 12.1.3으로 업그레이드하는 방법

Oracle® GoldenGate(OGG) 모니터 에이전트(jagent)는 GoldenGate 인스턴스에 대한 정보를 수집하여 Oracle GoldenGate Monitor Server와 Oracle GoldenGate용 Enterprise Manager 플러그인으로 전송하는 핵심 구성 요소입니다. 이 글에서는 OGG 12c 환경에서 기존 jagent를 최신 버전의 모니터 에이전트로 업그레이드하는 전체 과정을 단계별로 살펴봅니다.

기존 OGG 12c jagent 설치 및 업그레이드

  1. V44427-01.zip 파일의 압축을 해제하면 fmw_12.1.3.0.0_ogg.jar 파일이 생성됩니다.

     -rwxr-xr-x   1 oracle  oinstall 435392820 Jun 18  2014 fmw_12.1.3.0.0_ogg.jar
    
  2. 다음 명령어를 실행하여 $JAVA_HOME$JAVA_HOME/bin 경로가 올바르게 설정되어 있는지, 그리고 Java 버전이 1.7 이상인지 확인합니다.

     /nbcogg/goldengate <s0931> java -version
     java version "1.8.0_45"
     Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
     Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
     /nbcogg/goldengate <s0931>
    
  3. 아래의 Java 명령어를 실행하여 Oracle Universal Installer(OUI) 설치 프로그램을 시작합니다.

     /nbcogg/goldengate <s0931> java -jar -Xmx1024m /nbcogg/goldengate/fmw_12.1.3.0.0_ogg.jar
     Launcher log file is /var/tmp/OraInstall2015-07-08_08-17-57AM/launcher2015-07-08_08-17-57AM.log.
     Extracting files....................................................
     Starting Oracle Universal Installer
    

다음 화면은 OUI 설치 마법사의 시작 화면입니다.

Oracle GoldenGate jagent를 모니터 에이전트 12.1.3으로 업그레이드하는 방법

이 단계에서는 Oracle 홈 디렉터리의 위치를 지정해야 합니다.

Oracle GoldenGate jagent를 모니터 에이전트 12.1.3으로 업그레이드하는 방법

설치할 구성 요소 목록에서 Oracle GoldenGate Monitor Agent를 선택한 후 Next(다음)를 클릭합니다.

Oracle GoldenGate jagent를 모니터 에이전트 12.1.3으로 업그레이드하는 방법

설치 전에 운영체제별 사전 요구 사항(prerequisite) 검사가 자동으로 수행됩니다.

Oracle GoldenGate jagent를 모니터 에이전트 12.1.3으로 업그레이드하는 방법

다음 화면에는 설치될 기능 목록과 예상 디스크 사용량이 표시됩니다.

Oracle GoldenGate jagent를 모니터 에이전트 12.1.3으로 업그레이드하는 방법

아래 화면에서는 설치 진행 상황을 실시간으로 확인할 수 있습니다.

Oracle GoldenGate jagent를 모니터 에이전트 12.1.3으로 업그레이드하는 방법

설치가 완료되면 다음과 같은 완료 메시지가 표시됩니다.

Oracle GoldenGate jagent를 모니터 에이전트 12.1.3으로 업그레이드하는 방법

설치 후 작업

  1. 다음 명령어를 실행하여 기존 jagent를 중지합니다.

     /testogg<s0931> ./ggsci
     Oracle GoldenGate Command Interpreter for Oracle
     Version 11.2.1.0.17 17888650 OGGCORE_11.2.1.0.0OGGBP_PLATFORMS_131215.2328_FBO
     Solaris, sparc, 64bit (optimized), Oracle 11g on Dec 16 2013 16:59:28
     Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
     GGSCI (oracle.test.com) 1> info all
    
     Program     Status     Group       Lag at Chkpt  Time Since Chkpt
    
     MANAGER     RUNNING
     JAGENT      STOPPED
     EXTRACT     RUNNING    ETKX01      00:00:00      00:00:01
     EXTRACT     RUNNING    EXTTK01     00:00:00      00:00:06
     EXTRACT     RUNNING    PMPTK01     00:00:00      00:00:07
     EXTRACT     RUNNING    PTKX01      00:00:00      00:00:05
    
     -rwxr-x---   1 oracle  oinstall     152 Jan  8  2014 create_ogg_agent_instance.sh
    
     /testogg<s0931> ps -ef |grep jagent
     oracle    8880   871   0 08:33:42 pts/1       0:00 grep jagent
    

참고: 정상적으로 종료되지 않고 남아 있는 jagent 프로세스가 있다면 kill -9 명령어로 강제 종료해야 합니다.

  1. 다음 명령어를 실행하여 에이전트 생성 스크립트를 통해 새 인스턴스를 만듭니다.

     /nbcogg/goldengate/GoldenGate/oggmon/ogg_agent <s0931> ./create_ogg_agent_instance.sh
     Please enter absolute path of Oracle GoldenGate home directory : /testogg
     Please enter absolute path of OGG Agent instance : /testogg
     OGG Agent instance directory already exists, do you want to overwrite the contents (yes | no) : yes
     Sucessfully created OGG Agent instance.
     /nbcogg/goldengate/GoldenGate/oggmon/ogg_agent <s0931>
    
     /testogg/dirjar <s0931> ls -lart *jagent.jar*
     -rw-r-----   1 oracle  oinstall  255338 Dec 16  2013 jagent.jar
     /testogg/dirjar <s0931>
    
     /testogg/cfg <s0931> vi Config.properties
    
     ####################################################################
     ## jagent backward compatibility                                 ###
     ####################################################################
     jagent.backward.compatibility=false
    
     ####################################################################
     ## jagent SSL Enabled property                                   ###
     ####################################################################
     jagent.ssl=false
    
  2. 다음 명령어를 실행하여 모든 서비스를 중지합니다.

     GGSCI (oracle.test.com) 4> stop ETKX01
    
     Sending STOP request to EXTRACT ETKX01 ...
     Request processed.
    
     GGSCI (oracle.test.com) 5> stop EXTTK01
    
     Sending STOP request to EXTRACT EXTTK01 ...
     Request processed.
    
     GGSCI (oracle.test.com) 6> stop PMPTK01
    
     Sending STOP request to EXTRACT PMPTK01 ...
     Request processed.
    
     GGSCI (oracle.test.com) 7> stop PTKX01
    
     Sending STOP request to EXTRACT PTKX01 ...
     Request processed.
    
     GGSCI (oracle.test.com) 8> info all
    
     Program     Status      Group       Lag at Chkpt  Time Since Chkpt
    
     MANAGER     STOPPED
     JAGENT      STOPPED
     EXTRACT     STOPPED     ETKX01      00:00:00      00:00:18
     EXTRACT     STOPPED     EXTTK01     00:00:00      00:00:13
     EXTRACT     STOPPED     PMPTK01     00:00:00      00:00:08
     EXTRACT     STOPPED     PTKX01      00:00:00      00:00:04
    
  3. 모든 서비스를 다시 시작하고 정상 동작 여부를 검증합니다.

참고: 서비스를 여러 번 검증해 보면 jagent 상태가 간헐적으로 STOPPED로 표시되는 경우가 있습니다. 이 문제를 해결하려면 설정 파일(Config.properties)에서 몇 가지 값을 수정해야 합니다.

    GGSCI (oracle.test.com) 17> info all

    Program     Status     Group       Lag at Chkpt  Time Since Chkpt

    MANAGER     RUNNING
    JAGENT      RUNNING
    EXTRACT     RUNNING    ETKX01      00:00:00      00:00:04
    EXTRACT     RUNNING    EXTTK01     00:00:00      00:00:01
    EXTRACT     RUNNING    PMPTK01     00:00:00      00:00:05
    EXTRACT     RUNNING    PTKX01      00:00:00     00:00:05

    GGSCI (oracle.test.com) 18> info all

    Program     Status     Group       Lag at Chkpt  Time Since Chkpt

    MANAGER     RUNNING
    JAGENT      STOPPED
    EXTRACT     RUNNING    ETKX01      00:00:00      00:00:08
    EXTRACT     RUNNING    EXTTK01     00:00:00      00:00:04
    EXTRACT     RUNNING    PMPTK01     00:00:00      00:00:08
    EXTRACT     RUNNING    PTKX01      00:00:00      00:00:08
  1. jagent 로그에서 오류 내용을 확인하려면 다음 명령어를 실행합니다.

     /testogg/logs <s0931> more ogg_agent.log
     [2015-07-08T08:48:12.305-07:00] [JAGENT] [NOTIFICATION] [OGGMON-20244] [com.goldengate.monitor.jagent.JAgentWSMain] [tid: main] [ecid: 0000KtiM_kHESOsDCjCCwg1LbKOw000001,0] About to call initialize on the WebService
     [2015-07-08T08:48:12.475-07:00] [JAGENT] [NOTIFICATION] [OGGMON-20245] [com.goldengate.monitor.jagent.JAgentWSMain] [tid: main] [ecid: 0000KtiM_kHESOsDCjCCwg1LbKOw000001,0] Loading agent-spring-ws.xml ###############
     [2015-07-08T08:48:15.086-07:00] [JAGENT] [NOTIFICATION] [OGGMON-20593] [com.goldengate.monitor.jagent.config.impl.ConfigFilesHelper] [tid: main] [ecid: 0000KtiM_kHESOsDCjCCwg1LbKOw000001,0] JAgent config.dir system property is set, and the configuration is pointed to /export/home/oracle/testogg/cfg location.
     [2015-07-08T08:48:15.088-07:00] [JAGENT] [NOTIFICATION] [OGGMON-20594] [com.goldengate.monitor.jagent.config.impl.ConfigFilesHelper] [tid: main] [ecid: 0000KtiM_kHESOsDCjCCwg1LbKOw000001,0] JAgent configuration of checkpoint file absolute path: /export/home/oracle/testogg/cfg/../dirchk/agent.cpm
     [2015-07-08T08:48:15.088-07:00] [JAGENT] [NOTIFICATION] [OGGMON-20595] [com.goldengate.monitor.jagent.config.impl.ConfigFilesHelper] [tid: main] [ecid: 0000KtiM_kHESOsDCjCCwg1LbKOw000001,0] JAgent default configuration of checkpoint file absolute path: /export/home/oracle/testogg/cfg/../cfg/agent.cpm
     [2015-07-08T08:48:15.097-07:00] [JAGENT] [NOTIFICATION] [OGGMON-20028] [com.goldengate.monitor.jagent.config.impl.AgentInfoImpl] [tid: main] [ecid: 0000KtiM_kHESOsDCjCCwg1LbKOw000001,0] Using IP address 3.156.4.153 to connect to the Manager Web Service
     [2015-07-08T08:48:15.099-07:00] [JAGENT] [NOTIFICATION] [OGGMON-20029] [com.goldengate.monitor.jagent.config.impl.AgentInfoImpl] [tid: main] [ecid: 0000KtiM_kHESOsDCjCCwg1LbKOw000001,0] Reading Manager port 7810 from mgr.prm file.
     [2015-07-08T08:48:17.361-07:00] [JAGENT] [ERROR] [OGGMON-20016] [com.goldengate.monitor.jagent.config.impl.AgentInfoImpl] [tid: main] [ecid: 0000KtiM_kHESOsDCjCCwg1LbKOw000001,0] Monitor Server JMX password is not defined. Please run Wallet Utility to create Monitor Server JMX password.
     [2015-07-08T08:48:17.372-07:00] [JAGENT] [NOTIFICATION] [OGGMON-20247] [com.goldengate.monitor.jagent.JAgentWSMain] [tid: main] [ecid: 0000KtiM_kHESOsDCjCCwg1LbKOw000001,0] Error Initializing JAgent. JAgent will not be initialized and about to return. , [[org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'agentBootstrapper': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'agentInfo': Invocation of init method failed; nested exception is java.lang.Exception: One ore more Java Agent properties in Config.properties file are not defined properly. Check ggserr.log file for more detail. Correct the error in the Config.properties file and restart the Manager.
    

    로그를 분석해 보면 Monitor Server JMX 비밀번호가 정의되지 않았다는 오류(OGGMON-20016)를 확인할 수 있습니다. 이 오류는 Wallet Utility를 실행하여 Monitor Server JMX 비밀번호를 생성하면 해결되며, Config.properties 파일의 설정 오류도 함께 점검한 후 Manager를 재시작해야 합니다.

  2. OEM(Enterprise Manager) 환경에서는 /export/home/oracle/testogg/cfg/Config.properties 파일을 열어 agent.type.enabled=OGGMON 값을 agent.type.enabled=OEM으로 변경합니다.

  3. 모든 설정을 마친 후 Manager를 재시작하고 전체 서비스를 검증합니다. 모든 프로세스가 정상적으로 시작되고 실행되어야 합니다.

     GGSCI (oracle.test.com) 6> info all
    
     Program     Status     Group       Lag at Chkpt  Time Since Chkpt
    
     MANAGER     RUNNING
     JAGENT      RUNNING
     EXTRACT     RUNNING    ETKX01      00:00:00      00:00:02
     EXTRACT     RUNNING    EXTTK01     00:00:00      00:00:01
     EXTRACT     RUNNING    PMPTK01     00:00:00      00:00:04
     EXTRACT     RUNNING    PTKX01      00:00:00      00:00:04
    

마무리

위에서 안내한 단계를 순서대로 따라 하면 Oracle이 권장하는 방식대로 OGG 모니터 에이전트를 손쉽게 업그레이드할 수 있습니다. 이 방법은 가장 간단하면서도 안정적인 업그레이드 절차입니다. 특히 설치 후 jagent가 간헐적으로 중지되는 문제가 발생하더라도 로그 분석과 Config.properties 설정 조정만으로 충분히 해결할 수 있으므로, 업그레이드 후 반드시 서비스 상태를 여러 차례 검증하는 것을 권장합니다.

궁금한 점이나 의견이 있다면 피드백 탭을 통해 알려주세요. 언제든지 함께 논의할 준비가 되어 있습니다.