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 は正常にインストールされません。

OEM_AGENT オプションのインストールステータスは、AWS マネジメントコンソールから Amazon RDS DB インスタンスの [Events] (イベント) セクションを確認することで確認できます。AWS CLI コマンド describe-events を使用することもできます。

イベントが OEM_AGENT オプションまたはネットワーク構成のインストールに問題があることを示している場合は、以降の前提条件が確実に満たされているようにしてください。

2.    DB インスタンスのネットワーク設定を確認します。DB インスタンスのセキュリティグループは、OMS_HOST が OEM_AGENT ポート (デフォルトは 3872) と RDS ポート (デフォルトは 1521) をリッスンすることを許可する必要があります。

3.    OEM エージェントポートとデータベースポートで Oracle Management Service (OMS) サーバーから DB インスタンスへの Telnet テストを実行して、接続を確認します。

4.    ネットワークアクセスコントロールリスト (ACL) やルートテーブルなど、ネットワーク設定を確認します。設定を検証することで、ブロッカーまたは明示的拒否の可能性が排除されます。

5.    OMS と RDS の間のファイアウォールで、DB リスナーポートと OEM Agent ポートの両方でトラフィックが確実に許可されているようにします。

これらの確認を完了したら、OEM_AGENT アップロードが機能しているかどうかを確認します。OEM_AGENT の前提条件の詳細については、Enterprise Manager Cloud Control 向け Oracle Management Agent を参照してください。

解決方法

RDS for Oracle インスタンスで OEM_AGENT オプションを使用する際の問題をトラブルシューティングするには、これらのログを Amazon CloudWatch にエクスポートした後に OEM エージェントログを確認します。詳細については、Amazon CloudWatch Logs への Oracle ログの発行を参照してください。

OEM コンソールでのターゲットの自動検出で DB インスタンスが表示されない

この問題は、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.    Amazon EC2 インスタンスからポート 4903 の OMS ホストに対して Telnet コマンドを実行します。

telnet OMS_HOST 4903

3.    OEM ホストで OMS サーバーから DB インスタンスへの Telnet テストを実行して、接続を検証します。

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 ホストがエージェントポートにアクセスできるセキュリティグループに属していることを確認します。詳細については、Enterprise Manager Cloud Control 向け Oracle Management Agent を参照してください。

エラー: 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 について必要な設定の詳細については、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_versions 出力に、オプショングループで使用されている OEM_AGENT バージョンが含まれていない場合は、コマンド出力に示されている OEM_AGENT バージョンをインストールします。

このエラーは、OMS 側の必要なパッチとプラグインが不足していることを示している可能性もあります。OMS が正しく設定され、必要なパッチがすべて適用されているようにしてください。

エージェントがブロックされている場合は、OEM コンソールで次の操作を実行してエージェントを再同期します。

  1. Cloud Control コンソールにサインインします。
  2. [Setup] (設定)、[Manage Cloud Control] (Cloud Control を管理)、[Agents] (Agent) の順に選択します。
  3. 再同期するエージェントを選択します。
  4. [Agent] (エージェント) ドロップダウンリストから [Resynchronization...] (再同期...) を選択します。
  5. [Unblock agent on successful completion of agent resynchronization] (エージェントの再同期が正常に完了したら、エージェントのブロックを解除) を選択します。
  6. [Continue] (続行) を選択します。
    再同期オペレーションはジョブとして送信されます。
  7. ジョブ名のリンクを選択して、再同期ジョブのステータスを確認します。

ジョブが正常に完了したら、再同期したエージェントとモニタリング対象のすべてのターゲットのステータスを確認します。

注: OEM モニタリングを効果的に機能させるには、DNS サーバーが継続的に機能している必要があります。Agent はハートビートを送信し、ステータス更新を 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 Release 4 (13.4.0.0.0) を使用して、Oracle Management Agent 13c Release 4 (13.4.0.0.0) のみをデプロイできます。OMS が 13c Release 4 にアップグレードされた後は、旧バージョンの Oracle Management Agent (13.2 および 13.3) の新規デプロイはサポートされません。詳細については、Before You Begin Installing an Enterprise Manager System を参照してください。

エラー: エージェントポートが 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 インスタンスのルートファイルシステムは、内部オートメーションシステムによってメンテナンスされます。このオートメーションシステムは、ルートファイルシステムを定期的にモニタリングし、ファイルシステムに十分なスペースが確実にあるようにします。ストレージ不足が検出されると、オートメーションシステムはルートファイルシステムに十分な領域を追加します。ルートファイルシステムの領域はオートメーションシステムが管理するため、このエラーは無視してかまいません。