DBシステムへの接続の概要
この記事では、アクティブなDBシステムへの接続に必要な様々な設定の概要を示します。接続方法は、使用するクライアント・ツールまたはプロトコル、接続の目的、およびクラウド・ネットワークの設定方法によって異なります。
ノート:
ネットワーキングの概要で様々なネットワーク・シナリオに関する情報を確認できますが、クラウドでのデータベースへの接続方法に関する特定の推奨事項については、ネットワーク・セキュリティ管理者に問い合せてください。前提条件
- コンソールまたはAPIを使用してデフォルトの管理サービス接続文字列を取得するには、コンソールを使用しているか、SDK、CLIまたはその他のツールでREST APIを使用しているかに関係なく、管理者により作成されたポリシー内で必要なタイプのアクセス権を付与されている必要があります。アクションを実行しようとして、権限がない、または認可されていないというメッセージが表示される場合は、自分に付与されているアクセス権のタイプ、および作業場所のコンパートメントを管理者に確認してください。
-
データベースに接続するには、DBシステムのパブリックIPアドレスまたはプライベートIPアドレスが必要になります。
プライベートIPアドレスを使用して、オンプレミス・ネットワークから、または仮想クラウド・ネットワーク(VCN)内からシステムに接続します。これには、VPNまたはFastConnectを介してVCNに接続するオンプレミス上のホストから、または同じVCN内の別のホストからの接続が含まれます。パブリックIPアドレスを使用して、クラウド外部(VPNなし)からシステムに接続します。IPアドレスは、コンソールで次のようにして確認できます:
- DB Systemの詳細ページで、「ノード」タブを選択します。
- 「DNS名」、「パブリックIPアドレス」および「プライベートIPアドレス」が表の列に表示されます。
- DBシステムにSecure Shell (SSH)でアクセスする場合は、DBシステムの起動時に使用された公開キーに関連付けられている秘密キーが含まれるファイルへのフル・パスが必要になります。
接続時に問題が発生した場合は、接続の問題のトラブルシューティングを参照してください。
データベース・サービスおよび接続文字列
データベース・サービスを使用すると、必要な機能に応じてデータベース・インスタンスへのクライアント・アクセスを制御できます。たとえば、管理目的でのみデータベースにアクセスする必要がある場合や、アプリケーションをデータベースに接続する必要がある場合などがあります。接続文字列は、データベース・サービスに固有です。
DBシステムをプロビジョニングすると、デフォルトのデータベース管理サービスが自動的に作成されます。12c以降のOracle Databaseでは、このサービスはCDBレベルでデータベースを管理するためのものです。このサービスは、提供される機能が限られているため、アプリケーションの接続には適していません。DBシステムを作成した後、初期データベース用のデフォルト・アプリケーション・サービスを作成することをお薦めします。12c以降のOracle Databaseでは、アプリケーション・サービスはPDBレベルで接続します。アプリケーション・サービスで提供できる重要な機能をいくつか示します:
- ワークロードの識別
- ロード・バランシング
- アプリケーション・コンティニュイティおよびトランザクション・ガード
- 高速アプリケーション通知
- サービス名に基づくリソース割当て
これらの機能およびその他の高可用性機能の詳細は、高可用性Oracle Databaseに関するクライアント・フェイルオーバーのベスト・プラクティスを参照してください。
アプリケーション・サービスの作成
アプリケーション・サービスを作成するには、srvctl
ユーティリティを使用します。サービスに接続する前に、サービスを起動する必要があります。
次のステップを使用して、PDBまたは11g Oracleデータベース用のアプリケーション・サービスを作成できます。
opc
としてDBシステム・ホストにログインします。- oracleユーザーに切り替えて、環境を管理対象のOracle Databaseに設定します。
sudo su - oracle . oraenv
ORACLE_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システムを起動したときに作成されるラウンド・ロビンDNSエントリです。プライベートSCAN名は、VCN内でのみ解決可能です。クライアントとデータベースが同じVCNにある場合、接続メカニズムはオンプレミスRACデータベースと同じです。VIPおよびSCAN VIPによって提供されるすべての機能(サーバー側ロード・バランシングや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>
-