16.6.10 Oracle Connection Managerログの分析

Oracle Connection Manager (CMAN)は、指定されたログ・ディレクトリにcman_alias.logファイルを生成します。このログ・ファイルには、CMANリスナー、ゲートウェイ、CMADMINプロセスおよびアラートに関連するメッセージが記録されます。

アラート用ログ・エントリには、重大なエラーが時系列にリストされます。重大なエラーをロギングするだけでなく、インスタンスの起動と停止に関する情報も記録されています。また、セッションの開始と終了時におけるすべての構成パラメータの値も記録されます。

各ログ・エントリは、タイムスタンプとイベントで構成されます。イベントを次のカテゴリにロギングするようにcman.oraファイルを構成できます。

  • 初期化と終了

  • メモリー操作

  • 接続処理

  • プロセス管理

  • 登録とロード更新

  • CMADMIN起動キュー関連のイベント

  • ゲートウェイのタイムアウト

  • コマンド処理

  • 接続制御ブロックに関連付けられたイベント

SET EVENTコマンドを使用して、ロギングするイベントのタイプを指定します。

表16-17 CMADMINおよびゲートウェイ・ログのエントリの詳細

ログ・エントリ イベント 説明

CMADMIN

Failed to get procedure ID

CMADMINに接続されていたCMCTLセッションが切断されました。

CMADMIN

GMON attributes validated

情報提供メッセージです。CMADMINの起動に必要なパラメータが正しく指定されています。

CMADMIN

Invalid connect data

未知のクライアントがCMADMINに接続しようとしています。サービス拒否攻撃と考えられます。

CMADMIN

No connect data

未知のクライアントがCMADMINに接続しようとしています。サービス拒否攻撃と考えられます。

Gateway

Connected to monitor

ゲートウェイがCMADMINに接続されました。

Gateway

Housekeeping

情報提供メッセージです。ゲートウェイ・プロセスの内部ハウスキーピングが適切に行われています。ゲートウェイ・プロセスはCMADMINプロセスに正しく接続されています。

Gateway

Idle timeout

cman.oraファイルに指定された時間より長い間アイドル状態が続いたため、接続が切断されています。

Gateway

Out of connection control block (CCB)

CMADMINが接続要求を処理できません。次の2つの理由が考えられます。

  • CMADMINとリスナー間のロード更新が不完全

  • CMADMINに直接接続しようとしている侵入者がいる(サービス拒否攻撃の可能性)

Gateway

Session timeout

cman.oraファイルに指定されたセッション・タイムアウト時間を超過したため、接続が切断されています。

Gateway

State change from Empty to Init

ゲートウェイからの状態変更メッセージ。Init状態になると、ゲートウェイは内部データの初期化を開始します。

Gateway

State change from Init to Ready

ゲートウェイからの状態変更メッセージ。ゲートウェイはReady状態になると、クライアントからの接続を受け入れます。

例16-11 CMADMINログ・メッセージの例

-------------------------------
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:40)(EVENT=Parameter list)
    (listener_address=(address=(protocol=tcp)(host=sales1)(port=1574)))
    (aso_authentication_filter=OFF)
    (connection_statistics=ON)
    (log_directory=/home/user/network/admin/log)
    (log_level=support)
    (max_connections=256)
    (idle_timeout=5)
    (inbound_connect_timeout=0)
    (session_timeout=20)
    (outbound_connect_timeout=0)
    (max_gateway_processes=1)
    (min_gateway_processes=1)
    (trace_directory=/home/user/network/admin/log)
    (trace_level=off)
    (trace_timestamp=OFF)
    (trace_filelen=0)
    (trace_fileno=0)
)
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:40)(EVENT=Shared Memory Size)
(BYTES=82524))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:40)(EVENT=GMON Attributes validated)
(Type=Information))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:40)(EVENT=NS Listen Successful)
((ADDRESS=(PROTOCOL=tcp)(HOST=sales1)(PORT=1574))))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:44)(EVENT=Received command)
(CMD=version))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:44)(EVENT=Received command)
(CMD=show status))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:44)(EVENT=Failed to get procedure id))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:49:15)(EVENT=Failed to get procedure id))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:49:46)(EVENT=Failed to get procedure id))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:49:50)(EVENT=Received command)
(CMD=probe monitor))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:49:50)(EVENT=Received command)
(CMD=shutdown normal))
-------------------------------

例16-12 ゲートウェイ・ログ・メッセージの例

-------------------------------
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:41)(EVENT=NS Initialised))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:41)(EVENT=Memory Allocated)
(BYTES=1024))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:41)(EVENT=NCR Initialised))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:41)(EVENT=Connected to Monitor))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:41)(EVENT=State Change from Empty to 
Init))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:41)(EVENT=Memory Allocated)
(BYTES=251904))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:41)(EVENT=Memory Allocated)
(BYTES=2048))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:41)(EVENT=CCB Initialised))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:41)(EVENT=Started Listening))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:41)(EVENT=State Change from Init to 
Ready))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:46:47)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:06)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:06)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:07)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:12)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:13)(EVENT=Idle Timeout)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:17)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:22)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:25)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:25)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:27)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:30)(EVENT=Idle Timeout)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:32)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:37)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:42)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:42)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:42)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:47)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:52)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:48:57)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:49:02)(EVENT=Session Timeout)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=01-MAY-2024 08:49:02)(EVENT=Housekeeping))
-------------------------------