ヘッダーをスキップ
Oracle Database Net Services管理者ガイド
11g リリース1(11.1)
E05725-04
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

11 Oracle Connection Managerの構成と管理

この章では、Oracle Connection Manager機能の構成方法について説明します。

この章の内容は、次のとおりです。

11.1 Oracle Connection Managerの構成の概要

Oracle Connection Managerはプロキシ・サーバーで、データベース・サーバーまたは他のプロキシ・サーバーへ接続要求を転送する中間的なサーバーです。Oracle Connection Managerには2つの主要機能があります。

セッションの多重化を使用すると、共有サーバーの接続先へのネットワーク接続により、Oracle Connection Managerで複数のクライアント・セッションを素早く集中化できます。

アクセス制御を使用すると、ルールベースの構成を使用して特定のクライアントの要求をフィルタにかけ、フィルタを通過したものを受け入れることができます。

11.2 Oracle Connection Managerの構成

Oracle Connection Managerを構成するには、次の手順に従います。

  1. Oracle Connection Managerコンピュータでcman.oraファイルを構成します。このファイルでは、サーバーのリスニング・エンドポイント、アクセス制御ルールおよびOracle Connection Managerのパフォーマンス・パラメータを指定します。

  2. Oracle Connection Managerのリスナーのプロトコル・アドレスを持つクライアントを構成します。

  3. オプションで、セッションを多重化するデータベース・サーバーを構成します。

この項で説明する項目は、次のとおりです。

11.2.1 Oracle Connection Managerコンピュータの構成


注意:


Oracle Net Managerではcman.oraファイルの構成をサポートしていないため、変更は手動で行う必要があります。

Oracle Connection Managerがインストールされているコンピュータを構成する場合、cman.oraファイルに次の3タイプのパラメータを定義できます。

  • リスニング・エンドポイント(ADDRESS

  • アクセス制御ルール・リスト(RULE_LIST

  • パラメータ・リスト(PARAMETER_LIST

cman.oraファイルは、UNIX上の$ORACLE_HOME/network/adminディレクトリおよびWindows上のORACLE_HOME\network\adminディレクトリに配置されています。例11-1に、CMAN1というOracle Connection Managerの構成エントリが含まれるcman.oraファイルの例を示します。

例11-1 cman.oraファイルの例

CMAN1=
  (CONFIGURATION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=proxysvr)(PORT=1521))
    (RULE_LIST=
      (RULE=(SRC=192.0.2.32/27)(DST=sales-server)(SRV=*)(ACT=accept)
        (ACTION_LIST=(AUT=on)(MCT=120)(MIT=30)))
      (RULE=(SRC=192.0.2.32)(DST=proxysvr)(SRV=cmon)(ACT=accept)))
    (PARAMETER_LIST=
      (MAX_GATEWAY_PROCESSES=8)
      (MIN_GATEWAY_PROCESSSES=3)
      (REMOTE_ADMIN=YES)))

1台のコンピュータで任意の数のOracle Connection Managerをホスティングでき、そのそれぞれの構成エントリがcman.oraに保持されます。このファイルに複数のOracle Connection Managerを定義する場合は、完全修飾ホスト名を1つのみ設定することによって、デフォルトとして割り当てることができます。


関連項目:


この機能とADMINISTERおよびSTARTUPコマンドの詳細は、『Oracle Database Net Servicesリファレンス』を参照してください。

この項で説明する項目は、次のとおりです。

11.2.1.1 リスニング・エンドポイント(ADDRESS)

リスニング・エンドポイントでは、Oracle Connection Managerリスナーのプロトコル・アドレスを指定します。Oracle Connection Managerのモニタリング・プロセスCMONでは、このアドレスを使用してリスナーへのゲートウエイ・プロセスに関する情報を登録します。一方、データベース・サーバーはこのアドレスを使用して、Oracle Connection Managerノードでサービス情報を登録します。

Oracle Connection Managerのリスナーは、常にTCP/IPプロトコルでリスニングします。例11-1に示すアドレスは、TCP/IPのポート1521のデフォルトのアドレスです。

(ADDRESS=(PROTOCOL=tcp)(HOST=proxysvr)(PORT=1521))

注意:


Oracle Connection Managerは、TCP/IPやIPCなどのプロトコルを使用してデータベース・サーバーに接続できます。プロトコルTCPSはサポートされていません。

11.2.1.2 アクセス制御ルール・リスト(RULE_LIST)

アクセス制御ルール・リストではリスナーにより、受入れ、拒否または削除される接続を指定します。

(RULE=(SRC=192.0.2.32/27)(DST=sales-server)(SRV=*)(ACT=accept)
  (ACTION_LIST=(AUT=on)(MCT=120)(MIT=30)))
(RULE=(SRC=192.0.2.32)(DST=proxysvr)(SRV=cmon)(ACT=accept))

例では2つのルールが示されています。最初はクライアント接続用です。2番目はOracle Connection Manager Controlユーティリティ(CMCTL)用です。 最初の例で、src=192.0.2.32/27は、クライアントまたはソースのIPアドレスを示しています。DST=sales-serverは接続先のホスト名を示しています。略称ACTは、actionの略で、受入れ、拒否または削除を示しています。 2番目のルールで、SRC=192.0.2.32およびDST=proxysvrは同じサーバーを表し、Oracle Connection ManagerとCMCTLは同じコンピュータ上にある必要があることを示しています。

最初のルールのパラメータACTION_LISTは、それが受け入れられた場合の接続の属性を設定します。このパラメータでは、接続に関するデフォルトのパラメータ設定を、接続ベースでオーバーライドできます。ACTION_LISTサブパラメータの詳細な定義については、『Oracle Database Net Servicesリファレンス』のOracle Connection Managerパラメータに関する項を参照してください。

クライアントとCMCTLの2つの接続に対して複数のルールを指定できます。


注意:

  • クライアント接続とCMCTL接続に対して、1つ以上のルールを入力する必要があります。どちらか一方を省略すると、省略されたルール・タイプの全接続が拒否されます。

  • CMCTL接続がリモートの場合、cman.oraREMOTE_ADMINパラメータは、指定されたルールと無関係にonに設定する必要があります。

  • cman.oraが存在しないと、Oracle Connection Managerは起動しません。

  • Oracle Connection Managerでは、ワイルドカードをIPアドレスの一部として使用できません。ワイルドカードを使用する場合は、完全なIPアドレスのかわりとして使用してください。たとえば、クライアントのIPアドレスの場合は、(SRC=*)と指定します。

  • Oracle Connection Managerでは、サブネット・アドレスの表記として/nnのみを使用できます。この例の最初のルールに指定されている/27は、左端の27ビットで構成されるサブネット・マスクを示しています。つまり、クライアントIPアドレスの先頭の27ビットのみが、ルール内のIPアドレスと比較されます。


11.2.1.3 パラメータ・リスト(PARAMETER_LIST)

パラメータ・リストによりOracle Connection Managerの属性を設定します。パラメータは、グローバル・レベルとルール・レベルの2つの形式を受け取ります。

グローバル・パラメータは、ルール・レベルのパラメータでオーバーライドされないかぎり、すべてのOracle Connection Manager接続に適用されます。グローバル・パラメータのデフォルト設定を変更するには、そのパラメータをPARAMETER_LISTに許容値と一緒に入力します。

ルール・レベルのパラメータは、RULE_LISTACTION_LISTセクションで有効になり、そのルールによって指定された接続にのみ適用されます。これはグローバルな対象にオーバーライドします。


関連項目:


パラメータの完全なリストおよびそのデフォルト値と許容値については、『Oracle Database Net Servicesリファレンス』を参照してください。

11.2.2 Oracle Connection Managerを使用する場合のクライアントの構成

Oracle Connection Managerを使用してクライアントをデータベース・サーバーにルーティングするには、Oracle Connection Managerのプロトコル・アドレスを指定した接続記述子tnsnames.oraファイルを構成します。このアドレスによりクライアントは、Oracle Connection Managerコンピュータに接続することが可能になります。接続記述子は次のようになります。

sales=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=tcp)
      (HOST=cman-pc)
      (PORT=1521))
    (CONNECT_DATA=
      (SERVICE_NAME=example.com)))

Oracle Connection Managerのプロトコル・アドレスの構成は次の手順に従います。

  1. Oracle Net Managerを起動します。

  2. ナビゲータ・ペインで、「ディレクトリ」または「ローカル」「サービス・ネーミング」を展開します。

  3. ツールバーで「+」をクリックするか、「編集」「作成」を選択します。

    「Netサービス名ウィザード」の「ようこそ」ページが表示されます。

  4. 「ネット・サービス名」フィールドに任意の名前を入力します。

  5. 「次へ」をクリックします。

    「プロトコル」ページが表示されます。

  6. Oracle Connection Managerがリスニングするように構成されているプロトコルを選択します。デフォルトのプロトコルはTCP/IPです。

  7. 「次へ」をクリックします。

    「プロトコル設定」ページが表示されます。

  8. 提供されたフィールドで選択したプロトコルに対して適切なパラメータ情報を入力します。TCP/IPを使用する場合、デフォルトで使用するポートは1521です。


    関連項目:


    プロトコル・パラメータの設定については、『Oracle Database Net Servicesリファレンス』を参照してください。

  9. 「次へ」をクリックします。

    「サービス」ページが表示されます。

  10. リリースを選択して、接続先データベース・サービスの名前を入力します。

    宛先サービスがOracle Database 11g、Oracle9iまたはOracle8iデータベースの場合は、Oracle8i以降を選択し、「サービス名」フィールドにサービス名を入力します。宛先サービスがOracle8データベースの場合は、Oracle8以前を選択し、インスタンスのOracleシステム識別子(SID)「データベースSID」フィールドに入力します。


    関連項目:


    サービス名文字列の設定については、「接続記述子の理解」を参照してください。

  11. 「次へ」をクリックします。


    注意:


    この時点では接続のテストはできないため、「テスト」はクリックしないでください。

  12. 「終了」をクリックして構成を保存し、「Netサービス名ウィザード」を終了します。

    新規のネット・サービス名とOracle Connection Managerプロトコル・アドレスが「サービス・ネーミング」フォルダに追加されます。

11.2.3 Oracle Connection Managerを使用する場合のOracle Databaseサーバーの構成

データベース・サーバーの構成には2つのプロセスがあり、リモートからOracle Connection Managerでデータベース情報を登録し、オプションでサーバーの多重化を構成します。

この項で説明する項目は、次のとおりです。

11.2.3.1 サービス登録の構成

データベース・サーバーがOracle Connection Managerと通信できるようにするには、初期化パラメータ・ファイルinit.oraに、Oracle Connection Managerのリスニング・アドレスを指定する記述子が含まれている必要があります。このアドレスは、TCPのポート1521であり、TCPのデフォルトのローカル・リスニング・アドレスのポート1521ではないため、REMOTE_LISTENERパラメータを使用して、別名を指定する必要があります。

REMOTE_LISTENER=cman_listener_alias


別名が指定されていると、tnsnames.oraファイルのサービス名エントリを使用して解決されます。

たとえば、proxyserver1にあるOracle Connection Managerリスナーの別名は、init.oraファイル上で次のようになっている場合があります。

REMOTE_LISTENER=listener_cman

次に別名listeners_cmanは、tnsnames.oraファイル上の次のエントリに変換されます。

listener_cman=
 (DESCRIPTION=
  (ADDRESS_LIST=
   (ADDRESS=(PROTOCOL=tcp)(HOST=proxyserver1)(PORT=1521))))

初期化パラメータ・ファイルがOracle Connection Managerのリスニング・アドレスで構成されると、PMONプロセス(データベース・インスタンス・バックグラウンド・プロセス)は、Oracle Connection Managerリスナーとしてデータベース情報を登録できます。この登録は、プロキシ・ノードで起こる状況に類似しています。その場合は、CMADMIN(Connection Manager Administration)プロセス(Oracle Connection Managerバックグラウンド・プロセス)で、Oracle Connection Managerのリスナーとしてプロキシ・プロセスの場所とロードを登録します。

11.2.3.2 セッション多重化の構成

Connection Managerで多重化を利用できるようにするには、初期化パラメータ・ファイルのDISPATCHERSパラメータに、属性PROTOCOLおよびMULTIPLEXを設定します。

DISPATCHERS="(PROTOCOL=tcp)(MULTIPLEX=on)"

関連項目:


11.3 Oracle Connection Managerの機能の有効化

この項で説明する項目は、次のとおりです。

1番目の機能は、初期化パラメータ・ファイルのパラメータDISPATCHERSを使用し、2番目の機能は、cman.oraファイルのパラメータRULE_LISTを使用して有効化されます。

11.3.1 セッションの多重化の有効化

属性PROTOCOLおよびMULTIPLEXが初期化パラメータ・ファイルのパラメータDISPATCHERSに追加された後、MULTIPLEXonまたは同等の値に設定されていることが確認されるとセッションの多重化が可能になります。

表11-1に示すように、異なるレベルの多重化を設定できます。

表11-1 セッションを多重化するパラメータ

属性 説明

PROTOCOL(PROまたはPROT)

ディスパッチャがリスニング・エンドポイントを生成するときに使用するネットワーク・プロトコルです。

MULTIPLEX(MULまたはMULT)

セッションの多重化の有効化に使用します。

1onyestrueまたはbothが指定された場合は、受信および送信の両方のネットワーク・セッションの多重化が有効となります。

inが指定された場合は、クライアントからの受信ネットワーク・セッションの多重化が有効となります。

outが指定された場合は、送信ネットワーク・セッションの多重化が有効となります。

0(ゼロ)、nooffまたはfalseが指定された場合は、受信および送信両方のネットワーク・セッションの多重化が無効となります。



注意:


DISPATCHERSパラメータは、Database Configuration Assistantを使用して構成できます。

11.3.2 アクセス制御の有効化

「Oracle Connection Managerコンピュータの構成」の説明のとおり、TCP/IP環境で指定されたデータベース・サーバーへのクライアント・アクセスを制御するには、RULE_LISTを使用できます。このパラメータでフィルタリング・ルールを入力し、データベース・サーバーへの特定のクライアント・アクセスを許可または制限できます。

アクセス制御を構成するには次の手順に従います。

  1. cman.oraファイルがない場合は手動で作成します。

  2. 次の形式を使用して、RULE_LISTおよびそのサブパラメータを追加します。

           (RULE_LIST=
            (RULE=(SRC=source_host)
                  (DST=destination_host)
                  (SRV=service)
                  (ACT=accept | reject | drop)))
    
  3. 必要に応じて、表11-2で説明されている各ルールに次のパラメータを追加します。

表11-2 ルール・レベル・パラメータ

パラメータ 説明

SRC

ソースのホスト名またはクライアントのIPアドレスを指定します。 IPアドレスはサブネットで、192.0.2.62/24などで指定できます。

DST

接続先のホスト名またはデータベース・サーバーのIPアドレスを指定します。 IPアドレスはサブネットで、192.0.2.62/24などで指定できます。

SRV

Oracle Database 11g、Oracle9iまたはOracle8iデータベースのサーバー名(初期化パラメータ・ファイルのSERVICE_NAMEパラメータから取得)を指定します。

ACT

前述の3つのパラメータに基づいて、受信要求の受入れ、拒否または削除を指定します。



関連項目:


Oracle Connection Managerパラメータのデフォルト値と許容値は、『Oracle Database Net Servicesリファレンス』を参照してください。

複数のルールをRULE_LISTに定義できます。最初に適合したRULEのアクション(ACT)が接続要求に適用されます。ルールが定義されていない場合はすべての接続が受け入れられます。

次の例では、コンピュータclient1-pcは、サービスsales.us.example.comへのアクセスが拒否されますが、クライアント192.0.2.45はサービスdb1へのアクセスが許可されます。

(RULE_LIST=
  (RULE=(SRC=client1-pc)(DST=sales-server)(SRV=sales.us.example.com)(ACT=reject))
  (RULE=(SRC=192.0.2.45)(DST=192.0.2.200)(SRV=db1)(ACT=accept)))
 

関連項目:


Oracle Connection Managerパラメータの詳細は、『Oracle Database Net Servicesリファレンス』を参照してください。

11.4 cman.oraのOracle9iからOracle Database 11gへの移行

Oracle9icman.oraファイルをOracle Database 11gに移行する場合は、cmmigrツールを使用します。このツールの構文は次のとおりです。

cmmigr [cman.ora_location]

ファイルの場所の指定はオプションです。これを省略した場合、cmmigrツールはTNS_ADMINディレクトリでこのファイルを検索し、次に$ORACLE_HOME/network/admin内を検索します。cmmigrを実行すると、Oracle9icman.oraファイルがcman.bakという名前に変更され、Oracle Database 11gファイルにcman.oraという名前を付けます。このツールでは、Oracle9iのファイルに含まれる4つのセクションのうち、3つのセクションが移行されます。

表11-3では、cmmigrで使用されるメッセージを示しています。

表11-3 cmmigrメッセージ

メッセージ 説明

1.4140-「移行は正常に完了しました。」

このメッセージは、cman.oraが正常に移行された場合に表示されます。

2.4141-「CMAN.ORAファイルが見つかりません。」

このメッセージは、指定したファイルの場所が正しくない場合に表示されます。

3.4142-「CMAN.ORAファイルの形式が無効です。」

このメッセージは、ファイルの形式がcmmigrで解読できない場合に表示されます。

4.4143-「新しいCMAN.ORAファイルの書込みができません。」

 


5.4144-「移行するものがありません。」

このメッセージは、ファイル内に移行可能なものが見つからなかった場合に表示されます。