機械翻訳について

Oracle Net Servicesを使用したデータベースへのリモート接続

Oracle Database Exadata Cloud Machineは、Oracle Net Servicesを使用してリモート・データベース・アクセスをサポートします。

Exadata Cloud MachineでOracle Grid Infrastructureが利用されるため、単一クライアント・アクセス名(SCAN)を使用して接続を行うことができます。この機能によって、クラスタ内で稼働するすべてのOracleデータベースにアクセスするための一貫したメカニズムがクライアントに提供されます。

デフォルトでは、SCANは3つの仮想IPアドレス(VIP)に関連付けられています。 各SCAN VIPはSCANリスナーに関連付けられ、これがOracle Netを使用したOracle Database接続の接続エンドポイントになります。 可用性を最大限にするために、Oracle Grid InfrastructureではSCAN VIPおよびSCANリスナーを使用可能なクラスタ・ノードに分散させます。 さらに、ノードの停止または障害発生の場合、SCAN VIPおよびSCANリスナーは、稼働しているノードに自動的に移行されます。 目的は、クラスタ内で稼働しているすべてのデータベースに対するサービスを提供する単一で信頼できる接続エンドポイントのセットを、Oracle Databaseクライアントが常に使用できるようにすることです。

ノード・リスナーとしても知られる、クラスタ内の各ノードで実行されるOracle Net Listenerに加えてSCANリスナーが存在します。 SCANを介したOracle Net接続があると、SCANリスナーはいずれかのノード・リスナーに接続を転送し、それ以上接続に関与しません。 各接続を受け取るノード・リスナーの選択は、リスナーの可用性、データベース・インスタンスの配置およびワークロードの分散などの要因の組合せによって決まります。

接続する前に

セキュリティ上の理由から、Exadata Cloud Machine環境でアクセス可能なネットワーク・ポートは、デフォルトではSSHポート(22)のみです。 ただし、デフォルトではOracle Net Listener(SCANリスナーおよびノード・リスナー)はポート1521でリスニングします。 したがって、Oracle Net Servicesを使用してリモートでデータベースに接続するには、Oracle Net Listenerポートへのアクセスを有効にする必要があります。 Exadata Cloud Machineの場合、次のようにできます。

注意:

SSHトンネルが特定のホストIPアドレスの特定のポートへのポイント・ツー・ポイント接続であるため、SCANリスナーを使用してExadata Cloud Machineデータベースに接続するためにSSHトンネルを使用できません。 ただし、SCANリスナーでは、様々なセットの仮想IPアドレスをリスニングする使用可能なノード・リスナーの着信接続をルーティングします。

Oracle Net Servicesを使用したリモート・データベース接続を行うには、Oracle Net Listenerポートへのアクセスを有効にした後、2つの追加情報が必要です。
  • SCAN VIPのIPアドレス。 これらのIPアドレスは、各データベース・デプロイメントに関連する詳細情報に含まれています。 「データベース・デプロイメントの詳細情報の表示」を参照してください。

  • データベースSIDまたはサービス名のいずれかのデータベース識別子。 Oracle Database 11gを実行しているデータベース・デプロイメントの場合は、SIDを使用してデータベースを識別できます。 Oracle Database 12cを実行しているデプロイメントの場合は、データベースSIDを指定すると、CDB(コンテナ・データベース)に接続されます。 PDB (プラガブル・データベース)に接続するには、次の書式を使用してプラガブル・データベースのサービス名を指定します。

    pdb.network-domain
    

    ここで、pdbはPDBの名前であり、network-domainExadata Cloud Machine環境に関連付けられているネットワーク・ドメイン名です。次に例を示します。

    PDB1.us2.oraclecloud.com
    

    Exadata Cloud Machine環境に関連付けられているネットワーク・ドメイン名を判別するには、データベース・デプロイメントの詳細情報の表示の説明に従って詳細を表示します。

SCANを使用したOracle Net接続の作成

SCANリスナーを使用してOracle Net接続を作成するには、2つの方法から選択できます。 次の選択肢があります。

  • すべてのSCAN VIPを参照する接続記述子を使用します。

    この方法では、すべてのSCAN VIPアドレスを指定する必要があり、Oracle Netは使用可能なSCANリスナーに接続します。 通常は接続記述子を表す便利な名前としてNet Services別名が使用されます。 次に例を示します。

    alias-name = (DESCRIPTION=
      (ADDRESS_LIST=
        (ADDRESS=(PROTOCOL=tcp)(HOST=SCAN-VIP-1)(PORT=1521))
        (ADDRESS=(PROTOCOL=tcp)(HOST=SCAN-VIP-2)(PORT=1521))
        (ADDRESS=(PROTOCOL=tcp)(HOST=SCAN-VIP-3)(PORT=1521)))
      (CONNECT_DATA=
        (sid-or-service-entry)))
    
    説明:
    • alias-nameは、エイリアスを識別するために使用する名前です。

    • SCAN-VIP-[1-3]は、SCAN VIPのIPアドレスです。

    • sid-or-service-entryは、次のいずれかの書式を使用してデータベースSIDまたはサービス名を表します。

      • SID=sid-name。たとえば、SID=ORCLです。

      • SERVICE_NAME=service-name。たとえば、SERVICE_NAME=PDB1.us2.oraclecloud.comです。

    注意:

    デフォルトでは、Oracle Netは、SCANリスナー間の負荷のバランスをとるためにアドレス・リスト内のアドレスの1つをランダムに選択します。

    適切な接続記述子は、データベース・デプロイメントの接続文字列内に格納されており、「データベース・デプロイメントの詳細情報の表示」の説明に従って詳細情報を表示して取得できます。 Oracle Database 11gを実行しているデータベース・デプロイメントの場合は、提供された接続文字列を使用してデータベースに接続できます。 Oracle Database 12cを実行しているデプロイメントでは、指定された接続文字列を変更して接続先のPDBまたはCDBのサービス名を指定する必要があります。

  • カスタムSCAN名を参照する接続識別子を使用します。

    この方法を使用すると、SCAN名が3つのSCAN VIPのいずれかに解決され、接続がいずれかのSCANリスナーによって処理されます。 「Exadata Cloud MachineのカスタムSCANホスト名の定義」を参照してください。

    顧客SCAN名を使用してOracle Net接続を作成するには、簡易接続方法を使用して次の書式で接続識別子を指定できます。

    SCAN-name:1521/sid-or-service-entry
    

    次に例を示します。

    exa1scan.example.com:1521/ORCL
    

    または

    exa1scan.example.com:1521/PDB1.us2.oraclecloud.com