DBシステムへの接続の概要
この記事では、アクティブなDBシステムへの接続に必要な様々な設定の概要を説明します。 接続方法は、使用するクライアント・ツールまたはプロトコル、接続の目的およびクラウド・ネットワークの設定方法によって異なります。
ノート:
様々なネットワーク・シナリオに関する情報は「ネットワークの概要」にありますが、クラウド内のデータベースに接続する方法に関する特定の推奨事項については、ネットワーク・セキュリティ管理者に連絡してください。前提条件
- コンソールまたはAPIを使用してデフォルトの管理サービスの接続文字列を取得するには、コンソールまたはSDK、CLIまたはその他のツールを使用したREST APIのどちらを使用しているかにかかわらず、管理者が作成するpolicyで必要なアクセスのタイプを付与する必要があります。 アクションを実行しようとしたときに、権限がないか許可されていないというメッセージが表示された場合は、付与されているアクセス権のタイプと作業するcompartmentを管理者に確認してください。
-
データベースに接続するには、DBシステムのパブリックまたはプライベートIPアドレスが必要です。
プライベートIPアドレスを使用して、オンプレミス・ネットワークから、またはVirtual Cloud Network (VCN)内からシステムに接続します。 これには、VPNまたはFastConnectを介してVCNに接続するオンプレミスにあるホストからの接続や、同じVCNの別のホストからの接続も含まれます。 パブリックIPアドレスを使用して、クラウドの外部からシステムに接続します(VPNなし)。 IPアドレスは、次のようにコンソールで確認できます:
- DB Systemの詳細ページで、「ノード」タブを選択します。
- 「DNS名」、「パブリックIPアドレス」および「プライベートIPアドレス」が表の列に表示されます。
- DBシステムへのSecure Shell (SSH)アクセスの場合、DBシステムの起動時に使用された公開キーに関連付けられた秘密キーを含むファイルへのフルパスが必要です。
接続に問題がある場合は、「接続に関する問題のトラブルシューティング」を参照してください。
データベース・サービスおよび接続文字列
データベース・サービスを使用すると、必要な機能に応じて、データベース・インスタンスへのクライアント・アクセスを制御できます。 たとえば、管理目的でのみデータベースにアクセスする必要がある場合や、アプリケーションをデータベースに接続する必要がある場合があります。 接続文字列は、データベース・サービスに固有です。
DBシステムをプロビジョニングすると、デフォルトのデータベース管理サービスが自動的に作成されます。 12c以降のOracle Databaseの場合、このサービスはCDBレベルでのデータベースの管理用です。 このサービスでは機能が制限されているため、アプリケーションの接続には適していません。 Oracleでは、DBシステムの作成後に初期データベースのデフォルトのアプリケーション・サービスを作成することをお薦めします。 12c以降のOracle Databaseの場合、アプリケーション・サービスはPDBレベルで接続します。 アプリケーション・サービスが提供できる重要な機能は次のとおりです:
- ワークロードの識別
- ロード・バランシング
- アプリケーション継続性とトランザクション・ガード
- 高速アプリケーション通知
- サービス名に基づくリソース割当
これらの機能およびその他の高可用性機能の詳細は、「高可用性Oracle Databaseのクライアント・フェイルオーバーのベスト・プラクティス」を参照してください。
アプリケーション・サービスの作成
srvctlユーティリティを使用して、アプリケーション・サービスを作成します。 サービスに接続する前に、サービスを起動する必要があります。
次のステップを使用して、PDBまたは11g Oracleデータベースのアプリケーション・サービスを作成できます。
- DBシステム・ホストに
opcとしてログインします。 - oracleユーザーに切り替えて、管理するOracle Databaseに環境を設定します。
sudo su - oracle . oraenvORACLE_SID = [oracle] ? <database_name> The Oracle base has been set to /u01/app/oracle - データベースのアプリケーション・サービスを作成します。 PDBのアプリケーション・サービスを作成する場合にのみ、
pdbオプションを含めます。srvctl add service -db <DB_unique_name> -pdb <PDB_name> -service <app_service_name> -role PRIMARY -notification TRUE -session_state dynamic -failovertype transaction -failovermethod basic -commit_outcome TRUE -failoverretry 30 -failoverdelay 10 -replay_init_time 900 -clbgoal SHORT -rlbgoal SERVICE_TIME -preferred <rac_node1>,<rac_node2> -retention 3600優先オプションは、マルチ・ノード・データベースでRAC内のノードのホスト名を指定する場合にのみ必要です。
- アプリケーション・サービスを起動します。
srvctl start service -db <DB_unique_name> -s <app_service_name>
PDBのサービスの詳細は、「PDBの管理」を参照してください。
データベース接続文字列
データベース管理またはアプリケーション・サービスにアクセスするには、適切な接続文字列を使用する必要があります。 コンソールまたはAPIを使用して、VCN内からデフォルトの管理サービスに接続するための文字列を取得できます。 12c以降のOracle Databaseの場合、このサービスはCDBレベルでのデータベースの管理用です。 この文字列は、簡易接続と完全な接続記述子(長い)形式の両方で提供されます。 ホスト名解決が使用できない場合は、接続に長い形式を使用します。 長い形式を使用して、tnsnames.oraファイルに別名を作成することもできます。
VCN内のデータベース・サービスにアクセスする場合、Real Application Cluster (RAC) DBシステムの接続文字列は単一クライアント・アクセス名(SCAN)を使用し、単一インスタンスDBシステムの接続文字列はかわりにホスト名を使用します。
プライベートSCAN名は、2ノードRAC DBシステムの起動時に作成されたRound Robin DNSエントリです。 プライベートSCAN名は、VCN内でのみ解決できます。 クライアントとデータベースが同じVCN内にある場合、接続メカニズムはオンプレミスRACデータベースと同じになります。サーバー側のロード・バランシングやVIPフェイルオーバーなど、VIPおよびSCAN VIPによって提供されるすべての機能を使用できます。
ノート:
DBシステムのDB_UNIQUE_NAME、DB_DOMAINまたはリスナー・ポートを手動で変更した場合、コンソールまたはAPIに表示される接続文字列には変更が反映されません。 接続するときは、これらのパラメータの実際の値を使用してください。接続文字列の取得
コンソールを使用して、次のステップを使用してデフォルトの管理サービスの接続文字列を取得できます:
- 「DBシステム」リスト・ページで、操作するデータベースを含むDBシステムを選択します。 リスト・ページまたはDBシステムの検索に関するヘルプが必要な場合は、「DBシステムのリスト」を参照してください。
- 「データベース」タブで、操作するデータベースを選択します。
- データベースの詳細ページで、「接続」タブを選択します。 接続文字列のリストが表示されます。
- 接続文字列の「ビュー」または「コピー」への適用可能なリンクを選択します。
デフォルトのアプリケーション・サービス接続文字列の一部を適切な値に置き換えることで、他のデータベース・サービスの接続文字列を導出できます。
接続文字列の導出
PDB管理サービスまたはアプリケーション・サービスの接続文字列を導出するには、次のステップを実行します。
- デフォルトの管理サービスの簡易接続文字列を取得するには、手順に従います。 その文字列の形式は、次のとおりです:
<hostname|SCAN>:1521/<DB_unique_name>.<DB_domain> - 適切な置換を行います:
-
PDB管理サービスの場合、
DB_unique_nameをPDB名に置き換えます。<hostname|SCAN>:1521/<PDB_name>.<DB_domain> -
アプリケーション・サービスの場合、
DB_UNIQUE_NAMEをアプリケーション・サービスの名前に置き換えます。<hostname|SCAN>:1521/<app_service_name>.<DB_domain>
-