この章では、Oracle Connection Manager機能の構成方法について説明します。
この章の内容は、次のとおりです。
cman.oraのOracle9iからOracle Database 11gへの移行
注意: Oracle Connection Managerは、Oracle Database 11g Enterprise Editionをインストールすると使用できるようになります。 |
関連項目:
|
Oracle Connection Managerはプロキシ・サーバーで、データベース・サーバーまたは他のプロキシ・サーバーへ接続要求を転送する中間的なサーバーです。Oracle Connection Managerには2つの主要機能があります。
セッションの多重化
アクセス制御
セッションの多重化を使用すると、共有サーバーの接続先へのネットワーク接続により、Oracle Connection Managerで複数のクライアント・セッションを素早く集中化できます。
アクセス制御を使用すると、ルールベースの構成を使用して特定のクライアントの要求をフィルタにかけ、フィルタを通過したものを受け入れることができます。
Oracle Connection Managerを構成するには、次の手順に従います。
Oracle Connection Managerコンピュータでcman.ora
ファイルを構成します。このファイルでは、サーバーのリスニング・エンドポイント、アクセス制御ルールおよびOracle Connection Managerのパフォーマンス・パラメータを指定します。
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つのみ設定することによって、デフォルトとして割り当てることができます。
この項で説明する項目は、次のとおりです。
リスニング・エンドポイントでは、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はサポートされていません。 |
アクセス制御ルール・リストではリスナーにより、受入れ、拒否または削除される接続を指定します。
(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つの接続に対して複数のルールを指定できます。
注意:
|
パラメータ・リストによりOracle Connection Managerの属性を設定します。パラメータは、グローバル・レベルとルール・レベルの2つの形式を受け取ります。
グローバル・パラメータは、ルール・レベルのパラメータでオーバーライドされないかぎり、すべてのOracle Connection Manager接続に適用されます。グローバル・パラメータのデフォルト設定を変更するには、そのパラメータをPARAMETER_LIST
に許容値と一緒に入力します。
ルール・レベルのパラメータは、RULE_LIST
のACTION_LIST
セクションで有効になり、そのルールによって指定された接続にのみ適用されます。これはグローバルな対象にオーバーライドします。
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です。
「次へ」をクリックします。
「プロトコル設定」ページが表示されます。
提供されたフィールドで選択したプロトコルに対して適切なパラメータ情報を入力します。TCP/IPを使用する場合、デフォルトで使用するポートは1521です。
「次へ」をクリックします。
「サービス」ページが表示されます。
リリースを選択して、接続先データベース・サービスの名前を入力します。
宛先サービスがOracle Database 11g、Oracle9iまたはOracle8iデータベースの場合は、Oracle8i以降を選択し、「サービス名」フィールドにサービス名を入力します。宛先サービスがOracle8データベースの場合は、Oracle8以前を選択し、インスタンスのOracleシステム識別子(SID)を「データベースSID」フィールドに入力します。
「次へ」をクリックします。
注意: この時点では接続のテストはできないため、「テスト」はクリックしないでください。 |
「終了」をクリックして構成を保存し、「Netサービス名ウィザード」を終了します。
新規のネット・サービス名とOracle Connection Managerプロトコル・アドレスが「サービス・ネーミング」フォルダに追加されます。
データベース・サーバーの構成には2つのプロセスがあり、リモートからOracle Connection Managerでデータベース情報を登録し、オプションでサーバーの多重化を構成します。
この項で説明する項目は、次のとおりです。
データベース・サーバーが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のリスナーとしてプロキシ・プロセスの場所とロードを登録します。
この項で説明する項目は、次のとおりです。
1番目の機能は、初期化パラメータ・ファイルのパラメータDISPATCHERS
を使用し、2番目の機能は、cman.ora
ファイルのパラメータRULE_LIST
を使用して有効化されます。
属性PROTOCOL
およびMULTIPLEX
が初期化パラメータ・ファイルのパラメータDISPATCHERS
に追加された後、MULTIPLEX
がon
または同等の値に設定されていることが確認されるとセッションの多重化が可能になります。
表11-1に示すように、異なるレベルの多重化を設定できます。
表11-1 セッションを多重化するパラメータ
属性 | 説明 |
---|---|
ディスパッチャがリスニング・エンドポイントを生成するときに使用するネットワーク・プロトコルです。 |
|
セッションの多重化の有効化に使用します。
|
「Oracle Connection Managerコンピュータの構成」の説明のとおり、TCP/IP環境で指定されたデータベース・サーバーへのクライアント・アクセスを制御するには、RULE_LIST
を使用できます。このパラメータでフィルタリング・ルールを入力し、データベース・サーバーへの特定のクライアント・アクセスを許可または制限できます。
アクセス制御を構成するには次の手順に従います。
cman.ora
ファイルがない場合は手動で作成します。
次の形式を使用して、RULE_LIST
およびそのサブパラメータを追加します。
(RULE_LIST= (RULE=(SRC=source_host) (DST=destination_host) (SRV=service) (ACT=accept | reject | drop)))
必要に応じて、表11-2で説明されている各ルールに次のパラメータを追加します。
表11-2 ルール・レベル・パラメータ
パラメータ | 説明 |
---|---|
|
ソースのホスト名またはクライアントのIPアドレスを指定します。 IPアドレスはサブネットで、192.0.2.62/24などで指定できます。 |
|
接続先のホスト名またはデータベース・サーバーのIPアドレスを指定します。 IPアドレスはサブネットで、192.0.2.62/24などで指定できます。 |
|
Oracle Database 11g、Oracle9iまたはOracle8iデータベースのサーバー名(初期化パラメータ・ファイルの |
|
前述の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)))
Oracle9iのcman.ora
ファイルをOracle Database 11gに移行する場合は、cmmigr
ツールを使用します。このツールの構文は次のとおりです。
cmmigr [cman.ora_location]
ファイルの場所の指定はオプションです。これを省略した場合、cmmigr
ツールはTNS_ADMIN
ディレクトリでこのファイルを検索し、次に$ORACLE_HOME/network/admin
内を検索します。cmmigr
を実行すると、Oracle9iのcman.ora
ファイルがcman.bak
という名前に変更され、Oracle Database 11gファイルにcman.ora
という名前を付けます。このツールでは、Oracle9iのファイルに含まれる4つのセクションのうち、3つのセクションが移行されます。
Addressセクション: リスナー・プロトコル・アドレスが、Oracle9i形式からOracle Database 11g形式に変換されます。
Adminセクション: このセクションはcmmigr
で無視されます。
Profileセクション: cmmigr
により、cman_profile
内のパラメータ名がOracle Database 11g内の名前に変換されます。ログ・レベルとトレース・レベルを除き、パラメータ値は変更されません。廃止されたパラメータは、新しいファイルのコメント・リストに表示されます。
Rulesセクション: 既存のルールが新しいファイルにコピーされます。さらに、
CMCTL
からCMADMIN
への接続を可能にするルールが追加されます。古いファイルにルールが含まれていない場合は、CMCTL
とCMADMIN
の接続に関するルールと、クライアントの接続に関するルールの2つが新しいファイルに追加されます。この2つのルールの例については、「アクセス制御ルール・リスト(RULE_LIST)」を参照してください。
表11-3では、cmmigr
で使用されるメッセージを示しています。
表11-3 cmmigrメッセージ
メッセージ | 説明 |
---|---|
1.4140-「移行は正常に完了しました。」 |
このメッセージは、 |
2.4141-「CMAN.ORAファイルが見つかりません。」 |
このメッセージは、指定したファイルの場所が正しくない場合に表示されます。 |
3.4142-「CMAN.ORAファイルの形式が無効です。」 |
このメッセージは、ファイルの形式が |
4.4143-「新しいCMAN.ORAファイルの書込みができません。」 |
|
5.4144-「移行するものがありません。」 |
このメッセージは、ファイル内に移行可能なものが見つからなかった場合に表示されます。 |