ExascaleインフラストラクチャVM上のOracle Exadata Database Serviceへの接続

SSHまたはSQL Developerを使用して、Exascaleインフラストラクチャ仮想マシン(VM)上のOracle Exadata Database Serviceに接続する方法について学習します。

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

ノート

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

接続の前提条件

Exascaleインフラストラクチャ上のOracle Exadata Database Serviceの仮想マシン(VM)へのSSHアクセスの要件を確認します。

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

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

  • ExascaleインフラストラクチャVM上のOracle Exadata Database ServiceのパブリックまたはプライベートIPアドレス。

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

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

    値は、ExascaleインフラストラクチャVM上のOracle Exadata Database Serviceの「仮想マシン」または「ノード」を示す表の「パブリックIPアドレス」および「プライベートIPアドレスおよびDNS名」列に表示されます。

SSHを使用したVMへの接続について

Secure Shell (SSH)接続を使用して、Exascaleインフラストラクチャ上のOracle Exadata Database Serviceの仮想マシン(VM)に接続できます。

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

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

SSHを使用してUnixスタイル・システムからOracle ExaDB-XSシステム上の仮想マシンにアクセスするには、この手順を使用します。

  • 次の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. 「自動ログイン・ユーザー名」フィールドに、接続に使用するオペレーティング・システム・ユーザーを入力します。
    • rootを必要とする操作を実行するには、ユーザーopcとして接続します。
    • ユーザー操作(バックアップの実行など)のために仮想マシンにアクセスするには、ユーザーoracleとして接続します。(このユーザーは、sudoコマンドを使用してVMへのrootまたはoracleアクセスを取得することもできます。
  7. 「When username is not specified」オプションが「Prompt」に設定されていることを確認します。
  8. 「Category」ツリーで、「SSH」を展開し、「Auth」をクリックします。
    「Auth」パネルが表示されます。
  9. 「認証用の秘密キー・ファイル」フィールドの横にある「参照」をクリックします。「Select private key file」ウィンドウで、デプロイメントに関連付けられた公開キーと一致する秘密キー・ファイルに移動し、開きます。
  10. 「Category」ツリーで、「Session」をクリックします。

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

  11. 「セッションの保存」フィールドで、接続構成の名前を入力し、「保存」をクリックします。
  12. 「Open」をクリックして接続を開きます。

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

    初めてVMに接続する場合、PuTTY「セキュリティ・アラート」ウィンドウが表示され、公開キーの確認を求めてきます。「Yes」をクリックして接続を続行します。

VMへの接続後にデータベースにアクセスするには

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

  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] 
    The Oracle base has been set to /u01/app/grid

Exascaleインフラストラクチャ・サービス上のOracle Exadata Database Serviceへの接続

SSHを使用してExascaleインフラストラクチャ上のOracle Exadata Database Serviceに接続する方法と、Oracle Net Services (SQL*Net)を使用してExascaleインフラストラクチャ上のOracle Exadata Database Serviceに接続する方法について学習します。

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

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

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

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

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

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

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

Oracle Database Oracle Exadata Database Service on Exascale Infrastructureは、Oracle Net Servicesの使用によるリモート・データベース・アクセスをサポートします。

Oracle Exadata Database Service on Exascale 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を使用してExascaleインフラストラクチャ上のOracle Exadata Database Serviceに接続するための基本的な要件について説明します。

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

Oracle Net Servicesを使用してOracle Oracle Exadata Database Service on Exascale Infrastructure上のOracle Databaseインスタンスに接続するための前提条件を確認します。

Oracle Net Servicesを含むExascale Infrastructure上のOracle Exadata Database Service上のOracle Databaseに接続するには、次が必要です:

  • SCAN VIPのIPアドレス、またはアクセスするデータベースをホストする仮想マシンのホスト名またはIPアドレス。
  • データベース識別子。これは、データベース・システム識別子(SID)またはサービス名です。
SCANを使用したデータベースへの接続

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

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

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

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

複数のSCANリスナーを使用して、Exascaleインフラストラクチャ・システム上のOracle Exadata Database Serviceの接続記述子を設定できます。

この方法では、すべての単一クライアント・アクセス名(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名を使用して、Exascaleインフラストラクチャ・システム上のOracle Exadata Database Serviceの接続記述子を設定できます。

この方法を使用して、ドメイン・ネーム・サーバー(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リスナーをバイパスする接続記述子を使用してExascaleインフラストラクチャ上のOracle Exadata Database Service上の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