Oracle Connection Managerは、データベースまたはプロキシ・サーバーに接続要求を転送するプロキシ・サーバーです。これはセッション・レベルで動作します。通常、データベース・サーバーおよびクライアント・コンピュータとは別のコンピュータに常駐しています。Oracle Connection Managerは、Oracle Database 11g Enterprise Editionをインストールすると使用できるようになります。これはクライアント・ディスク上のカスタム・インストール・オプションです。
Oracle Connection Managerの主要機能は次のとおりです。
アクセス制御: ルールベースの構成を使用してユーザーが指定したクライアント要求をフィルタにかけ、フィルタを通過したものを受け入れます。
セッションの多重化: 共有サーバーの接続先へのネットワーク接続により、複数のクライアント・セッションを集中化します。
この章では、Oracle Connection Manager機能の構成方法について説明します。この章の内容は、次のとおりです。
関連項目:
|
Oracle Connection Managerを構成するには、プロキシ・サーバー、データベースおよびクライアントを構成する必要があります。次のタスクでは、一般的な手順について説明します。
cman.ora
ファイルでは、サーバーのリスニング・エンドポイント、アクセス制御ルールおよびOracle Connection Managerのパフォーマンス・パラメータを指定します。
「Oracle Connection Managerホストのcman.oraファイルの構成」では、このタスクの実行方法について説明しています。
「Oracle Connection Managerのクライアントの構成」では、このタスクの実行方法について説明しています。
「Oracle Connection Managerを使用する場合のOracle Databaseサーバーの構成」では、このタスクの実行方法について説明しています。
cman.ora
ファイルのパラメータを設定して、Oracle Connection Managerをホストするコンピュータを構成します。このファイルは、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つのみ設定することによって、デフォルトとして割り当てることができます。
cman.ora
ファイルは手動で変更します。クライアントとOracle Connection Manager制御ユーティリティ(CMCTL)の2つの接続に対して複数のルールを指定できます。変更を行う場合、次のガイドラインが適用されます。
クライアント接続とCMCTL接続に対して、1つ以上のルールを入力する必要があります。ルールを省略すると、省略されたルール・タイプの全接続が拒否されます。
Oracle Connection Managerでは、ワイルドカードをIPアドレスの一部として使用できません。ワイルドカードを使用する場合は、完全なIPアドレスのかわりとして使用してください。たとえば、クライアントのIPアドレスの場合は、(SRC=*
)と指定します。
Oracle Connection Managerでは、サブネット・アドレスの表記として/nn
のみを使用できます。例10-1の最初のルールでは、/27
は、左端の27ビットで構成されるサブネット・マスクを示しています。クライアントIPアドレスの先頭の27ビットのみが、ルール内のIPアドレスと比較されます。
注意: Oracle Connection ManagerはIPv6アドレッシングをサポートしています。「IPv4およびIPv6のブリッジとしてのOracle Connection Managerの構成」を参照してください。 |
cman.ora
ファイルでパラメータを設定するには、次の手順に従います。
ORACLE_HOME/network/adminディレクトリのcman.ora
ファイルにナビゲートします。
テキスト・エディタを使用してcman.ora
ファイルを開きます。
例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.168.2.32/27)(DST=sales-server)(SRV=*)(ACT=accept) (ACTION_LIST=(AUT=on)(MCT=120)(MIT=30))) (RULE=(SRC=192.168.2.32)(DST=proxysvr)(SRV=cmon)(ACT=accept))) (PARAMETER_LIST= (MAX_GATEWAY_PROCESSES=8) (MIN_GATEWAY_PROCESSSES=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はサポートされていません。 |
アクセス制御ルール・リスト(RULE_LIST
)を構成します。
アクセス制御ルール・リストではリスナーにより、受入れ、拒否または削除される接続を指定します。例10-1は、次のルールを示しています。
例の最初のルールでは、次のパラメータを設定しています。
2番目のルールでは、次のパラメータを設定しています。
SRC=192.168.2.32
およびDST=proxysvr
は同じサーバーを表し、Oracle Connection ManagerとCMCTLは同じコンピュータ上にある必要があることを示しています。
パラメータ・リスト(PARAMETER_LIST
)を構成します。
パラメータ・リストにより、Oracle Connection Managerの属性を設定します。パラメータの形式は次のとおりです。
グローバル・パラメータの場合、ルール・レベルのパラメータでオーバーライドされないかぎり、すべてのOracle Connection Manager接続に適用されます。グローバル・パラメータのデフォルト設定を変更するには、そのパラメータをPARAMETER_LIST
に許容値と一緒に入力します。
ルール・レベルのパラメータがRULE_LISTのACTION_LIST
セクションで有効になっている場合、そのルールによって指定された接続にのみ適用されます。これはグローバルな対象にオーバーライドします。
TCP/IP環境で指定されたデータベース・サーバーへのクライアント・アクセスを制御するには、RULE_LIST
パラメータを使用します。このパラメータでフィルタリング・ルールを入力し、データベース・サーバーへの特定のクライアント・アクセスを許可または制限できます。
アクセス制御を構成するには、次の手順に従います。
テキスト・エディタを使用してcman.ora
ファイルを開きます。
次の形式を使用して、RULE_LIST
パラメータを更新します。
(RULE_LIST= (RULE=(SRC=source_host
) (DST=destination_host
) (SRV=service
) (ACT=accept | reject | drop)))
表10-1では、パラメータを説明します。
複数のルールをRULE_LIST
に定義できます。最初に適合したRULE
のアクション(ACT
)が接続要求に適用されます。ルールが定義されていない場合はすべての接続が受け入れられます。
次の例では、クライアント・コンピュータclient1-pc
は、サービスsales.us.example.com
へのアクセスが拒否されますが、クライアント192.168.2.45
はサービスdb1
へのアクセスが許可されます。
(RULE_LIST= (RULE=(SRC=client1-pc)(DST=sales-server)(SRV=sales.us.example.com)(ACT=reject)) (RULE=(SRC=192.168.2.45)(DST=192.168.2.200)(SRV=db1)(ACT=accept)))
関連項目: Oracle Connection Managerパラメータの詳細は、『Oracle Database Net Servicesリファレンス』を参照してください。 |
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のプロトコル・アドレスの構成は次の手順に従います。
Oracle Net Managerを起動します。
ナビゲータ・ペインで、「ディレクトリ」または「ローカル」メニューから「サービス・ネーミング」を選択します。
ツールバーで「+」をクリックするか、「編集」メニューから「作成」を選択します。
「ネット・サービス名」フィールドに名前を入力します。
「次へ」をクリックします。
「プロトコル」ページが表示されます。
Oracle Connection ManagerのTCP/IPプロトコルを選択します。
「次へ」をクリックします。
「プロトコル設定」ページが表示されます。
Oracle Connection Managerのポートとプロトコルを指定します。Oracle Connection Managerのデフォルトのポート番号は1521、プロトコルはTCP/IPです。
関連項目: プロトコル・パラメータの設定については、『Oracle Database Net Servicesリファレンス』を参照してください。 |
「次へ」をクリックします。
「サービス」ページが表示されます。
「サービス名」フィールドにサービス名を入力し、接続タイプを選択します。
「次へ」をクリックします。
注意: この時点では接続のテストはできないため、「テスト」はクリックしないでください。 |
「終了」をクリックして構成を保存し、「Netサービス名ウィザード」を終了します。
新規のネット・サービス名とOracle Connection Managerプロトコル・アドレスが「サービス・ネーミング」フォルダに追加されます。
データベース・サーバーの構成には2つのプロセスがあり、リモートからOracle Connection Managerでデータベース情報を登録し、オプションでサーバーの多重化を構成します。
この項で説明する項目は、次のとおりです。
データベース・サーバーがOracle Connection Managerと通信できるようにするには、初期化パラメータ・ファイル(init.ora)
に、Oracle Connection Managerのリスニング・アドレスを指定する記述子が含まれている必要があります。また、tnsnames.ora
ファイルにサービス名のエントリが含まれている必要があります。次の手順では、サービス登録を構成する方法について説明します。
tnsnames.ora
ファイルのサービス名エントリへの別名を次のように解決します。
cman_listener_address
= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp) (HOST=proxy_server_name
)( PORT=1521))))
たとえば、別名listeners_cman
は、tnsnames.ora
ファイルの次のエントリに解決されます。
listener_cman= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=proxyserver1)(PORT=1521))))
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
初期化パラメータ・ファイルがOracle Connection Managerのリスニング・アドレスで構成されると、PMONプロセスは、Oracle Connection Managerリスナーとしてデータベース情報を登録できます。変更を登録するには、次のコマンドを使用します。
SQL> ALTER SYSTEM REGISTER
Connection Managerでセッションの多重化を利用できるようにするには、次に示すように初期化パラメータ・ファイル(init.ora)の
DISPATCHERS
パラメータに、属性PROTOCOL
およびMULTIPLEX
を設定します。
DISPATCHERS="(PROTOCOL=tcp)(MULTIPLEX=on)"
表10-2では、多重化の異なるレベルを設定するパラメータを示しています。
表10-2 セッションを多重化するパラメータ
属性 | 説明 |
---|---|
ディスパッチャがリスニング・エンドポイントを生成するときに使用するネットワーク・プロトコルです。 |
|
セッションの多重化の有効化に使用します。
|
関連項目:
|
一部のデータベース接続環境では、クライアントとデータベースが異なるバージョンのIPプロトコルを使用できるため、完全な接続性が存在しません。この場合、接続に少なくとも2つのホップが異なるバージョンのIPプロトコルを使用しています。たとえば、要求は、IPv4ソースからIPv6宛先、IPv6ソースからIPv4宛先、またはIPv4ネットワークを通じてIPv6からIPv6に渡されます。
IPv4とIPv6の間のネットワーク・ブリッジとしてOracle Connection Managerを使用できます。Oracle Connection Managerがブリッジとして機能するには、少なくとも1つのIPv4インタフェースと少なくとも1つのIPv6インタフェースで構成されたデュアル・スタック・ホスト上で実行する必要があります。
IPv6アドレスに基づいてフィルタにかけるには、Oracle Connection Managerのフィルタリング機能を使用します。ルールは、完全なIPアドレスまたは部分的なIPアドレスに基づいて設定できます。図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アドレスのルール・フィルタを作成するには、次の手順に従います。
ORACLE_HOME/network/admin
ディレクトリにあるcman.ora
ファイルにナビゲートします。
テキスト・エディタを使用してcman.ora
ファイルを開きます。
IPv6アドレス形式に基づいて、RULE_LIST
でRULE
を作成します。
たとえば、ソース・ホストがアドレス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/ |
NLA IDに基づいたフィルタ | フィルタリングはNLA ID以下の48ビットに基づいています。 |
(RULE = (SRC = 2001:0DB8::203:BAFF:FE0F:C74B/ |
TLA IDに基づいたフィルタ | フィルタリングはTLA ID以下の16ビットに基づいています。 |
(RULE = (SRC = 2001:0DB8::203:BAFF:FE0F:C74B/ |
ビット数に基づいたフィルタ | フィルタリングはアドレスの先頭の60ビットに基づいています。 |
(RULE = (SRC = 2001:0DB8::203:BAFF:FE0F:C74B/ |
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
を入力します。CMCTL
を実行すると、ユーティリティが起動され、プログラム・プロンプトから必要なコマンドを入力できます。プログラム・プロンプトの例を次に示します。
cmctl CMCTL> STARTUP
注意: STARTUP コマンドを発行する前に、次の手順に従います。
|
関連項目:
|