Amazon RDS for Oracle에서 OEM_AGENT 옵션을 사용할 때 발생하는 일반적인 오류를 해결하려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2021년 11월 5일

Oracle을 실행하는 Amazon Relational Database Service(Amazon RDS) DB 인스턴스가 있습니다. DB 인스턴스에서 OEM_AGENT 옵션을 사용하려고 하면 오류가 발생합니다. OEM_AGENT 옵션을 사용할 때 발생하는 일반적인 오류를 해결하고 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

Amazon RDS는 OEM_AGENT 옵션을 사용하여 Oracle Enterprise Manager(OEM) Management Agent를 지원합니다. Amazon RDS for Oracle DB 인스턴스에서 OEM_AGENT 옵션을 사용할 때 이 문서에서 설명하는 오류 중 하나가 발생할 수 있습니다.

참고: 문제 해결 단계를 진행하기 전에 DB 인스턴스에 대해 다음과 같은 사전 검사를 실행하세요.

1.    다음 AWS Command Line Interface(AWS CLI) 명령을 실행하여 옵션 그룹에 OEM_AGENT 옵션을 추가하고 DB 인스턴스에 옵션을 적용한 후 옵션 그룹 상태를 확인합니다.

aws rds describe-db-instances --db-instance-identifier <db-instance-name> --query 'DBInstances[*].[Engine,DBInstanceStatus,OptionGroupMemberships]'

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

출력을 확인하여 옵션 그룹 상태가 in-sync인지 확인합니다. 옵션 그룹 상태가 in-sync인 경우 다음과 같은 출력이 표시됩니다.

[
    [
        "oracle-ee",
        "available",
        [
            {
                "OptionGroupName": "custom-oracle-option",
                "Status": "in-sync"
            }
        ]
    ]
]

옵션 그룹 상태가 INVALID인 경우 네트워크 구성 설정 및 기타 필수 구성 요소 문제로 인해 OEM_AGENT가 성공적으로 설치되지 않은 것입니다.

AWS 관리 콘솔에서 Amazon RDS DB 인스턴스의 이벤트 섹션을 검토하여 OEM_AGENT 옵션의 설치 상태를 확인할 수 있습니다. AWS CLI 명령 describe-events를 사용할 수도 있습니다.

이벤트가 OEM_AGENT 옵션 또는 네트워크 구성 설치와 관련된 문제를 나타내는 경우 후속 필수 구성 요소가 충족되었는지 확인합니다.

2.    DB 인스턴스의 네트워크 구성을 확인합니다. DB 인스턴스의 보안 그룹은 OMS_HOST가 OEM_AGENT 포트(기본값: 3872)와 RDS 포트(기본값: 1521)를 수신하도록 허용해야 합니다.

3.    Oracle Management Service(OMS) 서버에서 OEM 에이전트 포트 및 데이터베이스 포트의 DB 인스턴스로 텔넷 테스트를 실행하여 연결을 확인합니다.

4.    ACL(네트워크 액세스 제어 목록) 및 라우팅 테이블 등 네트워크 구성을 확인합니다. 구성을 확인하면 차단 기능 또는 명시적 거부의 가능성이 배제됩니다.

5.    OMS와 RDS 간의 방화벽이 DB 리스너 포트와 OEM 에이전트 포트 모두에서 트래픽을 허용하는지 확인합니다.

이 검사를 완료한 후 OEM_AGENT 업로드가 작동하는지 확인합니다. OEM_AGENT 사전 조건에 대한 자세한 내용은 Oracle Management Agent for Enterprise Manager Cloud Control을 참조하세요.

해결 방법

RDS for Oracle 인스턴스에서 OEM_AGENT 옵션을 사용할 때 발생하는 문제를 해결하려면 이러한 로그를 Amazon CloudWatch로 내보낸 후 OEM 에이전트 로그를 검토합니다. 자세한 내용은 Amazon CloudWatch Logs에 Oracle 로그 게시를 참조하세요.

DB 인스턴스가 OEM 콘솔에서 대상의 자동 검색에 표시되지 않음

이 문제는 OMS 서버가 SSH를 통해 기본 호스트에 연결할 수 없는 경우에 발생합니다. 이 연결은 자동 검색이 올바르게 작동하기 위한 OS 수준에서의 필수 조건입니다. 대상 Oracle DB 인스턴스를 추가할 때 사용되는 마법사 기반 자동 검색과는 달리 Oracle DB 인스턴스를 대상으로 수동으로 추가해야 합니다. Management Agent의 제한 사항에 대한 자세한 내용은 Management Agent의 제한 사항을 참조하세요.

오류: 에이전트 암호가 잘못되었거나 만료되어 Oracle OEM_AGENT를 설치할 수 없음

에이전트 암호가 올바른지, 만료되지 않았는지 확인합니다. OEM 서버에서 기존 에이전트 등록 암호를 수정하거나 새 암호를 만들 수 있습니다.

오류: DB 인스턴스가 OMS 호스트에 도달할 수 없으므로 Oracle OEM_AGENT를 설치할 수 없음

RDS 호스트에서 OMS 호스트/포트에 연결할 수 없음으로 인해 OEM_AGENT가 설치되지 않을 때 이 오류가 발생합니다. 이 오류를 해결하려면 DB 인스턴스에서 OMS 호스트에 연결할 수 있는지 확인합니다.

OMS 서버와 OEM_AGENT 간의 네트워크 접속을 검증하려면 RDS for Oracle 인스턴스에서 OMS 서버로의 연결을 테스트합니다. 이렇게 하려면 액세스 제어 목록(ACL) 및 UTL_TCP 패키지를 활용할 수 있습니다.

  • 네트워크 ACL을 관리하기 위한 인터페이스를 제공하는 DBMS_NETWORK_ACL_ADMIN 패키지를 사용합니다.
  • UTL_TCP.CONNECTION을 사용합니다. TCP/IP 연결을 나타내는 데 사용되는 PL/SQL 레코드 유형입니다.

다음을 수행할 수도 있습니다.

1.    DB 인스턴스와 동일한 네트워크 설정(SG/ACL)을 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 시작합니다.

2.    포트 4903에서 Amazon EC2 인스턴스에서 OMS 호스트로 텔넷 명령을 실행합니다.

telnet OMS_HOST 4903

3.    OMS 서버의 OEM 호스트에서 DB 인스턴스로 텔넷 테스트를 실행하여 연결을 확인합니다.

telnet RDS-instance-endpoint 1521 (RDS default port)

4.    RDS 호스트가 OMS 호스트 이름을 IP 주소로 확인할 수 있는지 점검합니다.

SQL> SELECT UTL_INADDR.get_host_address('OMS_Host_Name') FROM dual;

5.    TCP Traceroute를 실행하여 트래픽이 차단된 위치를 확인합니다.

오류: DB 인스턴스에 OEM_AGENT 옵션을 성공적으로 설치했습니다. 보안 그룹이 올바르게 구성되지 않았을 수 있음

설치가 올바르게 완료되더라도, DB 인스턴스와 연결된 RDS 보안 그룹에 OMS 호스트와 DB 인스턴스 간의 통신을 허용하는 구성이 누락되었을 수 있습니다.

이 오류를 해결하려면 에이전트의 보안 그룹이 인바운드 트래픽을 허용하고 OMS 호스트가 에이전트 포트에 대한 액세스 권한이 있는 보안 그룹에 속하는지 확인합니다. 자세한 내용은 Oracle Management Agent for Enterprise Manager Cloud Control을 참조하세요.

오류: OMS 호스트 버전 x.x.x.x가 에이전트 버전 x.x.x.x와 호환되지 않으므로 Oracle OEM_AGENT를 설치할 수 없습니다.

OEM_AGENT 버전과 OMS 호스트 버전 간에 호환성 문제가 있는 경우 이 오류가 발생합니다. 현재 OEM_AGENT는 두 구성 요소가 호환될 때 OMS와 통합됩니다. 이 오류를 해결하려면 OMS 호스트 및 OEM 에이전트에 대해 호환되는 버전을 선택합니다. 호환성 매트릭스를 검토하는 방법에 대한 자세한 내용은 Management Agent 사전 요구 사항을 참조하세요.

오류: OMS 호스트가 신뢰할 수 없는 타사 인증서를 사용하고 있음

OEM_AGENT 옵션을 성공적으로 설치했지만 OMS 호스트가 신뢰할 수 없는 타사 인증서를 사용하고 있는 경우 이 오류가 발생했습니다. 타사의 필수 신뢰 인증을 사용하여 OMS 호스트를 구성합니다.

오류: OEM_AGENT 옵션에 필요한 옵션 설정이 누락되었습니다(서비스: AmazonRDS, 상태 코드: 400; 오류 코드: InvalidParameterValue;

OEM_AGENT에 필요한 설정 중 하나가 누락되어 이 설정을 지정해야 할 때 이 오류가 발생합니다. OEM_AGENT의 필수 설정에 대한 자세한 내용은 Option settings for Management Agent를 참조하세요.

오류: 하트비트 상태: OMS가 잘못 응답함 [오류 - 대상 유형 메타데이터 업데이트 실패]

OEM_AGENT 옵션이 Amazon RDS에 연결된 후 OMS 호스트가 교체되면 이 오류가 발생합니다.

1.    에이전트 상태를 지우거나 Management Agent를 사용한 데이터베이스 태스크 수행의 단계를 사용하여 OEM_AGENT를 다시 시작합니다.

2.    OMS 호스트와의 연결을 다시 설정합니다.

3.    OMS 버전과 OEM_AGENT 버전과의 호환성 문제가 있는지 확인합니다. 다음 쿼리를 실행하여 테이블에 옵션 그룹에 사용된 OEM_AGENT 버전이 나열되는지 확인합니다.

select type_meta_ver from sysman.mgmt_target_type_versions where target_type = 'oracle_emd';

4.    mgmt_target_type_version 출력에 옵션 그룹에 사용된 OEM_AGENT 버전이 포함되어 있지 않으면 명령 출력에 나열된 OEM_AGENT 버전을 설치합니다.

이 오류는 필요한 OMS 측 패치 및 플러그인이 누락되었음을 나타낼 수도 있습니다. OMS가 올바르게 설정되어 있고 필요한 모든 패치가 적용되었는지 확인합니다.

에이전트가 차단된 경우 OEM 콘솔에서 다음을 수행하여 에이전트를 다시 동기화합니다.

  1. 클라우드 제어 콘솔에 로그인합니다.
  2. [설정(Setup)]을 선택하고 [클라우드 제어 관리(Manage Cloud Control)]를 선택한 다음 [에이전트(Agents)]를 선택합니다.
  3. 다시 동기화할 에이전트를 선택합니다.
  4. [에이전트(Agent)] 드롭다운 목록에서 [재동기화...(Resynchronization...)]를 선택합니다.
  5. [에이전트 재동기화가 성공적으로 완료되면 에이전트 차단 해제(Unblock agent on successful completion of agent resynchronization)]를 선택합니다.
  6. [계속(Continue)]을 선택합니다.
    재동기화 운영이 작업으로 제출됩니다.
  7. 작업 이름의 링크를 선택하여 재동기화 작업의 상태를 확인합니다.

작업이 성공적으로 완료되면 재동기화한 에이전트와 모니터링되는 모든 대상의 상태를 확인합니다.

참고: OEM 모니터링이 효과적으로 작동하려면 DNS 서버가 지속적으로 작동해야 합니다. 에이전트는 하트비트를 내보내고 상태 업데이트를 OMS 호스트에 푸시합니다. 오랜 시간 동안 에이전트에서 OMS 호스트에 연결할 수 없는 경우 OMS는 에이전트와 데이터베이스가 다운된 것으로 간주할 수 있습니다. 따라서 DNS 서버가 작동 중인지 확인합니다.

Oracle Management Agent가 연관된 OMS를 업로드하도록 하려면 다음 쿼리를 실행합니다. 이 쿼리를 실행하는 것은 emctl upload agent 명령을 실행하는 것과 같습니다.

SELECT rdsadmin.rdsadmin_oem_agent_tasks.upload_oem_agent() as TASK_ID from DUAL;

에이전트 상태를 지운 후 OEM 에이전트를 다시 시작하려면 다음 쿼리를 실행합니다.

SELECT rdsadmin.rdsadmin_oem_agent_tasks.restart_oem_agent() as TASK_ID from DUAL;

Oracle Enterprise Manager Cloud Control 13c 릴리스 4(13.4.0.0.0)를 사용하여 Oracle Management Agent 13c 릴리스 4(13.4.0.0.0)만 배치할 수 있습니다. OMS가 13c 릴리스 4로 업그레이드된 후에는 이전 Oracle Management Agent(13.2 및 13.3) 버전을 새로 배포할 수 없습니다. 자세한 내용은 Enterprise Manager 시스템 설치를 시작하기 전에를 참조하세요.

오류: 에이전트 포트가 OMS 포트와 충돌하므로 OEM_AGENT 옵션을 설치할 수 없습니다. 옵션 설정을 업데이트하고 다시 시도합니다.

OEM_AGENT가 올바르게 작동하기 위한 구성이 잘못되었기 때문에 이 오류가 발생합니다. OMS 포트와 OEM_AGENT 포트 모두에 대해 동일한 포트 번호를 지정했을 수 있습니다. 이 오류를 해결하려면 OMS 포트 또는 OEM_AGENT 포트 번호를 변경합니다.

다음 Management Agent 설정을 검토합니다.

  • AGENT_PORT - DB 인스턴스의 이 포트는 OMS 호스트를 수신합니다. 기본값은 3872입니다. OMS 호스트는 이 포트에 액세스할 수 있는 보안 그룹에 속해야 합니다.
  • OMS_PORT - OMS 호스트의 이 HTTPS 포트는 Management Agent를 수신합니다.
    HTTPS 업로드 포트를 찾으려면 OMS 호스트에 연결하고 다음 명령을 실행합니다.
emctl status oms -details

오류: DB 인스턴스에 충분한 스토리지가 없기 때문에 Oracle OEM_AGENT를 설치할 수 없습니다. 옵션 그룹이 DB 인스턴스 클래스 및 구성에서 지원되는지 확인합니다. 지원될 경우 모든 옵션 그룹 설정을 확인하고 다시 시도합니다.

DB 인스턴스에 대해 프로비저닝된 스토리지에 OEM_AGENT 사전 조건에 따라 필요시 사용 가능한 스토리지가 충분하지 않은 경우 이 오류가 발생합니다. 자세한 내용은 Management Agent의 사전 조건을 참조하세요. 스토리지 공간을 늘린 다음 OEM_AGENT 옵션을 다시 설치합니다.

오류: 파일 시스템 /에 X.XX%의 사용 가능한 공간이 있습니다.

RDS for Oracle 인스턴스와 함께 OEM_AGENT 옵션을 사용할 수 있는 제한 때문에 이 오류가 발생합니다. 호스트 지표 및 프로세스 목록에 실제 시스템 상태가 반영되지 않을 수 있습니다. 따라서 OEM을 사용하여 루트 파일 시스템 또는 마운트 지점 파일 시스템을 모니터링하지 마세요. 자세한 내용은 Management Agent의 제한 사항을 참조하세요.

Amazon RDS 인스턴스의 루트 파일 시스템은 내부 자동화 시스템에 의해 유지 관리됩니다. 이 자동화 시스템은 루트 파일 시스템을 정기적으로 모니터링하여 파일 시스템에 충분한 공간이 있는지 확인합니다. 스토리지 부족이 감지되면 자동화 시스템은 루트 파일 시스템에 충분한 공간을 추가합니다. 자동화 시스템이 루트 파일 시스템의 공간을 관리하므로 이 오류를 무시해도 됩니다.