1 Oracle Database Gatewayのインストールの概要
Oracle Database Gatewayをインストールする前に、次の問題を考慮する必要があります。
1.1 ゲートウェイのインストール構成
Oracle Database Gatewayは、次のいずれかの構成でインストールできます。
-
既存のOracle Databaseと同じコンピュータの異なるOracleホームにインストール。
-
Oracle Databaseの存在しないシステムにインストール。
-
Oracle Databaseと同じコンピュータの同じOracleホーム・ディレクトリにインストール。この場合、Oracleデータベースとゲートウェイのリリース・レベルが同一である必要があります。
1.2 ゲートウェイのインストール方法
Oracle Database Gatewayのインストール方法は、次のとおりです。
1.2.1 対話型のインストール方法
Oracle Database Gatewayをインストールする際に対話型の方法を使用する場合、Oracle Universal Installerにより表示される一連の画面を使用して、必要な情報をすべて指定できます。
1.2.2 レスポンス・ファイルを使用した自動インストールによる方法
レスポンス・ファイルを作成してOracle Universal Installerの起動時にそのファイルを指定することで、Oracle Database Gatewayのインストール作業の一部または全部を自動化できます。自動インストールは、構成が類似している複数のシステムにインストールを実行する必要がある場合、またはソフトウェアをインストールするシステムにX Window Systemソフトウェアがインストールされていない場合に役立ちます。
レスポンス・ファイルを使用すると、必要な情報をすべて指定したかどうかによって、次のいずれかのモードでOracle Universal Installerを実行できます。
-
サイレント・モード
必要なすべての情報が指定されたレスポンス・ファイルを使用すると、Oracle Universal Installerはサイレント・モードで実行されます。Oracle Universal Installerの画面は表示されません。
-
抑止モード
レスポンス・ファイルに必要な情報をすべて指定しない場合、Oracle Universal Installerは抑止モードで実行されます。Oracle Universal Installerにより、指定しなかった情報を求める画面のみが表示されます。
これらのモードの詳細と、レスポンス・ファイルを使用してインストールを完了する方法の詳細は、「非対話型インストールでのレスポンス・ファイルの使用方法」を参照してください。
1.3 インストールに関する考慮事項
この製品をインストールする前に考慮する必要がある情報については、次のトピックを参照してください。次のものがあります。
1.3.1 リリース・ノート
製品をインストールする前に、その製品に関するリリース・ノートを参照してください。リリース・ノートは、Oracle Database 12cリリース2 (12.2)のインストール・メディアに含まれています。最新版のリリース・ノートは、次の場所にあるOracle Technology Network(OTN)のWebサイトから入手できます。
1.3.2 ハードウェアおよびソフトウェアの動作保証
このマニュアルに記載されているプラットフォーム固有のハードウェア要件とソフトウェア要件は、このマニュアルの発行時点での最新情報です。このマニュアルの発行後に、新バージョンのプラットフォームおよびオペレーティング・システム・ソフトウェアが動作保証される可能性があります。このため、最新の動作保証されたハードウェア・プラットフォームおよびオペレーティング・システム・バージョンのリストは、My Oracle Support Webサイトの動作保証マトリクスを参照してください。My Oracle SupportのWebサイトは、次のWebサイトで参照できます:
1.3.3 複数のOracleホームのサポート
この製品では複数のOracleホームがサポートされています。つまり、このソフトウェアの今回のリリースまたは以前のリリースを、同じシステムの異なるOracleホーム・ディレクトリに複数回インストールできます。
1.3.3.1 Oracleがインストールされているシステムへのソフトウェアのインストール
この製品は、新規のOracleホーム・ディレクトリにインストールする必要があります。あるリリースのOracle Database Gatewayの製品を別のリリースのOracleホーム・ディレクトリにインストールすることはできません。たとえば、既存のOracle 11gリリース2 (11.2) のOracleホーム・ディレクトリに12cリリース1 (12.1)のソフトウェアをインストールすることはできません。以前のOracleリリースのソフトウェアを含むOracleホーム・ディレクトリに今回のリリースをインストールしようとすると、インストールに失敗します。
このリリースは、別のOracleホーム・ディレクトリにインストールするかぎり、同じシステムに複数回インストールできます。
1.5 インストール・ソフトウェアへのアクセス
Oracle Database Gatewayソフトウェアにアクセスするには、次のいずれかの方法を使用します。
1.5.1 OTN WebサイトからのOracleソフトウェアのダウンロード
次のステップを実行して、インストール用アーカイブ・ファイルをダウンロードし、使用するシステムに解凍します。
1.5.1.1 OTNからのインストール用アーカイブ・ファイルのダウンロード
Oracle Technology Networkからインストール用アーカイブ・ファイルをダウンロードするには、次の手順を実行します。
1.6 Oracle Universal Installerの実行
通常は、Oracle Universal Installerにより提供されるグラフィカル・ユーザー・インタフェース(GUI)を使用してゲートウェイをインストールします。ただし、GUIを使用せずに、Oracle Universal Installerを使用して非対話型インストールを実行することも可能です。
関連項目:
非対話型インストールとその他の拡張インストールの詳細は、「非対話型インストールでのレスポンス・ファイルの使用方法」を参照してください。
次のようにインストーラを起動して、ソフトウェアをインストールします。
1.7 クラスタ環境でのインストールと構成
Oracle Database Gatewayは、既存のOracle Databaseホームにインストールすることも、すべてのノードの別のゲートウェイ・ホームにインストールすることもできます。Oracle OUIは、すべてのノードか選択ノードのいずれかにOracle Database Gatewayをインストールできます。
Oracle Database Gatewayホームからリスナーを使用しないことをお薦めします。そのかわりに、Gridホームにリスナーを構成します。デフォルトでは、クラスタ構成時にローカル・リスナーが作成されます。クラスタ構成はグリッド・インフラストラクチャ・ホームから実行され、ノードの仮想IP (VIP)の指定ポート(デフォルトは1521)をリスニングします。
1.7.1 単一クライアント・アクセス名(SCAN)のサポート
Oracle Database 11gリリース2以降のクライアントは、単一クライアント・アクセス名(SCAN)のサポートを使用してデータベースに接続します。これはOracle RACに接続しているクライアントに単一の名前を提供します。この名前は、クラスタのノードを追加または削除しても、クラスタの存続期間中は変更されません。SCANに接続しているクライアントでは、Thin JDBC URLやEZConnectなどの単一の接続文字列を使用でき、ロード・バランシングおよびクライアントの接続フェイルオーバーが実現されます。
3つのSCANリスナー(仮想IPアドレスごとに1つ)に加えて、データベース・インスタンスをホストするノードごとにノード・リスナーがあります。2レイヤーのリスナー(SCANリスナーおよびノード・リスナー)を使用する目的は、Oracle RACのリスナーの2つの機能(1つ目は接続の負荷分散、2つ目はセッションの起動と継承)を分離することです。SCANリスナーは、GNS (Grid Naming Services)によってランダムに分散されたクライアントからの接続リクエストを受け取ります。次に、SCANリスナーは、ロード・バランシング・メトリックを使用して、リクエストされたサービスの提供に最適なノード上のノード・リスナーに、リクエストをインテリジェントにリダイレクトします。データベース・インスタンスは、リモート・リスナーとしてSCANリスナーに、ローカル・リスナーとしてノード・リスナーに登録されます。
Oracle Database Gatewayは、ゲートウェイに接続するデータベースの単一の名前であるSCANを使用して構成することはできません。この理由は2つあります。ゲートウェイは、リモート・リスナーでは機能しません。REMOTE_LISTENER
を指定してSCANリスナーに設定できるデータベースとは異なり、ゲートウェイでのサポートはありません。これはSCANリスナーがノード・リスナーに接続をルーティングするために不可欠です。次に、ゲートウェイはクラスタをクラスタ・リソースとして管理するために登録しません。
ゲートウェイの場合、Oracle DatabaseとOracle Database Gatewayが同じクラスタで実行されていると、SCANがあまり役に立ちません。Oracle Database Gatewayは、データベースがインストールされている各ノードにインストールおよび構成できます。また、データベースは、各インスタンスが同じノード上で実行されているゲートウェイに接続するように構成できます。
1.7.2 ローカル・リスナー
Oracle Database Gatewayサービスはローカル・リスナーを使用して構成する必要があります。これはゲートウェイ・プロセスを起動するローカル・リスナーです。つまり、リスナーは起動するゲートウェイ・プロセスを理解しておく必要がある、ということです。Gridインフラストラクチャ・ホームでlistener.ora
を使用して、ゲートウェイSIDを追加します。データベースのSCANリスナーがすでにそのノードで実行されている場合は、同じlistener.oraファイルを使用してローカル・リスナーを構成できます。
1.7.3 ロード・バランシングおよび透過的アプリケーション・フェイルオーバー(TAF)
Oracle Database Gateway自体は、クライアント側(データベース・ホーム内のtnsnamesを使用)とサーバー側(SCANを使用)のロード・バランシングのいずれもサポートしていません。現在、ゲートウェイ・プロセスは単一のセッション専用です。そのため、ゲートウェイ・レベルでのロード・バランシングは適用されません。ただし、データベース・インスタンスごとに異なるOracle Database Gatewayインスタンスを関連付けることにより、ノード・レベルのロード・バランシングを実現できます(つまり、負荷が最小のノードを選択すると、データベースのロード・バランシングを通じて実現します)。
Oracle Database Gatewayは接続のフェイルオーバー機能をサポートしています。Gatewayのクライアント側の接続ロード・バランシングを構成すると、フェイルオーバーと同様に機能します。
データベースのフェイルオーバーが発生すると(つまり、セッションがあるデータベース・インスタンスから新しいノードの別のデータベース・インスタンスに移行すると)、移行されたセッションは新しいノードのゲートウェイ・インスタンスを使用します。
デフォルトでは、Oracle Call Interface(OCI)アプリケーションに対して、3種類のOracle Netフェイルオーバー機能を利用できます。
-
session: セッションをフェイルオーバーに設定します。ユーザーの接続が失われた場合に、新しいセッションを自動的に作成して、ユーザーをバックアップします。このフェイルオーバーでは、検索操作はリカバリされません。
-
select: 障害発生後もユーザーはカーソルを継続してオープンし、フェッチできるようにします。ただしこのモードでは、通常の検索操作を行うクライアント側にオーバーヘッドが生じます。
-
none: これがデフォルトです。フェイルオーバー機能は使用されません。フェイルオーバーが実行されないように、明示的に指定することもできます。
フェイルオーバーが機能するには、Databaseホームのtnsnames.ora
を複数のリスナー・アドレスを使用して構成する必要があります。
接続後にインスタンスに障害が発生した場合は、TAFアプリケーションが他のノードのリスナーにフェイルオーバーし、実行中のSELECT
文があればその文を保持します。
次に示す、フェイルオーバーとしてのみ機能するロード・バランシングのtnsnames.ora
の例では、gateway1-server
のゲートウェイが使用できない場合にのみ、データベースはホストgateway2-server
のゲートウェイに接続します。
dg4sybs.us.example.com= (DESCRIPTION= (LOAD_BALANCE=on) (FAILOVER=on) (ADDRESS= (PROTOCOL=tcp) (HOST=gateway1-server) (PORT=1521)) (ADDRESS= (PROTOCOL=tcp) (HOST=gateway2-server) (PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=dg4sybs.us.example.com) (HS=OK) (FAILOVER_MODE= (TYPE=select) (METHOD=basic))))