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 InfrastructureConsoleにあります:
- クラウド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を使用した仮想マシンへの接続
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はSCANリスナーにも関連付けられ、これがOracle Net Servicesを使用したOracle Database接続の接続エンドポイントになります。 可用性を最大限にするために、Oracle Grid InfrastructureではSCAN VIPおよびSCANリスナーを使用可能なクラスタ・ノードに分散させます。 また、ノードの停止または障害が発生した場合、SCAN VIPおよびSCANリスナーは正常に動作しているノードに自動的に移行されます。 SCAN接続を使用すると、Oracle Databaseクライアントの機能が強化され、クラスタ内で実行されているすべてのデータベースにサービスを提供できる、信頼性の高い一連の接続エンドポイントを使用できるようになります。
ノード・リスナーとしても知られる、クラスタ内の各ノードで実行されるOracle Net Listenerに加えてSCANリスナーが存在します。 Oracle Net Services接続がSCAN接続を介して受信されると、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接続を作成するには、次のいずれかの方法を選択できます。 - 「ノード・リスナーを使用したデータベースへの接続」
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またはSite-to-Site VPN接続を使用して接続している場合は、SCAN IPアドレスを使用してデータベースに接続できます。 - 「パブリックIPアドレスを使用して接続するには」
クライアントとデータベースが異なるVCNにある場合、またはデータベースがインターネット・ゲートウェイを持つVCN上にある場合は、ノード・パブリックIPアドレスを使用してデータベースに接続できます。
SCAN IPアドレスを使用して接続するには
クライアントがオンプレミスで、FastConnectまたはSite-to-Site 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 SystemのプライベートSCAN IPアドレスに解決でき、アプリケーションは外部SCAN名を含む接続文字列を使用できます。 次の
tnsnames.ora
の例では、extscanname.example.com
がオンプレミスDNSサーバーで定義されています。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接続を作成するには、次のいずれかの方法を選択できます。
- 「すべてのSCAN VIPを参照する接続記述子を使用したデータベースへの接続」
複数のSCANリスナーを使用して、Oracle Exadata Database Service on Dedicated Infrastructure Systemの接続記述子を設定できます。 - 「カスタムSCAN名を参照する接続記述子を使用したデータベースへの接続」
カスタムSCAN名を使用して、Oracle Exadata Database Service on Dedicated Infrastructure Systemの接続記述子を設定できます。
すべてのSCAN VIPを参照する接続記述子を使用したデータベースへの接続
複数のSCANリスナーを使用して、Oracle Exadata Database Service on Dedicated Infrastructure Systemの接続記述子を設定できます。
このアプローチでは、単一クライアント・アクセス名(SCAN)の仮想IP (VIP)アドレスをすべて指定し、Oracle Net Servicesが使用可能なSCANリスナーに接続できるようにする必要があります。
親トピック: SCANによるデータベースへの接続
カスタムSCAN名を参照する接続記述子を使用したデータベースへの接続
カスタムSCAN名を使用して、Oracle Exadata Database Service on Dedicated Infrastructure Systemの接続記述子を設定できます。
このアプローチを使用して、ドメイン・ネーム・サーバー(DNS)でカスタムの単一クライアント・アクセス名(SCAN)を定義します。これは、3つのSCAN仮想IPアドレス(VIP)に解決されます。
親トピック: SCANによるデータベースへの接続
ノード・リスナーを使用したデータベースへの接続
SCANリスナーをバイパスする接続記述子を使用してExadata Cloud Infrastructure上のOracle Databaseインスタンスに接続するには、この手順を使用して接続をノード・リスナーに直接ルーティングします。
このメソッドを使用して、SCANによって提供される高可用性およびロード・バランシングを停止します。 ただし、特定のノードまたはネットワーク・インタフェースに直接接続する場合は、このメソッドが望ましい場合があります。 たとえば、バルク・データ・ロードを実行するプログラムからの接続でバックアップ・ネットワークが使用されていることを確認できます。
この方法では、ノードのホスト名またはIPアドレスを使用して接続を指示します。
例4-2 ノードを直接参照するネット・サービス別名の定義
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