Exadata Cloud Infrastructureインスタンスへの接続
このトピックでは、SSHまたはSQL Developerを使用してExadata Cloud Infrastructureインスタンスに接続する方法について説明します。
接続する方法は、クラウド・ネットワークの設定方法によって異なります。ネットワーキングの概要で様々なネットワーク・シナリオに関する情報を確認できますが、クラウドでのデータベースへの接続方法に関する特定の推奨事項については、ネットワーク・セキュリティ管理者に問い合せてください。
Exadata Cloud InfrastructureサーバーはActive Directoryドメインに参加できず、サービスではユーザー認証および認可にActive Directoryを使用できません。
- 前提条件
Exadata Cloud Infrastructureインスタンスのコンピュート・ノードへのSSHアクセスの要件のリスト。 - SCANリスナー・ポートの設定
クラウドVMクラスタの作成時に、オプションで別のSCANリスナー・ポート番号を指定できます。 - SSHを使用した仮想マシンへの接続
Secure Shell (SSH)接続を使用して、Exadata Cloud Infrastructureシステムの仮想マシンに接続できます。 - Oracle Net Servicesを使用したデータベースへの接続
Oracle Database Exadata Cloud Infrastructureでは、Oracle Net Servicesの使用によるリモート・データベース・アクセスがサポートされます。
前提条件
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名」列に値が表示されます。
SCANリスナー・ポートの設定
クラウドVMクラスタの作成時に、オプションで別のSCANリスナー・ポート番号を指定できます。
クラウドVMクラスタのデフォルトのSCANリスナー・ポートは1521です。コンソールを使用してクラウドVMクラスタ・リソースを作成する際、オプションで別のSCANリスナー・ポート番号を指定できます。OCIコンソールでは、クラスタの作成時に、このオプションは「拡張オプション」の下に表示されます。
バックエンド・ソフトウェアを使用したプロビジョニング後にVMクラスタのSCANリスナー・ポートを手動で変更することはサポートされていません。この変更により、Data Guardのプロビジョニングが失敗する可能性があります。
SSHを使用した仮想マシンへの接続
Secure Shell (SSH)接続を使用して、Exadata Cloud Infrastructureシステムの仮想マシンに接続できます。
ほとんどのUnixスタイル・システム(Linux、Oracle Solaris、macOSなど)には、SSHクライアントが含まれます。Microsoft Windowsシステムの場合、PuTTYという無料のSSHクライアントをhttp://www.putty.orgからダウンロードできます。
- UNIX系システムからの接続
SSHを使用してUNIX系システムからOracle ExaDB-Dシステム上の仮想マシンにアクセスするには、次の手順を使用します。 - PuTTYを使用したMicrosoft Windowsシステムからの仮想マシンへの接続
PuTTYを使用してMicrosoft Windowsシステムから仮想マシンにアクセスする方法について学習します。 - 仮想マシンへの接続後のデータベースへのアクセス
仮想マシンに接続したら、次の一連のコマンドを使用してデータベースを識別し、そのデータベースに接続できます。
関連トピック
Unixスタイル・システムからの接続
SSHを使用してUNIX系システムからOracle ExaDB-Dシステム上の仮想マシンにアクセスするには、次の手順を使用します。
親トピック: SSHを使用した仮想マシンへの接続
PuTTYを使用したMicrosoft Windowsシステムからの仮想マシンへの接続
PuTTYを使用してMicrosoft Windowsシステムから仮想マシンにアクセスする方法について学習します。
開始する前に
-
仮想マシンのIPアドレス
-
デプロイメントに関連付けられている公開キーに対応するSSH秘密キー・ファイル。この秘密キー・ファイルは、PuTTY
.ppk
形式である必要があります。秘密キー・ファイルが最初にLinuxプラットフォーム上で作成された場合、PuTTYgenプログラムを使用してそれを.ppk
形式に変換できます。
WindowsでPuTTYプログラムを使用して仮想マシンに接続するには:
親トピック: SSHを使用した仮想マシンへの接続
仮想マシンへの接続後のデータベースへのアクセス
仮想マシンに接続したら、次の一連のコマンドを使用してデータベースを識別し、そのデータベースに接続できます。
親トピック: SSHを使用した仮想マシンへの接続
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インスタンスに接続するための前提条件を確認します。 - SQL Developerを使用したデータベースへの接続
次のいずれかの方法でSQL Developerを使用してデータベースに接続できます: - SCANを使用したデータベースへの接続
SCANリスナーを使用してOracle Net Services接続を作成するには、2つの方法から選択できます。 - ノード・リスナーを使用したデータベースへの接続
SCANリスナーをバイパスする接続記述子を使用してExadata Cloud Infrastructure上のOracle Databaseインスタンスに接続するには、この手順を使用して接続をノード・リスナーに直接ルーティングします。
Oracle Net Servicesを使用したデータベースへの接続の前提条件
Oracle Net Servicesを使用してOracle ExaDB-D上のOracle Databaseインスタンスに接続するための前提条件を確認します。
- SCAN VIPのIPアドレス、またはアクセスするデータベースをホストする仮想マシンのホスト名またはIPアドレス。
- データベース識別子: データベース・システム識別子(SID)またはサービス名。
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アドレスは、コンソールのデータベース詳細ページで確認できます。
- SCAN IPアドレスを使用して接続するには
クライアントがオンプレミスで、FastConnectまたはサイト間VPN接続を使用して接続している場合は、SCAN IPアドレスを使用してデータベースに接続できます。 - パブリックIPアドレスを使用して接続するには
クライアントとデータベースが異なるVCNにある場合、またはデータベースがインターネット・ゲートウェイのあるVCNにある場合、ノードのパブリックIPアドレスを使用してデータベースに接続できます。
SCAN IPアドレスを使用して接続するには
クライアントがオンプレミスで、FastConnectまたはサイト間VPN接続を使用して接続している場合は、SCAN IPアドレスを使用してデータベースに接続できます。
-
次の
tnsnames.ora
の例のように、プライベートSCAN IPアドレスを使用します:testdb= (DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = <scanIP1>)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = <scanIP2>)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>) ) )
-
オンプレミスのDNSサーバーで外部SCAN名を定義します。アプリケーションはこの外部SCAN名をDBシステムのプライベートSCAN IPアドレスに解決でき、アプリケーションは外部SCAN名を含む接続文字列を使用できます。次の
tnsnames.ora
の例では、オンプレミスDNSサーバーにextscanname.example.com
が定義されています。testdb = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <extscanname.example.com>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>) ) )
親トピック: SQL Developerを使用したデータベースへの接続
パブリックIPアドレスを使用して接続するには
クライアントとデータベースが異なるVCNにある場合、またはデータベースがインターネット・ゲートウェイのあるVCNにある場合、ノードのパブリックIPアドレスを使用してデータベースに接続できます。
ただし、次の点を考慮することが重要です:
- クライアントがパブリックIPアドレスを使用する場合、クライアントはSCANリスナーをバイパスしてノード・リスナーに到達するため、サーバー側のロード・バランシングは使用できません。
- クライアントがパブリックIPアドレスを使用する場合、VIPフェイルオーバー機能の利点を活用できません。ノードが使用できなくなると、ノードへの新しい接続の試行はTCP/IPタイムアウトが発生するまでハングします。クライアント側のsqlnetパラメータを設定して、TCP/IPタイムアウトを制限できます。
次のtnsnames.ora
の例は、TCP/IPタイムアウトを回避するためのCONNECT_TIMEOUTパラメータを含む接続文字列を示しています。
test=
(DESCRIPTION =
(CONNECT_TIMEOUT=60)
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = <publicIP1>)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <publicIP2>)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = <dbservice.subnetname.dbvcn.oraclevcn.com>)
)
)
親トピック: SQL Developerを使用したデータベースへの接続
SCANを使用したデータベースへの接続
SCANリスナーを使用してOracle Net Services接続を作成するには、2つの方法から選択できます。
- すべてのSCAN VIPを参照する接続記述子を使用したデータベースへの接続
複数のSCANリスナーを使用して、Oracle Exadata Database Service on Dedicated Infrastructureシステムの接続記述子を設定できます。 - カスタムSCAN名を参照する接続記述子を使用したデータベースへの接続
カスタムSCAN名を使用して、Oracle Exadata Database Service on Dedicated Infrastructureシステムの接続記述子を設定できます。
すべてのSCAN VIPを参照する接続記述子を使用したデータベースへの接続
複数のSCANリスナーを使用して、Oracle Exadata Database Service on Dedicated Infrastructureシステムの接続記述子を設定できます。
この方法では、すべての単一クライアント・アクセス名(SCAN)の仮想IP (VIP)アドレスを指定する必要があり、Oracle Net Servicesは使用可能なSCANリスナーに接続できます。
親トピック: SCANを使用したデータベースへの接続
カスタムSCAN名を参照する接続記述子を使用したデータベースへの接続
カスタムSCAN名を使用して、Oracle Exadata Database Service on Dedicated Infrastructureシステムの接続記述子を設定できます。
この方法を使用して、ドメイン・ネーム・サーバー(DNS)にカスタムの単一クライアント・アクセス名(SCAN)を定義します。これは、3つのSCAN仮想IPアドレス(VIP)に解決されます。
親トピック: SCANを使用したデータベースへの接続
ノード・リスナーを使用したデータベースへの接続
SCANリスナーをバイパスする接続記述子を使用してExadata Cloud Infrastructure上のOracle Databaseインスタンスに接続するには、この手順を使用して接続をノード・リスナーに直接ルーティングします。
この方法を使用すると、SCANで提供される高可用性およびロード・バランシングは放棄されます。ただし、特定のノードまたはネットワーク・インタフェースに直接接続する場合は、この方法が適していることがあります。たとえば、バルク・データ・ロードを実行するプログラムからの接続にバックアップ・ネットワークを使用できます。
この方法では、ノードのホスト名またはIPアドレスを使用して接続を転送します。
例4-2ノードを直接参照する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