プライマリ・コンテンツに移動
Oracle® Database Net Services管理者ガイド
12cリリース1 (12.1)
B71288-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 Oracle Connection Managerの構成

Oracle Connection Managerは、データベースまたはプロキシ・サーバーに接続要求を転送するプロキシ・サーバーです。これはセッション・レベルで動作します。通常、データベース・サーバーおよびクライアント・コンピュータとは別のコンピュータに常駐しています。Oracle Connection Managerは、Oracle Database 12c Enterprise Editionをインストールすると使用できるようになります。これはクライアント・ディスク上のカスタム・インストール・オプションです。

Oracle Connection Managerの主要機能は次のとおりです。

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


関連項目:


cman.oraファイルについて

cman.oraファイルのパラメータを設定して、Oracle Connection Managerをホストするコンピュータを構成します。cman.oraファイルは、Oracle Connection Managerをホストするコンピュータ上のORACLE_HOME/network/adminディレクトリにあります。cman.oraファイルが存在しないと、Oracle Connection Managerは起動しません。このファイルには次のコンポーネントが含まれています。

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

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

  • パラメータ・リスト

各Oracle Connection Manager構成は、1つの名前-値(NV)文字列内にカプセル化されており、その文字列は、前述のコンポーネントで構成されています。

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

クライアントとOracle Connection Manager制御ユーティリティ(CMCTL)の2つの接続に対して複数のルールを指定できます。変更を行う場合、次のガイドラインが適用されます。

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

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

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


注意:

Oracle Connection ManagerはIPv6アドレッシングをサポートしています。「IPv4およびIPv6のブリッジとしてのOracle Connection Managerの使用」を参照してください。

例10-1に、CMAN1というOracle Connection Managerの構成エントリが含まれるcman.oraファイルを示します。

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

CMAN1=
  (CONFIGURATION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=proxysvr)(PORT=1521))
    (RULE_LIST=
      (RULE=(SRC=192.0.2.32/24)(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)))
       

例10-1は、次のルールを示しています。

  • 例の最初のルールでは、次のパラメータを設定しています。

    • SRC=192.0.2.32/24は、クライアント接続用です。クライアントのIPアドレスまたはソースを指定します。

    • DST=sales-serverは接続先のホスト名を示しています。ACTパラメータは、actionの略で、受入れ、拒否または削除を示しています。ACTION_LISTパラメータは、それが受け入れられた場合の接続の属性を設定し、接続に関するデフォルトのパラメータ設定を、接続ベースでオーバーライドできます。

  • 2番目のルールでは、次のパラメータを設定しています。

    • SRC=192.0.2.32およびDST=proxysvrは同じサーバーを表し、Oracle Connection ManagerとCMCTLは同じコンピュータ上にある必要があることを示しています。

表10-1は、cman.oraファイルのルール・レベル・パラメータを説明します。

表10-1 cman.oraファイルのルール・レベル・パラメータ

パラメータ 説明

SRC

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

DST

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

SRV

初期化パラメータ・ファイル(init.ora)のSERVICE_NAMESパラメータから取得したOracleデータベースのサービス名。

サービス名は、リスナーへの接続時に、接続記述子の一部としてクライアントによって指定されます。このサービス名は、ルール・リストに指定されたサービス名と比較されます。

ACT

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


複数のルールを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リファレンス』を参照してください。

Oracle Connection Managerの構成

Oracle Connection Managerを構成するには、プロキシ・サーバー、データベースおよびクライアントを構成する必要があります。次のタスクでは、一般的な手順について説明します。

タスク1   Oracle Connection Managerコンピュータでcman.oraファイルを構成します。

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

「Oracle Connection Managerホストのcman.oraファイルの構成」では、このタスクの実行方法について説明しています。

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

「Oracle Connection Managerのクライアントの構成」では、このタスクの実行方法について説明しています。

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

「Oracle Connection Managerを使用する場合のOracle Databaseサーバーの構成」では、このタスクの実行方法について説明しています。

Oracle Connection Managerホストのcman.oraファイルの構成

cman.oraファイルは手動で変更します。次の手順では、sqlnet.oraファイルにパラメータを設定する方法について説明します。

  1. ORACLE_HOME/network/adminディレクトリのcman.oraファイルにナビゲートします。

  2. テキスト・エディタを使用してcman.oraファイルを開きます。

  3. リスニング・エンドポイント(ADDRESS)を構成します。

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

    Oracle Connection Managerのリスナーは、常にTCP/IPプロトコルでリスニングします。

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

    注意:

    Oracle Connection Managerは、TCP/IP(バージョン4およびバージョン6)などのプロトコルを使用してデータベースに接続できます。プロトコルTCPSはサポートされていません。

  4. アクセス制御ルール・リスト(RULE_LIST)を構成します。

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

  5. パラメータ・リスト(PARAMETER_LIST)を構成します。

    パラメータ・リストにより、Oracle Connection Managerの属性を設定します。パラメータの形式は次のとおりです。

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

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

アクセス制御の有効化

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)))
    

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. Oracle Connection Managerのポートとプロトコルを指定します。Oracle Connection Managerのデフォルトのポート番号は1521、プロトコルはTCP/IPです。


    関連項目:

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

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

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

  10. 「サービス名」フィールドにサービス名を入力し、接続タイプを選択します。


    関連項目:

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

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


    注意:

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

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

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

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

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

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

Oracle Connection Managerで使用するためのサービス登録の構成

データベース・サーバーがOracle Connection Managerと通信できるようにするには、tnsnames.oraファイルにサービス名のエントリが含まれ、初期化パラメータ・ファイル(init.ora)に、Oracle Connection Managerのリスニング・アドレスを指定する記述子が含まれている必要があります。次の手順では、サービス登録を構成する方法について説明します。

  1. tnsnames.oraファイルのサービス名エントリへのOracle Connection Manager別名を次のように解決します。

    cman_listener_address =
      (DESCRIPTION=
        (ADDRESS_LIST=
          (ADDRESS=(PROTOCL=tcp) (HOST=proxy_server_name)( PORT=1521))))
    

    たとえば、別名listeners_cmanは、tnsnames.oraファイルの次のエントリに解決されます。

    listener_cman=
     (DESCRIPTION=
      (ADDRESS_LIST=
       (ADDRESS=(PROTOCOL=tcp)(HOST=proxyserver1)(PORT=1521))))
    
  2. init.oraファイルのOracle Connection Managerの別名を次のように指定します。この別名は、手順1のtnsnames.oraファイルで指定した別名です。

    REMOTE_LISTENER=cman_listener_address
    

    このアドレスはTCP、ポート1521であり、データベース・サーバーのTCP、ポート1521のデフォルト・ローカル・リスニング・アドレスではないため、別名を指定する必要があります。

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

    REMOTE_LISTENER=listener_cman
    
  3. 初期化パラメータ・ファイルがOracle Connection Managerの別名で構成されると、リスナー登録(LREG)プロセスは、Oracle Connection Managerリスナーとしてデータベース情報を登録できます。変更を登録するには、次のコマンドを使用します。

    SQL> ALTER SYSTEM REGISTER
    

Oracle Connection Managerのセッションの多重化の有効化

Connection Managerでセッションの多重化を利用できるようにするには、次に示すように初期化パラメータ・ファイル(init.ora)のDISPATCHERSパラメータに、属性PROTOCOLおよびMULTIPLEXを設定します。

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

表10-2では、多重化の異なるレベルを設定するパラメータを示しています

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

属性 説明

PROTOCOL

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

MULTIPLEX

このパラメータは、次のようにセッションの多重化に使用します。

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

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

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

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



関連項目:


IPv4およびIPv6のブリッジとしてのOracle Connection Managerの使用

一部のデータベース接続環境では、クライアントとデータベースが異なるバージョンのIPプロトコルを使用できるため、完全な接続性が存在しません。この場合、接続に少なくとも2つのホップが異なるバージョンのIPプロトコルを使用しています。たとえば、要求は、IPv4ソースからIPv6宛先、IPv6ソースからIPv4宛先、またはIPv4ネットワークを通じてIPv6からIPv6に渡されます。

IPv4IPv6の間のネットワーク・ブリッジとしてOracle Connection Managerを使用できます。Oracle Connection Managerがブリッジとして機能するには、少なくとも1つのIPv4インタフェースと少なくとも1つのIPv6インタフェースで構成されたデュアル・スタック・ホスト上で実行する必要があります。

IPv6アドレスに基づいてフィルタにかけるには、Oracle Connection Managerのフィルタリング機能を使用します。ルールは、完全なIPアドレスまたは部分的なIPアドレスに基づいて設定できます。図10-1は、IPv6アドレスの形式を示しています。

図10-1 IPv6アドレスの形式

図10-1の説明が続きます
「図10-1 IPv6アドレスの形式」の説明

図の上部の数字は、アドレス内のビット数を示しています。IPv6アドレスの各16進文字は、4ビットを表します。ビット4から16はアドレスの最上位レベルのアグリゲータ識別子(TLA ID)部分です。ビット25から49は次のレベルのアグリゲータ識別子(NLA ID)部分です。

たとえば、アドレス2001:0db8::203:BAFF:FE0F:C74Bでは、最初の4つの16進文字(2001)のバイナリ表記は次のようになります。

0010000000000001

したがって、アドレス内の先頭の3ビットは001になります。アドレスのTLA ID部分は0000000000001になります。

次の手順では、IPv6アドレス用のルール・フィルタを作成する方法について説明します。

  1. ORACLE_HOME/network/adminディレクトリにあるcman.oraファイルにナビゲートします。

  2. テキスト・エディタを使用してcman.oraファイルを開きます。

  3. IPv6アドレス形式に基づいて、RULE_LISTRULEを作成します。

    たとえば、ソース・ホストがアドレス2001:0db8::203:BAFF:FE0F:C74BのIPv6専用ホストで、宛先がSALESL1593という名前のIPv4専用ホストであるとします。次のいずれかのルールを作成して、Oracle Connection ManagerをIPv6とIPv4の間のブリッジとして構成します。

    ルールのタイプ 説明
    サブネットIDに基づいたフィルタ フィルタリングはサブネットID以下の64ビットに基づいています。
    (RULE = (SRC = 2001:0db8::203:BAFF:FE0F:C74B/64)
      (DST = SALESL1593)
      (SRV = SALES)
      (ACT = ACCEPT)
      (ACTION_LIST = (AUT=ON)(MOCT=10)(MIT=30)(CONN_STATE=YES))
    )
    
    NLA IDに基づいたフィルタ フィルタリングはNLA ID以下の48ビットに基づいています。
    (RULE = (SRC = 2001:0db8::203:BAFF:FE0F:C74B/48)
      (DST = SALESL1593)
      (SRV = SALES)
      (ACT = ACCEPT)
      (ACTION_LIST = (AUT=ON)(MOCT=10)(MIT=30)(CONN_STATE=YES))
    )
    
    TLA IDに基づいたフィルタ フィルタリングはTLA ID以下の16ビットに基づいています。
    (RULE = (SRC = 2001:0db8::203:BAFF:FE0F:C74B/16)
      (DST = SALESL1593)
      (SRV = SALES)
      (ACT = ACCEPT)
      (ACTION_LIST = (AUT=ON)(MOCT=10)(MIT=30)(CONN_STATE=YES))
    )
    
    ビット数に基づいたフィルタ フィルタリングはアドレスの先頭の60ビットに基づいています。
    (RULE = (SRC = 2001:0db8::203:BAFF:FE0F:C74B/60)
      (DST = SALESL1593)
      (SRV = SALES)
      (ACT = ACCEPT)
      (ACTION_LIST = (AUT=ON)(MOCT=10)(MIT=30)(CONN_STATE=YES))
    )
    

Oracle Connection Manager制御ユーティリティを使用したOracle Connection Managerの管理

Oracle Connection Manager制御ユーティリティによって、Oracle Connection Managerを管理できます。オペレーティング・システムからコマンドを発行する場合、このユーティリティの基本構文は次のとおりです。

cmctl [command] [argument1 . . . argumentN] [-c instance_name]

前述のコマンドで、-cはOracle Connection Managerのインスタンスを指定しています。パスワードがすでに設定されている場合は、パスワードの入力を求められます。


注意:

コマンドラインでパスワードを指定するオプションがあります。ただし、これにより画面上にパスワードが表示されるため、潜在的なセキュリティ上のリスクがあります。コマンドラインでパスワード・オプション(-p)を使用しないことをお薦めします。

たとえば、次のコマンドは、リスナー、CMADMIN(Connection Manager Administration)およびcman1という名前のインスタンスのゲートウェイ・プロセスを起動します。

cmctl STARTUP -c cman1

CMCTLプロンプトから、Oracle Connection Managerユーティリティ・コマンドを発行することもできます。プロンプトを取得するには、オペレーティング・システムのコマンドラインから引数なしでcmctlを入力します。セキュア・インストール・オプションでOracle Connection Managerをインストールした場合は、ユーティリティによってパスワードが求められることがあります。CMCTLを実行すると、ユーティリティが起動され、CMCTLプロンプトから必要なコマンドを入力できます。CMCTLプロンプトの例を次に示します。

cmctl
CMCTL> STARTUP

注意:

STARTUPコマンドを発行する前に、次の手順に従います。
  • cman.oraファイルを作成します。サンプル・ファイルは、Oracle Connection Managerをインストールした後のORACLE_HOME/network/admin/samplesディレクトリにあります。

  • ADMINISTERコマンドを実行して、起動するインスタンスを選択します。



関連項目:

  • Oracle Connection Managerプロセスの概要については、「Oracle Connection Managerのアーキテクチャの理解」を参照してください。

  • Oracle Connection Manager制御ユーティリティのコマンドの詳細な説明は、『Oracle Database Net Servicesリファレンス』を参照してください。