Oracle® GoldenGate(OGG) 모니터 에이전트(jagent)는 GoldenGate 인스턴스에 대한 정보를 수집하여 Oracle GoldenGate Monitor Server와 Oracle GoldenGate용 Enterprise Manager 플러그인으로 전송하는 핵심 구성 요소입니다. 이 글에서는 OGG 12c 환경에서 기존 jagent를 최신 버전의 모니터 에이전트로 업그레이드하는 전체 과정을 단계별로 살펴봅니다.
기존 OGG 12c jagent 설치 및 업그레이드
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다음 명령어를 실행하여 $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>아래의 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 홈 디렉터리의 위치를 지정해야 합니다.
설치할 구성 요소 목록에서 Oracle GoldenGate Monitor Agent를 선택한 후 Next(다음)를 클릭합니다.
설치 전에 운영체제별 사전 요구 사항(prerequisite) 검사가 자동으로 수행됩니다.
다음 화면에는 설치될 기능 목록과 예상 디스크 사용량이 표시됩니다.
아래 화면에서는 설치 진행 상황을 실시간으로 확인할 수 있습니다.
설치가 완료되면 다음과 같은 완료 메시지가 표시됩니다.
설치 후 작업
다음 명령어를 실행하여 기존 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 명령어로 강제 종료해야 합니다.
다음 명령어를 실행하여 에이전트 생성 스크립트를 통해 새 인스턴스를 만듭니다.
/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다음 명령어를 실행하여 모든 서비스를 중지합니다.
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모든 서비스를 다시 시작하고 정상 동작 여부를 검증합니다.
참고: 서비스를 여러 번 검증해 보면 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
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를 재시작해야 합니다.
OEM(Enterprise Manager) 환경에서는 /export/home/oracle/testogg/cfg/Config.properties 파일을 열어
agent.type.enabled=OGGMON값을agent.type.enabled=OEM으로 변경합니다.모든 설정을 마친 후 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 설정 조정만으로 충분히 해결할 수 있으므로, 업그레이드 후 반드시 서비스 상태를 여러 차례 검증하는 것을 권장합니다.
궁금한 점이나 의견이 있다면 피드백 탭을 통해 알려주세요. 언제든지 함께 논의할 준비가 되어 있습니다.