Oracle Exadata Database Service on Cloud@Customerサービスへの接続

SSHを使用したOracle Exadata Database Service on Cloud@Customerシステムへの接続方法と、Oracle Net Services (SQL*Net)を使用したExadata Cloud@Customerデータベースへの接続方法について学習します。

SSHを使用した仮想マシンへの接続

Secure Shell (SSH)接続を使用して、Oracle Exadata Database Service on Cloud@Customerシステムの仮想マシンに接続できます。

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

関連トピック

Oracle Exadata Database Service on Cloud@Customerシステムへの接続の前提条件

SSHを使用してOracle Exadata Database Service on Cloud@Customerシステムの仮想マシンにアクセスするには、仮想マシンのホスト名またはIPアドレスを指定する準備をします。

  • システムに登録されている公開キーに対応するSSH秘密キー・ファイル。

    Oracle Exadata Database Service on Cloud@CustomerシステムでVMクラスタを作成する場合は、1つ以上のSSHキー・ペアの公開キー部分を指定する必要があります。VMクラスタの作成後に、追加のキーを個別に登録することもできます。

    ノート

    公開キーは、~/.ssh/authorized_keysauthorized_keysファイルに格納されます。個別のauthorized_keysファイルがオペレーティング・システム・ユーザーのホーム・ディレクトリに配置されます。デフォルトでは、opcユーザー・アカウントのみがauthorized_keysエントリを持っており、リモートでログインできます。opcユーザーのauthorized_keysに自動生成されたエントリを削除または変更しないでください。
  • アクセスする仮想マシンのホスト名またはIPアドレス。

    コンソールを使用したVMクラスタ仮想マシンのステータスの確認を参照してください。

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」をクリックして接続を続行します。

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

SSHを使用してUnixスタイル・システムからOracle Oracle Exadata Database Service on Cloud@Customerシステム上の仮想マシンにアクセスするには、この手順を使用します。

  • 次の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アドレスです。

仮想マシンへの接続後のデータベースへのアクセス

仮想マシンに接続したら、次の一連のコマンドを使用してデータベースを識別し、そのデータベースに接続できます。

  1. opcユーザーとしてSSHでログインします。
  2. sudo su oracle
  3. Oracle Grid Infrastructureホーム・ディレクトリにあるsrvctlユーティリティを使用して、システム上のデータベースをリストします。例:
    /u01/app/12.2.0.1/grid/bin/srvctl config database -v
    nc122   /u02/app/oracle/product/12.2.0/dbhome_6 12.2.0.1.0
    s12c    /u02/app/oracle/product/12.2.0/dbhome_2 12.2.0.1.0
  4. アクセスするデータベースのデータベース・インスタンスを識別します。例:
    /u01/app/12.2.0.1/grid/bin/srvctl status database -d s12c
    Instance s12c1 is running on node node01
    Instance s12c2 is running on node node02
  5. アクセスするデータベースの環境設定を構成します。例:
    . oraenv
    ORACLE_SID = [oracle] ? s12c
    The Oracle base has been set to /u02/app/oracle
    export ORACLE_SID=s12c1
  6. svrctlコマンドを使用して、データベースに関するより詳細な情報を表示できます。例:
    srvctl config database -d s12c
    Database unique name: s12c
    Database name:
    Oracle home: /u02/app/oracle/product/12.2.0/dbhome_2
    Oracle user: oracle
    Spfile: +DATAC4/s12c/spfiles12c.ora
    Password file: +DATAC4/s12c/PASSWORD/passwd
    Domain: example.com
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: AUTOMATIC
    Server pools:
    Disk Groups: DATAC4
    Mount point paths:
    Services:
    Type: RAC
    Start concurrency:
    Stop concurrency:
    OSDBA group: dba
    OSOPER group: racoper
    Database instances: s12c1,s12c2
    Configured nodes: node01,node02
    CSS critical: no
    CPU count: 0
    Memory target: 0
    Maximum memory: 0
    Default network number for database services:
    Database is administrator managed
  7. SQL*Plusを使用してデータベースにアクセスできます。例:
    sqlplus / as sysdba
    
    SQL*Plus: Release 12.2.0.1.0 Production ...
    
    Copyright (c) 1982, 2016, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 12c EE Extreme Perf Release 12.2.0.1.0 - 64bit Production

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

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

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

Oracle Database Oracle Exadata Database Service on Cloud@Customerでは、Oracle Net Servicesを使用したリモート・データベース・アクセスがサポートされます。

Oracle Exadata Database Service on Cloud@Customerは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を使用してOracle Exadata Database Service on Cloud@Customerデータベースに接続するための基本的な要件について説明します。

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

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

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

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

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

すべてのSCAN VIPを参照する接続記述子を使用したデータベースへの接続

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

この方法では、すべての単一クライアント・アクセス名(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 Cloud@Customerシステムの接続記述子を設定できます。

この方法を使用して、ドメイン・ネーム・サーバー(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リスナーをスキップする接続記述子を使用してOracle Exadata Database Service on Cloud@Customer上の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