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サイトから入手できます。

http://docs.oracle.com

1.3.2 ハードウェアおよびソフトウェアの動作保証

このマニュアルに記載されているプラットフォーム固有のハードウェア要件とソフトウェア要件は、このマニュアルの発行時点での最新情報です。このマニュアルの発行後に、新バージョンのプラットフォームおよびオペレーティング・システム・ソフトウェアが動作保証される可能性があります。このため、最新の動作保証されたハードウェア・プラットフォームおよびオペレーティング・システム・バージョンのリストは、My Oracle Support Webサイトの動作保証マトリクスを参照してください。My Oracle SupportのWebサイトは、次のWebサイトで参照できます:

https://support.oracle.com/

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.4 Oracle Database Gatewayのアップグレード

Oracle Database Gatewayではアップグレードはサポートされません。

1.5 インストール・ソフトウェアへのアクセス

Oracle Database Gatewayソフトウェアにアクセスするには、次のいずれかの方法を使用します。

1.5.1 OTN WebサイトからのOracleソフトウェアのダウンロード

次のステップを実行して、インストール用アーカイブ・ファイルをダウンロードし、使用するシステムに解凍します。

1.5.1.1 OTNからのインストール用アーカイブ・ファイルのダウンロード

Oracle Technology Networkからインストール用アーカイブ・ファイルをダウンロードするには、次の手順を実行します。

  1. ブラウザを使用して、Oracle Technology Networkのソフトウェア・ダウンロード・ページにアクセスします。
  2. インストールする製品のダウンロード・ページにナビゲートします。
  3. アーカイブ・ファイルの格納および展開用に、十分な空き領域のあるファイル・システムを選択します。

    一般的に、使用可能なドライブの容量として、アーカイブ・ファイルのサイズの2倍以上が必要です。

  4. ステップ3で選択したファイル・システムに、インストール・アーカイブ・ファイルを保存するためのディレクトリ(たとえば、gatewayなど)を作成します。
  5. ステップ4で作成したディレクトリにインストール・アーカイブ・ファイルをダウンロードします。
  6. ダウンロードしたファイルのサイズが、Oracle Technology Network上の対応するファイルと一致することを確認します。
1.5.1.2 インストール・ファイルの解凍

インストール用アーカイブ・ファイルを解凍するステップは、次のとおりです。

  1. 必要に応じて、ダウンロードしたインストール・アーカイブ・ファイルを含むディレクトリに移動します。
  2. ダウンロードしたファイルの拡張子がzipの場合は、次のコマンドを使用してファイルの内容を解凍します。
    unzip file_name.zip
    

    ダウンロードしたファイルの拡張子がcpio.gzの場合は、次のコマンドを使用します。

    $ gunzip filename.cpio.gz
    

    このコマンドによって、次のような名前のファイルが作成されます。

    filename.cpio
    
  3. インストール・ファイルを解凍するには、次のようなコマンドを入力します。
    $ cpio -idmv < filename.cpio

    ノート:

    cpioコマンドで使用する正しいオプションの詳細は、ダウンロード・ページを参照してください。

    一部のブラウザではファイルのダウンロード中に解凍が行われますが、 .gzファイル拡張子は残されます。前述のステップで不具合が生じた場合は、ファイルの.gz拡張子を削除してステップ3を繰り返してください。

    各ファイルに対して、このコマンドはgatewaysという名前のサブディレクトリを作成します。

1.5.2 Oracleソフトウェアのコピー

Oracle Database Gatewayをインストールする前に、ローカル・ディレクトリにソフトウェアをコピーできます。これにより、インストール・プロセスの実行が高速化します。

ローカル・ディレクトリにインストール・メディアの内容をコピーするには:

  1. Oracle Database Gatewayソフトウェアを格納するディレクトリを作成します。
    $ mkdir gateway
    
  2. ステップ1で作成したディレクトリに移動します。
    $ cd gateway
    
  3. 次に示すように、新規ディレクトリにコンテンツをコピーします。
    $ cp -R /directory_path gateway
    

    この例では、/directory_pathがインストール・メディアのマウント・ポイント・ディレクトリです。マウント・ポイント・ディレクトリは、/cdromです。

1.6 Oracle Universal Installerの実行

通常は、Oracle Universal Installerにより提供されるグラフィカル・ユーザー・インタフェース(GUI)を使用してゲートウェイをインストールします。ただし、GUIを使用せずに、Oracle Universal Installerを使用して非対話型インストールを実行することも可能です。

関連項目:

非対話型インストールとその他の拡張インストールの詳細は、「非対話型インストールでのレスポンス・ファイルの使用方法」を参照してください。

次のようにインストーラを起動して、ソフトウェアをインストールします。

  1. Oracleソフトウェア所有者ユーザー(oracle)としてログインし、DISPLAY環境変数を設定します。
  2. インストーラを起動するには、次のコマンドを入力します。directory_pathはソフトウェアのディレクトリ・パスです。
    $ /directory_path/runInstaller
    
  3. 次のガイドラインに従ってインストールを完了します。
    • インストーラ・ウィンドウに表示される指示に従います。追加情報が必要な場合は、「ヘルプ」をクリックします。

    • root権限でスクリプトを実行するよう求めるプロンプトが表示されたら、rootユーザーとしてログインしている端末で次のようなコマンドを入力し、「続行」または「OK」をクリックします。

      # /script_path/script_name
      
    • ソフトウェアのインストール中またはリンク中にエラーが発生した場合は、「Oracle Database Gatewayのトラブルシューティング」のトラブルシューティング情報を参照してください。

  4. インストールが完了したら、「終了」をクリックし、「はい」をクリックしてインストーラを終了します。

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