Exadata Cloud Infrastructureインスタンスへの接続

このトピックでは、SSHまたはSQL Developerを使用してExadata Cloud Infrastructureインスタンスに接続する方法について説明します。

接続する方法は、クラウド・ネットワークの設定方法によって異なります。ネットワーキングの概要で様々なネットワーク・シナリオに関する情報を確認できますが、クラウドでのデータベースへの接続方法に関する特定の推奨事項については、ネットワーク・セキュリティ管理者に問い合せてください。

ノート

Exadata Cloud InfrastructureサーバーはActive Directoryドメインに参加できず、サービスではユーザー認証および認可にActive Directoryを使用できません。

前提条件

Exadata Cloud Infrastructureインスタンスのコンピュート・ノードへのSSHアクセスの要件のリスト。

次のものが必要になります:

  • システムの起動時に使用された公開キーに関連付けられた秘密キーを含むファイルへのフル・パス。

  • Exadata Cloud InfrastructureインスタンスのパブリックまたはプライベートIPアドレス。

    プライベートIPアドレスを使用して、オンプレミス・ネットワークまたは仮想クラウド・ネットワーク(VCN)内からシステムに接続します。これには、オンプレミスのホストからVPNまたはFastConnectを介したVCNへの接続や、同じVCN内の別のホストからの接続などがあります。パブリックIPアドレスを使用して、クラウド外からシステムに接続します(VPNなし)。IPアドレスは、次のようにOracle Cloud Infrastructureコンソールで検索できます:

    • クラウドVMクラスタ(新しいリソース・モデル): 「Exadata VMクラスタの詳細」ページで、「リソース」リストの「仮想マシン」をクリックします。
    • DBシステム: 「DBシステムの詳細」ページで、「リソース」リストの「ノード」をクリックします。

    Exadata Cloud Infrastructureインスタンスの仮想マシンまたはノードを表示する表の「パブリックIPアドレス」列と「プライベートIPアドレスおよびDNS名」列に値が表示されます。

SSHを使用したコンピュート・ノードへの接続について

Secure Shell (SSH)接続を使用して、Exadata Cloud Infrastructureシステムのコンピュート・ノードに接続できます。

ほとんどのUnixスタイル・システム(Linux、Oracle Solaris、Apple MacOSなど)には、SSHクライアントが含まれます。Microsoft Windowsの場合、PuTTYという無料のSSHクライアントをhttp://www.putty.orgのアドレスからダウンロードできます

Unixスタイル・システムからの接続

SSHを使用してUNIX系システムからOracle ExaDB-Dシステム上の仮想マシンにアクセスするには、次の手順を使用します。

  • 次のSSHコマンドを入力して、仮想マシンにアクセスします:
    ssh –i private-key user@node

    前の構文で:

    • private-keyは、システムに登録されている公開キーに対応するSSH秘密キーを含むファイルのフルパスおよび名前です。
    • userは、接続に使用するオペレーティング・システム・ユーザーです:
      • Oracle Databaseソフトウェア所有者として操作を実行するには、opcおよびsu oracleとして接続します。oracleユーザーには、仮想マシンへのrootユーザー・アクセス権がありません。
      • 仮想マシンへのrootアクセス権を必要とする操作(パッチ適用など)を実行するには、opcとして接続します。opcユーザーは、sudo -sコマンドを使用して、仮想マシンへのrootアクセス権を取得できます。
    • nodeは、アクセスする仮想マシンのホスト名またはIPアドレスです。

PuTTYを使用したMicrosoft Windowsシステムからの仮想マシンへの接続

PuTTYを使用してMicrosoft Windowsシステムから仮想マシンにアクセスする方法について学習します。

開始する前に

PuTTYプログラムを使用して仮想マシンに接続する前に、次が必要です:
  • 仮想マシンのIPアドレス

  • デプロイメントに関連付けられている公開キーに対応するSSH秘密キー・ファイル。この秘密キー・ファイルは、PuTTY .ppk形式である必要があります。秘密キー・ファイルが最初にLinuxプラットフォーム上で作成された場合、PuTTYgenプログラムを使用してそれを.ppk形式に変換できます。

WindowsでPuTTYプログラムを使用して仮想マシンに接続するには:

  1. PuTTYをダウンロードしてインストールします。

    PuTTYをダウンロードするには、http://www.putty.org/に移動して、「You can download PuTTY here」というリンクをクリックします。

  2. PuTTYプログラム(putty.exe)を実行します。

    「PuTTY Configuration」ウィンドウに「Session」パネルが表示されます。

  3. 「Host Name (or IP address)」フィールドに、アクセスする仮想マシンのホスト名またはIPアドレスを入力します。
  4. 「Connection type」オプションが「SSH」に設定されていることを確認します。
  5. 「Category」ツリーで、必要に応じて「Connection」を展開し、「Data」をクリックします。

    「Data」パネルが表示されます。

  6. 「Auto-login username」フィールドに、次のように接続するオペレーティング・システム・ユーザーを入力します:
    1. ユーザーopcとして接続し、仮想マシンへのrootまたはoracleアクセス権を必要とする操作(バックアップやパッチ適用など)を実行します。このユーザーは、sudoコマンドを使用して、VMへのrootまたはoracleアクセス権を取得できます。
  7. 「When username is not specified」オプションが「Prompt」に設定されていることを確認します。
  8. 「Category」ツリーで、「SSH」を展開し、「Auth」をクリックします。

    「Auth」パネルが表示されます。

  9. 「Private key file for authentication」フィールドの横にある「Browse」ボタンをクリックします。次に、「Select private key file」ウィンドウで、デプロイメントに関連付けられた公開キーに一致する秘密キー・ファイルに移動して、それを開きます。
  10. 「Category」ツリーで、「Session」をクリックします。

    「Session」パネルが表示されます。

  11. 「Saved Sessions」フィールドに、接続構成の名前を入力します。次に、「Save」をクリックします。
  12. 「Open」をクリックして接続を開きます。

    「PuTTY Configuration」ウィンドウが閉じ、PuTTYターミナル・ウィンドウが表示されます。

    初めてVMに接続する場合、「PuTTY Security Alert」ウィンドウが表示され、公開キーの確認を求められます。「Yes」をクリックして接続を続行します。

コンピュート・ノードへの接続後にデータベースにアクセスするには

データベースに接続するには、データベースの環境情報を設定します。

  1. opcとしてログインし、sudoを使用してoracleユーザーとして接続します。
    login as: opc
    			
    [opc@<host_name> ~]$ sudo su - oracle
  2. データベースの.envファイルをソースとして指定し、環境を設定します。
    
    [oracle@<host_name>]# . <database_name>.env

    次の例では、ホスト名は"ed1db01"で、データベース名は"cdb01"です。

    [oracle@ed1db01]# . cdb01.env
    ORACLE_SID = [root] ? +ASM1
    The Oracle base has been set to /u01/app/grid

Exadata Cloud Infrastructureサービスへの接続

SSHを使用してExadata Cloud Infrastructureシステムに接続する方法と、Oracle Net Services (SQL*Net)を使用してExadata Cloud Infrastructureデータベースに接続する方法について学習します。

SQL Developerを使用したデータベースへの接続

次のいずれかの方法でSQL Developerを使用してデータベースに接続できます:

  • コンピュータからデータベースへの一時的なSSHトンネルを作成します。この方法では、トンネルの存続期間のみアクセスが提供されます。(データベースの使用が終了したら、必ずSSHセッションを終了してSSHトンネルを閉じてください。)
  • Exadata Cloud ServiceインスタンスのクラウドVMクラスタまたはDBシステム・リソースに使用されるセキュリティ・リストを更新して、Oracle SCANリスナーとして使用されるポートを開きます。デフォルトのSCANリスナー・ポートは1521です。この方法は、データベースへのより永続的なアクセスを提供します。詳細は、セキュリティ・リストの更新を参照してください。

前述のようにSSHトンネルを作成するか、SCANリスナー・ポートを開いたら、ネットワークの設定方法および接続元に応じて、SCAN IPアドレスまたはパブリックIPアドレスを使用してExadata Cloud Infrastructureインスタンスに接続できます。IPアドレスは、コンソールのデータベース詳細ページで確認できます。

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

Oracle Net Servicesを使用して、Exadata Cloud Infrastructureシステムの仮想マシンに接続できます。

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

Oracle Database Exadata Cloud Infrastructureでは、Oracle Net Servicesの使用によるリモート・データベース・アクセスがサポートされます。

Exadata Cloud InfrastructureはOracle Grid Infrastructureを使用しているため、単一クライアント・アクセス名(SCAN)接続を使用してOracle Net Services接続を作成できます。SCANは、クライアントがクラスタ内で実行中のOracle Databaseインスタンスにアクセスするための一貫したメカニズムを提供する機能です。

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

SCANリスナーは、クラスタ内のすべてのノードで実行されるOracle Netリスナー(ノード・リスナーとも呼ばれる)に追加されます。SCAN接続を介したOracle Net Services接続があると、SCANリスナーは、いずれかのノード・リスナーに接続をルーティングし、それ以上接続に関与しません。リスナーの可用性、データベース・インスタンスの配置、ワークロードの分散などの要素の組合せによって、それぞれの接続を受け入れるノード・リスナーが決まります。

ノート

このドキュメントでは、Oracle Net Servicesを使用してExadata Cloud Infrastructureデータベースに接続するための基本的な要件について説明します。

Oracle Net Servicesを使用したデータベースへの接続の前提条件

Oracle Net Servicesを使用してOracle ExaDB-D上のOracle Databaseインスタンスに接続するための前提条件を確認します。

Oracle Net Servicesを使用してExadata Cloud Infrastructure上のOracle Databaseに接続するには、次が必要です:
  • SCAN VIPのIPアドレス、またはアクセスするデータベースをホストする仮想マシンのホスト名またはIPアドレス。
  • データベース識別子: データベース・システム識別子(SID)またはサービス名。
SCANを使用したデータベースへの接続

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

SDKまたはCLIを使用したIPアドレスの識別

SDKまたはOCI CLIを使用して、Exadata Cloud Infrastructureコンピュート・ノードのIPアドレスを識別できます。その後、IPアドレスを使用してシステムに接続できます。

  1. GetDbNode APIを使用して、Exadata Cloud InfrastructuredbNodeの詳細を返します。dbNodeのhostIpIdおよびbackupIpIdパラメータについて返されるOCIDに着目します。
  2. hostIpIdおよびbackupIpIdパラメータで得られたOCIDを使用し、GetPrivateIp APIを使用して、クライアント・サブネットおよびバックアップ・サブネットで使用されるプライベートIPアドレスを取得できます。パブリック・サブネットIPアドレスの場合は、GetPublicIpByPrivateIpId APIを使用します。
すべてのSCAN VIPを参照する接続記述子を使用したデータベースへの接続

複数のSCANリスナーを使用して、Oracle Exadata Database Service on Dedicated Infrastructureシステムの接続記述子を設定できます。

この方法では、すべての単一クライアント・アクセス名(SCAN)の仮想IP (VIP)アドレスを指定する必要があり、Oracle Net Servicesは使用可能なSCANリスナーに接続できます。

  1. 次のテンプレートを使用して、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=S12C1
    • SERVICE_NAME=service-name。例: SERVICE_NAME=PDB1.example.yourcloud.com
    ノート

    デフォルトでは、Oracle Net Servicesは、SCANリスナー間で負荷を分散するために、アドレス・リスト内のいずれかのアドレスをランダムに選択します。

カスタムSCAN名を参照する接続記述子を使用したデータベースへの接続

カスタムSCAN名を使用して、Oracle Exadata Database Service on Dedicated Infrastructureシステムの接続記述子を設定できます。

この方法を使用して、ドメイン・ネーム・サーバー(DNS)にカスタムの単一クライアント・アクセス名(SCAN)を定義します。これは、3つのSCAN仮想IPアドレス(VIP)に解決されます。

  1. 次のテンプレートを使用して、カスタムSCAN名を参照するNet Services別名を定義します:
    alias-name = (DESCRIPTION=
      (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=scan-name)(PORT=1521)))
      (CONNECT_DATA=(sid-or-service-entry)))

    説明:

    alias-nameは、別名を識別するために使用する名前です。

    scan-nameは、カスタムSCAN名です。

    sid-or-service-entryは、次のいずれかのフォーマットを使用してデータベースSIDまたはサービス名を識別します:
    • SID=sid-name。例: SID=S12C1
    • SERVICE_NAME=service-name。例: SERVICE_NAME=PDB1.example.yourcloud.com
    または、簡易接続メソッドを使用して、次のフォーマットで接続記述子を指定できます:
    scan-name:1521/sid-or-service-entry
    例:
    exa1scan.example.com:1521/S12C1
    または
    exa1scan.example.com:1521/PDB1.example.yourcloud.com
ノード・リスナーを使用したデータベースへの接続

SCANリスナーをバイパスする接続記述子を使用してExadata Cloud Infrastructure上のOracle Databaseインスタンスに接続するには、この手順を使用して接続をノード・リスナーに直接ルーティングします。

この方法を使用すると、SCANで提供される高可用性およびロード・バランシングは放棄されます。ただし、特定のノードまたはネットワーク・インタフェースに直接接続する場合は、この方法が適していることがあります。たとえば、バルク・データ・ロードを実行するプログラムからの接続にバックアップ・ネットワークを使用できます。

この方法では、ノードのホスト名またはIPアドレスを使用して接続を転送します。

例5-1 ノードを直接参照するNet Services別名の定義

alias-name = (DESCRIPTION=
  (CONNECT_TIMEOUT=timeout)					
  (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=node)(PORT=1521)))
  (CONNECT_DATA=(sid-or-service-entry)))

説明:

alias-nameは、別名を識別するために使用する名前です。

timeoutは、タイムアウト期間(秒)を指定します。これにより、TCPタイムアウトを待機せずに接続の試行を終了できます。(CONNECT_TIMEOUT=timeout)パラメータはオプションです。

nodeは、使用する仮想マシンのホスト名またはIPアドレスです。

sid-or-service-entryは、次のいずれかのフォーマットを使用してデータベースSIDまたはサービス名を識別します:
  • SID=sid-name。例: SID=S12C1
  • SERVICE_NAME=service-name。例: SERVICE_NAME=PDB1.example.oraclecloudatcust.com
または、簡易接続メソッドを使用して、次のフォーマットで接続記述子を指定できます:
node:1521/sid-or-service-entry
例:
exa1node01.example.com:1521/S12C1
または
exa1node01.example.com:1521/PDB1.example.oraclecloudatcust.com