共有メモリアドレスを特定する方法 (Linux環境)

セットアップ資材のスクリプト「get_sga_address.sh」を使用しないで共有メモリアドレスを特定する方法を紹介します。 スクリプト「get_sga_address.sh」の使用方法は製品のインストールガイドを参照してください。

1つの監視対象DBに、1つのインスタンスがある場合

1つの監視対象DBに1つのインスタンスがある場合、key値が「0x00000000」以外のキーが1つ表示されますので、正しい共有メモリアドレス(IPC Key)を特定できます。

  • IPC Keyを確認します。

    ipcs -m
    
    実行例)
    ------ Shared Memory Segments ------
    Key    shmid    owner    perms    bytes    nattch    status
    0x00000000 3702785    root    644    80    2
    ...
    0x00000000 4751378    oracle    640    4096    0
    0x992513cc 4784147    oracle    640    4096    0 <--監視対象の共有メモリアドレス
    

1つの監視対象DBに、複数のインスタンスがある場合

1つの監視対象DBに複数のインスタンスがある場合、正しいIPC Key値を特定する必要があります。 ここでは、oradebugを使用してIPC Keyを特定する方法を紹介します。

  • IPC Keyを確認します。(MaxGaugeOSユーザと同じ結果が表示されることを確認)

    ipcs -m
    
    実行例)
    ------ Shared Memory Segments ------
    Key    shmid    owner    perms    bytes    nattch    status
    0x00000000 3702785    root    644    80    2
    ...
    0x00000000 4751378    oracle    640    4096    0
    0x992513cc 4784147    oracle    640    4096    0 <--監視対象の共有メモリアドレス?
    0x222313rt 4988881    oracle    640    4096    0 <--監視対象の共有メモリアドレス?
    
  • 下記コマンドを実行して、Oracleのトレースファイルを作成します。

    注釈

    oracleのOSユーザとMaxGaugeのOSユーザの$ORACLE_SIDが異なる場合、「export ORACLE_SID={MaxGaugeユーザの$ORACLE_SID}」を実行してから、下記を実行します。

    sqlplus / as sysdba
    
    SET HEADING OFF TIME OFF TIMING OFF ECHO OFF PAGESIZE 0 TRIMSPOOL ON FEEDBACK OFF
    oradebug setmypid
    oradebug ipc
    oradebug tracefile_name
    -->トレースファイルの出力先を確認する
    
    
    実行例)
    sqlplus / as sysdba
    SYS> oradebug setmypid
    Statement processed.
    SYS> oradebug ipc
    Information written to trace file.
    SYS> oradebug tracefile name
    /u01/app/oracle/admin/orcl/udump/orcl_ora_00000.trc
    
  • 作成したトレースファイルを確認します。

    skgm overhead 区間の shmid値 を確認し、shmidに該当する IPC key値 を「ipcs -m」コマンド結果と照らして確認します。

    下記例では、shmid「4784147」のIPC Key「0x992513cc」が監視対象インスタンスの共有メモリアドレスと特定します。

    実行例)
    cat /u01/app/oracle/admin/orcl/udump/orcl_ora_00000.trc
    
    Area #5 `skgm overhead' containing Subareas 5-5
      Total size 0000000000003000 Minimum Subarea size 00000000
       Area  Subarea    Shmid      Stable Addr      Actual Addr
          5        5  4784147  0x00000092000000 0x00000092000000