SQLNetを使用したデータベースへの接続
この項では、SQL*Netクライアントがインストールされているコンピュータからデータベース・サービスに接続する方法について説明します。SQL*Netプロトコルをサポートするには、ポート1521がオープンしている必要があります。
VCN内からの接続
セキュリティ上の理由で、VCN内からデータベース・サービスに接続することをお薦めします。この方法は、接続先が管理サービスであってもアプリケーション・サービスであっても使用できます。
SQL*Plusを使用して接続するには、該当する接続文字列を使用して次のコマンドを実行します:
sqlplus system/<password>@<connection_string>
次を考慮してください:
- システムでVCN Resolverを使用していない場合は、DBシステムのホスト名(単一ノードのシステムの場合)またはSCAN名(マルチノードのシステムの場合)を解決できることを確認します。DNS名前解決の詳細は、仮想クラウド・ネットワークのDNSを参照してください。
- PDBの管理サービスに接続するために、PDBがオープンしていることを確認します。オープンしていない場合、サービスは使用できなくなります。
- アプリケーション・サービスに接続するために、サービスが起動されていることを確認します。高速アプリケーション通知が機能するように、ポート6200にアクセスできることを確認します。高速アプリケーション通知の詳細は、高可用性Oracle Databaseに関するクライアント・フェイルオーバーのベスト・プラクティスを参照してください。
インターネットからの接続
インターネットからデータベースに接続することはお薦めしませんが、ポート1521がイングレス用にパブリックに対してオープンしていれば、パブリックIPアドレスを使用してデータベース・サービスに接続できます。
この方法を使用するには、接続文字列でホスト名またはSCANのかわりにパブリックIPアドレスを使用して、次のコマンドを実行します:
sqlplus system/<password>@<public_IP>:1521/<service_name>.<DB_domain>
次を考慮してください:
- SCANおよびホスト名はインターネット上で解決できないため、これらの名前に依存しているマルチノードのDBシステムのロード・バランシングとフェイルオーバーは機能しません。
- マルチノードのDBシステムの場合は、通常はSCANを使用するため、データベースにアクセスするには、RACホストの1つのIPアドレスを指定する必要があります。
ノート:
この方法を使用してVCN内からデータベースに接続しないでください。これを行うと、データベースへのトラフィックがVCN外にルーティングされて、パブリックIPアドレスを介して戻るため、パフォーマンスが低下します。
例: SQL*Netを使用したSQL Developerでの接続
前提条件:
- ポート1521がOracleのデフォルト・リスナーに対してオープンしていることを確認します。(これを行うには、DBシステムのセキュリティ・リストを確認します。)
- ポート1521がVCN内のホストに対してのみオープンしている場合は、VCNに直接アクセスできるマシンからSQL Developerクライアントを実行する必要があります。そうせずに、インターネットからデータベースに接続する場合は、コンピュータのパブリックIPアドレスにセキュリティ・リスト内のポート1521へのアクセス権が付与されている必要があります。(別の方法として、セキュリティ・リストでポート1521への完全アクセス権を付与することもできますが、セキュリティ上の理由でこれはお薦めしません。)インターネットからの接続ではSCAN名前解決がサポートされていないため、ホストのパブリックIPアドレスを使用する必要があります。
プライベートIPアドレスを使用したVCN内からの接続
前提条件が満たされていることを確認した後、SQL Developerを起動し、次の接続詳細を指定して接続を作成します:
- ユーザー名: sys as sysdba
- パスワード: コンソールの「DBシステムの起動」ダイアログで指定した「データベース管理パスワード」。
- ホスト名:接続string.Forの簡易接続形式で表示されるホスト名は、接続文字列の取得およびホスト名の識別に役立ちます。DB Systemへの接続の概要を参照してください。
- ポート: 1521
- サービス名: サービスとホスト・ドメイン名を連結した名前(db1_phx1tv.example.comなど)。この値は、簡易接続文字列
<service_name>.<DB_domain>
の最後の部分として識別できます。