7 Oracle REST Data Servicesでのマルチテナント・アーキテクチャの使用
この項では、Oracle REST Data Serviceをマルチテナント・コンテナ・データベースへインストール、構成、アップグレードおよびアンインストールする概要を示します。
ノート:
Oracle API for MongoDBは、非CDBデータベース内かPDB内のインストールの場合のみサポートされています。非CDBデータベースまたはPDBへのOracle REST Data Servicesのインストールの詳細は、「Oracle REST Data Servicesのインストール」を参照してください。ORDSメタデータをデータベースに保存した後、ORDSにランタイム構成設定を提供して、対応するプラガブル・データベースにリクエストを効率的にマップする必要があります。
7.1 CDB環境でのORDSの設定
この項では、マルチテナント・コンテナ・データベース(CDB)環境にOracle REST Data Services (ORDS)を設定する方法について説明します。
Oracle Database 12cリリース1 (12.1)では、マルチテナント・アーキテクチャが導入されています。このデータベース・アーキテクチャには、ルート・コンテナCDB$ROOT
、シード・データベースPDB$SEED
および複数のプラガブル・データベース(PDB)を含むマルチテナント・コンテナ・データベース(CDB)が含まれます。PDBは、ユーザーおよびアプリケーションからは、非CDBであるかのように見えます。各PDBは、Oracle Databaseリリース11gの個別のデータベース・インスタンスに相当します。
ルート・コンテナCDB$ROOT
は、メタデータ・リンクまたはオブジェクト・リンクを使用してすべてのPDBにアクセス可能な共通オブジェクトを保持します。シード・データベースPDB$SEED
は、新しいプラガブル・データベースをシードするために新しいPDBを作成する際に使用されます。Oracle Database 12cマルチテナント・アーキテクチャの主なメリットは、CPUやメモリーなどのデータベース・リソースをすべてのPDBで共有できることです。また、このアーキテクチャでは、アップグレード、パッチ、バックアップなどのタスクにおいて、複数のデータベースを1つのデータベースとして扱うことができます。
Oracle REST Data ServicesのCDBインストールのインストール前タスク
-
PDBが読取り/書込みモードでオープン(マウント済またはクローズ済ではない)であることを確認します(
PDB$SEED
以外。これは読取り専用モードのままです)。詳細は、『Oracle Multitenant管理者ガイド』を参照してください -
デフォルトの表領域および一時表領域が
ORDS_METADATA
スキーマによって使用され、ORDS_PUBLIC_USER
ユーザーが存在し、表領域名がわかっていることを確認します。インストール・プロシージャはそれらのユーザーを作成しますが、表領域は作成しません。 - 共通ユーザーがPL/SQLゲートウェイに使用されている場合、そのユーザーがPDB$SEEDコンテナにも明示的に作成されていることを確認してください。そうでない場合、インストーラはPL/SQLゲートウェイを正しく構成できません。
ノート:
ORDS_METADATA
およびORDS_PUBLIC_USER
がシード・コンテナにインストールされ、デフォルトの表領域および一時表領域がPDB$SEED
に存在します。これらの表領域がまだ存在していない場合、PDB$SEED
に表領域を作成する必要があります。詳細は、『Oracle Multitenant管理者ガイド』を参照してください7.1.1 複数リリースを有効にするインストール
この項では、マルチテナント環境でOracle REST Data Servicesおよびパッチ・セットの複数リリースをPDBで使用している場合のインストール・プロセスについて説明します。
Oracle REST Data ServicesをCDBにインストールすると、プロキシ・ユーザーのOracle REST Data Servicesパブリック・ユーザー(ORDS_PUBLIC_USER
)がルート・コンテナにインストールされ、共通ユーザーになります。ORDS_METADATA
スキーマは、Oracle REST Data Servicesのメタデータを含むローカル・ユーザーです。ORDS_METADATA
スキーマおよびORDS_PUBLIC_USER
の両方がシード・コンテナ(PDB$SEED
)およびすべてのプラガブル・データベースにインストールされます。
ORDS_METADATA
はローカル・ユーザーとしてインストールされているため、プラガブル・データベースに複数のOracle REST Data Servicesリリースをインストールする柔軟性が提供されます。
7.1.1.2 対話型インストール
この項では、Oracle REST Data ServicesをCDBにインストールして複数のOracle REST Data Servicesリリースを有効にするためのインストール・プロンプトについて説明します。
Oracle REST Data ServicesをCDBにインストールして複数のOracle REST Data Servicesのリリースを有効にするには、次のステップを実行します。
ords --config <CONFIG_FOLDER> install
ORDS構成ファイルの作成または更新、ORDSスキーマ、ORDSデータベース・ユーザー、およびデータベース内の関連データベース・オブジェクトのインストールに必要な情報の入力を求められます。接続情報の入力を求められたら、CDBへの接続情報を指定してください。Enter a number to select the database connection type to use
[1] Basic (host name, port, service name)
[2] TNS (TNS alias, TNS directory)
[3] Custom database URL
Choose [1]:
Enter the database host name [localhost]: myhost
Enter the database listen port [1521]: 1523
Enter the database service name [orcl]: mycdb
ノート:
プラガブル・マッピング機能を使用するための詳細は、「Oracle REST Data Servicesによって、すべてのPDBをアドレス可能にする(プラガブル・マッピング)」を参照してください。関連項目:
追加のデータベース・プールの作成7.1.2 CDB環境でのOracle REST Data Servicesのアップグレード
Oracle REST Data Services (ORDS)の最新リリースを使用し、以前のORDSリリースからすでにORDSがデータベースに存在する場合、インストール・コマンドを使用してCDBとそのプラガブル・データベース(PDB)のORDSスキーマをアップグレードできます。
たとえば:
ords install --interactive --log-folder <LOG_FOLDER>
ノート:
ORDS対話型インストール・コマンドを使用してCDB内のORDSをアップグレードする場合、ORDSがすでにインストールされているか、現在のリリースにアップグレードされている場合は、情報の入力を求められません。7.1.2.1 CDBで複数リリースを有効にするためのOracle REST Data Servicesの移行
この項では、CDBのOracle REST Data Servicesを移行して複数のリリースを有効にする方法について説明します。
リリース18.2.0以降、CDB$ROOT
コンテナにインストールされているOracle REST Data ServicesスキーマおよびORDS_METADATA
がある場合、アップグレード中に共通のORDS_METADATA
スキーマがローカル・スキーマとしてPDBに移行されます。Oracle Database 12.1.0.2以降のリリースでは、この変更がサポートされます。
7.2 アプリケーション・コンテナでのORDSの設定
この項では、アプリケーション・コンテナにOracle REST Data Servicesを設定する方法について説明します。
ORDSリリース20.2.1以降、ords.version.number.zip
ファイルで提供されるORDS SQLスクリプトを使用して、Oracle REST Data Servicesをアプリケーション・コンテナにインストールまたはアップグレードできます。
アプリケーション・コンテナは、アプリケーションが定義されているアプリケーション・ルートと、アプリケーション・ルートからアプリケーションに関するメタデータを共有する1つ以上のPDBから構成されます。1つのCDBに複数のアプリケーション・コンテナを含め、各コンテナに異なるバージョンのOracle REST Data Servicesを含めることができます。アプリケーション・コンテナでのOracle REST Data Servicesのインストールまたはアップグレードは、アプリケーション・ルート・コンテナに対して実行されます。アプリケーションPDBがアップグレードされたバージョンを使用する場合、アプリケーション・ルートと同期する必要があります。アプリケーションPDBがアプリケーション・ルートと同期するまで、Oracle REST Data Servicesは既存のバージョンのアプリケーションPDBで引き続き実行されます。
トピック:
7.2.1 アプリケーション・コンテナ内にORDSを作成するための前提条件
この項では、ORDSをアプリケーション・コンテナにインストールするための前提条件について説明します。
- Oracle REST Data Servicesダウンロードから、ORDSバージョン20.2.1以上をダウンロードします。
- ORDS SQLスクリプトを抽出します。
- ORDS SQLスクリプトを取得するには、次のコマンドを実行します。
unzip ords.version.number.zip ords.war unzip ords.war 'WEB-INF/lib/ords-installer-*.jar' unzip 'WEB-INF/lib/ords-installer-*.jar' 'db/*' mv db scripts
7.2.1.1 アプリケーション・ルート・コンテナの作成
この項では、アプリケーション・ルート・コンテナを作成する方法について説明します。
- 現在のコンテナが
CDB$ROOT
にあることを確認します。 - アプリケーション・コンテナを作成するには、
CREATE PLUGGABLE DATABASE
文のAS APPLICATION CONTAINER句を使用します。 - アプリケーション・コンテナを開きます。
例:
CREATE PLUGGABLE DATABASE ords_app_root1 AS APPLICATION CONTAINER ADMIN USER admin IDENTIFIED BY <admin_password>
FILE_NAME_CONVERT=('pdbseed', 'ords_app_root1');
ALTER PLUGGABLE DATABASE ords_app_root1 OPEN;
ノート:
前述の例のords_app_root1
およびadmin
ユーザーには、任意の有効なOracle識別子を指定できます。
CDB内でOracle Managed Filesが有効になっている場合、またはPDB_FILE_NAME_CONVERT
初期化パラメータが設定されている場合は、FILE_NAME_CONVERT
句を省略します。
ORDSユーザー、つまりORDS_PUBLIC_USER
とORDS_METADATA
がシードPDB (pdbseed
など)やクローンPDBに存在しない必要があります。
関連項目:
アプリケーション・コンテナの作成7.2.2 アプリケーション・ルート・コンテナへのORDSのインストール
この項では、ORDSをアプリケーション・ルート・コンテナにインストールする方法について説明します。
- アプリケーション・ルート・コンテナに接続します。
- 次のパラメータを使用して、
/path/to/scripts/install/core/ords_app_con_install.sql
コマンドを実行します。- ログ・フォルダ(最後にスラッシュを含める必要があります)
- ORDSスキーマのデフォルト表領域
- ORDSスキーマの一時表領域
- ORDSプロキシ・ユーザーのデフォルト表領域
- ORDSプロキシ・ユーザーの一時表領域
- ORDSプロキシ・ユーザー・パスワード
- スクリプト・パス(ORDSスクリプトへの完全修飾パスが必要)
ノート:
表領域がすでにデータベースに存在している必要があります。
ALTER SESSION SET CONTAINER = ords_app_root1;
@/path/to/scripts/install/core/ords_app_con_install.sql /path/to/logs/ SYSAUX TEMP SYSAUX TEMP <PASSWORD> /path/to/scripts
説明:
ords_app_con_install.sql
はORDSという名前のアプリケーションを作成し、そのアプリケーション・バージョンをORDS製品バージョンに割り当てます。製品バージョンの形式は、Year.Quarter.Patch.rJulianDay24HRMMです(20.2.1.r2121800など)。
- ORDSスキーマ
ORDS_METADATA
- ORDSプロキシ・ユーザー
ORDS_PUBLIC_USER
および - アプリケーション・コンテナ内の関連データベース・オブジェクト
7.2.3 アプリケーション・シードの作成
この項では、アプリケーション・シードを作成する方法について説明します。
アプリケーション・シードは、アプリケーション・ルートの事前にインストールされたアプリケーションにアプリケーションPDBをプロビジョニングするために使用されます。
- 現在のコンテナが
CDB$ROOT
にあることを確認します。 - セッションを変更し、コンテナをアプリケーション・ルートに設定します。
- アプリケーション・シードを作成するには、
CREATE PLUGGABLE DATABASE
文のAS SEED句を使用します。 - ORDSアプリケーションをアプリケーション・シードと同期します。
- 無効なオブジェクトをコンパイルします。
- アプリケーション・シードを読取り専用モードで開きます。
ノート:
次の例のords_app_root1
およびadmin
ユーザーには、任意の有効なOracle識別子を指定できます。
CDB内でOracle Managed Filesが有効になっている場合、またはPDB_FILE_NAME_CONVERT
初期化パラメータが設定されている場合は、FILE_NAME_CONVERT
句を省略します。
ALTER SESSION SET CONTAINER = ords_app_root1;
CREATE PLUGGABLE DATABASE AS SEED ADMIN USER admin IDENTIFIED BY <admin_password>
FILE_NAME_CONVERT=('pdbseed', 'ords_app_root1_seed');
ALTER PLUGGABLE DATABASE ords_app_root1$seed open;
ALTER SESSION SET CONTAINER = ords_app_root1$seed;
ALTER PLUGGABLE DATABASE application ORDS sync;
begin
sys.dbms_utility.compile_schema('ORDS_METADATA', FALSE);
end;
/
ALTER PLUGGABLE DATABASE ords_app_root1$seed close immediate;
ALTER PLUGGABLE DATABASE ords_app_root1$seed open read only;
関連項目:
アプリケーション・コンテナの作成7.2.4 アプリケーション・シードからのアプリケーションPDBの作成
この項では、アプリケーション・シードからシードされたアプリケーションPDBを作成する方法について説明します
アプリケーションPDBは、アプリケーション・ルートからCREATE PLUGGABLE DATABASE
文を発行することで作成されます。
- 現在のコンテナが
CDB$ROOT
にあることを確認します。 - セッションを変更し、コンテナをアプリケーション・ルートに設定します。
CREATE PLUGGABLE DATABASE
コマンドを使用して、アプリケーション・シードからPDBを作成します。
ノート:
次の例のords_app_pdb1
およびadmin
ユーザーには、任意の有効なOracle識別子を指定できます。
CDB内でOracle Managed Filesが有効になっている場合、またはPDB_FILE_NAME_CONVERT
初期化パラメータが設定されている場合は、FILE_NAME_CONVERT
句を省略します。
ALTER SESSION SET CONTAINER=ords_app_root1;
CREATE PLUGGABLE DATABASE ords_app_pdb1 ADMIN USER admin IDENTIFIED BY <admin password>
FILE_NAME_CONVERT=('ords_app_root1_seed','ords_app_pdb1');
ALTER PLUGGABLE DATABASE ords_app_pdb1 OPEN;
ALTER SESSION SET CONTAINER = ords_app_pdb1;
select app_name, app_version, app_status from dba_applications where app_name = 'ORDS';
APP_NAME APP_VERSION APP_STATUS
-------- --------------- ------------
ORDS 20.2.1.r2121800 NORMAL
関連項目:
アプリケーション・コンテナの作成7.2.5 APEXのPLSQLゲートウェイの構成
この項では、必要な場合に、APEXと連携するようにPL/SQLゲートウェイを構成する方法について説明します。APEX_PUBLIC_USERは、APEX内からORDS RESTfulサービスをサポートするために、ORDS_PUBLIC_USERにプロキシするように構成する必要があります。
- 現在のコンテナが
CDB$ROOT
にあることを確認します。 - セッションを変更し、コンテナをアプリケーションpdbに設定します(例:
ords_app_pdb1
)。ALTER SESSION SET CONTAINER = ords_app_pdb1; ALTER USER APEX_PUBLIC_USER GRANT CONNECT THROUGH ORDS_PUBLIC_USER; begin ords_admin.config_plsql_gateway( p_runtime_user => 'ORDS_PUBLIC_USER', p_plsql_gateway_user => 'APEX_PUBLIC_USER', p_comments => 'APEX proxied to ORDS'); commit; end; /
ords --config <configuration folder> config set plsql.gateway.mode proxied
7.2.6 ORDS構成ファイルの設定
この項では、ORDS構成ファイルを設定する方法について説明します。
7.2.6.1 ORDS構成フォルダの指定
この項では、ORDS構成フォルダを指定する方法について説明します。
7.2.6.2 アプリケーション・ルート・コンテナのORDS構成ファイルの作成
この項では、アプリケーション・ルート・コンテナにORDS構成ファイルを作成する方法について説明します。
アプリケーション・ルート・コンテナにORDS構成ファイルを作成するには、次のinstallコマンドを実行して構成ファイルを作成します。
ords --config <configuration folder> install --interactive --config-only --log-folder <Log Folder>
ここで、構成ファイルを作成するために--config-only
オプションを指定する必要があります。現在の値を表示するオプションのリストがあり、値を変更できます。このオプションのリストにサービス名を入力するよう求められたら、アプリケーション・ルートのサービス名を指定します。
例7-1 ORDS構成の作成
ORDS_PUBLIC_USER
に使用したものと同じパスワードを指定する必要があります。
ノート:
Oracle APEXがデータベースにインストールされている場合は、APEXイメージの場所を指定します。例:
APEX静的リソースの場所: /path/to/apex/images
。
HTTPではなくHTTPSプロトコルを使用することをお薦めします。
例7-2 基本接続の使用
Oracle REST Data Services - Interactive Install
Enter a number to select the database connection type to use
[1] Basic (host name, port, service name)
[2] TNS (TNS alias, TNS directory)
[3] Custom database URL
Choose [1]:
Enter the database host name [localhost]:
Enter the database listen port [1521]:
Enter the database service name [orcl]: ords_app_root1
Specify the Application Root servicename.
Enter a number to update the value or select option A to Accept and Continue
[1] Connection Type: Basic
[2] Basic Connection: HOST=localhost PORT=1521 SERVICE_NAME=ords_app_root1
[3] Database password for ORDS runtime user (ORDS_PUBLIC_USER): <generate>
[4] Additional Feature: Database Actions
[5] Configure for Standalone Mode: Yes
[6] Protocol: HTTP
[7] HTTP Port: 8080
[8] APEX static resources location:
[A] Accept and Continue - Create database pool
[Q] Quit - Do not proceed. No changes
Choose [A]: 3
Select option 3 to update the ORDS_PUBLIC_USER password.
Enter your choice for the runtime user password (ORDS_PUBLIC_USER)
[S] Specify your own password
[G] Generate password
[C] Cancel - No Changes
Choose [G]: S
Select option S to specify the password.
Enter the database password for ORDS_PUBLIC_USER:
Confirm password:
Enter the same password you specified for the ORDS_PUBLIC_USER
in section Installing ORDS in the Application Root Container.
Enter a number to update the value or select option A to Accept and Continue
[1] Connection Type: Basic
[2] Basic Connection: HOST=localhost PORT=1521 SERVICE_NAME=ords_app_root1
[3] Database password for ORDS runtime user (ORDS_PUBLIC_USER): <specified password>
[4] Additional Feature: Database Actions
[5] Configure for Standalone Mode: Yes
[6] Protocol: HTTP
[7] HTTP Port: 8080
[8] APEX static resources location:
[A] Accept and Continue - Create database pool
[Q] Quit - Do not proceed. No changes
Choose [A]:
Make any additional changes.
Enter a number to update the value or select option A to Accept and Continue
[1] Connection Type: Basic
[2] Basic Connection: HOST=localhost PORT=1521 SERVICE_NAME=ords_app_root1
[3] Database password for ORDS runtime user (ORDS_PUBLIC_USER): <specified password>
[4] Additional Feature: Database Actions
[5] Configure for Standalone Mode: Yes
[6] Protocol: HTTPS
[7] HTTPS Port: 8443
[8] Certificate Type: Use my SSL Certificate
[9] Path for the SSL Certificate: /path/to/mycert.crt
[10] Path for the SSL Certificate private key: /path/to/mycert.der
[11] APEX static resources location: /path/to/apex/images
[A] Accept and Continue - Create database pool
[Q] Quit - Do not proceed. No changes
Choose [A]:
Select option A to create your database pool.
7.2.7 ORDSの実行
この項では、ORDSをアプリケーション・コンテナにインストールした後にORDSを実行するために使用できる様々な方法をリストします。
- スタンドアロン・モード
- Oracle WebLogic Serverにデプロイします
- Oracle REST Data ServicesをApache Tomcatにデプロイします
7.2.8 アプリケーション・コンテナ内のORDSのアップグレード
この項では、アプリケーション・ルート・コンテナ内のORDSをアップグレードする方法について説明します。
アプリケーション・コンテナのアプリケーションをアップグレードできます。これらの操作は、アプリケーション・ルート内で実行されます。アプリケーションPDBがアプリケーション・ルート内のアプリケーションと同期するときに、アプリケーション・コンテナによってアプリケーションの変更がアプリケーションPDBに伝播されます。
- ORDSがアプリケーション・コンテナにすでにインストールされている必要があります。
- 以前のリリースから新しいリリースへのORDSのアップグレード。
- SQLclまたはSQL*Plusで、アプリケーション・ルートに接続します。
- 次のパラメータを使用して、
/path/to/scripts/upgrade/ords_app_con_upgrade.sql
を実行します。- ログ・フォルダ(最後にスラッシュを含める必要があります)
- スクリプト・パス(ORDSスクリプトへの完全修飾パスが必要)
ノート:
ords_app_con_upgrade.sql
スクリプトによって、アプリケーション・ルート・コンテナ内のORDSが、使用するリリースにアップグレードされます。たとえば、ORDSアプリケーション・バージョンが20.2.1.r2121800で、ORDSアップグレード・スクリプトが20.3.0.r2601900の場合、スクリプトによってアプリケーション・ルート・コンテナ内のORDSがリリース20.3.0.r2601900にアップグレードされます。
アプリケーションPDBのORDSアプリケーションをアプリケーション・ルートのアップグレード変更と同期するには:
- SQLclまたはSQL*Plusで、現在のコンテナがアプリケーションPDBになっていることを確認します。
- SYNC句でORDSアプリケーションを指定して、
ALTER PLUGGABLE DATABASE APPLICATION
文を実行します。
ALTER SESSION SET CONTAINER = ords_app_pdb1;
ALTER PLUGGABLE DATABASE APPLICATION ORDS SYNC;
7.2.9 アプリケーション・コンテナからのORDSのアンインストール
この項では、アプリケーション・コンテナからORDSをアンインストールする方法について説明します。
アプリケーション・コンテナからアプリケーションをアンインストールできます。これらの操作は、アプリケーション・ルート内で実行されます。アプリケーションPDBがアプリケーション・ルート内のアプリケーションと同期するときに、アプリケーション・コンテナによってアプリケーションの変更がアプリケーションPDBに伝播されます。
- SQLclまたはSQL*Plusで、アプリケーション・ルートに接続します。
- 次のパラメータを使用して、
/path/to/scripts/uninstall/core/ords_app_con_uninstall.sql
を実行します。- ログ・フォルダ(最後にスラッシュを含める必要があります)
- スクリプト・パス(ORDSスクリプトへの完全修飾パスが必要)
ALTER SESSION SET CONTAINER = ords_app_root1;
@/path/to/scripts/uninstall/core/ords_app_con_uninstall.sql /path/to/logs/ /path/to/scripts
- SQLclまたはSQL*Plusで、現在のコンテナがアプリケーションPDBになっていることを確認します。
- SYNC句でORDSアプリケーションを指定して、
ALTER PLUGGABLE DATABASE APPLICATION
文を実行します。
たとえば:
ALTER SESSION SET CONTAINER = ords_app_pdb1;
ALTER PLUGGABLE DATABASE APPLICATION ORDS SYNC;
7.2.10 アプリケーション・コンテナ内のORDSの確認
この項では、アプリケーション・コンテナ内のORDSを確認する方法について説明します。
- 次のログ・ファイルにエラーがないか手動で調べます。
インストール - ordsinstall_<timestamp>.log
アップグレード - ordsupgrade_<timestamp>.log
アンインストール - ordsuninstall_<timestamp>.log
dba_applications
を問い合せて、ORDSアプリケーションが存在しているかどうか、およびそのアプリケーション・バージョンがORDS製品バージョンと同じかどうかを確認します。SQL> select app_name, app_version, app_status from dba_applications where app_name = 'ORDS'; APP_NAME APP_VERSION APP_STATUS -------- --------------- ------------ ORDS 20.2.1.r2121800 NORMAL
dba_app_errors
を問い合せて、エラーがないか確認します。SQL> select app_name, app_statement, errornum, errormsg from dba_app_errors where app_name = 'ORDS';
no rows selected
アプリケーション・コンテナからORDSをアンインストールする場合は、
APP_STATUS
に値UNINSTALLED
が含まれます。
7.3 Oracle REST Data Servicesによって、すべてのPDBをアドレス可能にする(プラガブル・マッピング)
プラガブル・マッピングとは、Oracle REST Data ServicesによってCDBルートまたはアプリケーション・ルート・コンテナ内のすべてのPDBをアドレス可能にする機能のことです。この機能を使用するには、このトピックで説明する手順に従ってください。
Oracle REST Data Services構成ファイルにdb.serviceNameSuffix
パラメータが含まれている場合、これはOracle REST Data ServicesプールがCDBルートまたはアプリケーション・ルートを指し、そのCDBルートまたはアプリケーション・ルートに接続されているPDBをOracle REST Data Servicesによってアドレス可能にすることを示しています。プラガブル・マッピングが機能するには、このパラメータ設定を指定する必要があります。db.serviceNameSuffix
パラメータは、プール固有のレベルまたはグローバル・レベルで指定できます。パラメータをグローバル・レベルに設定した場合、CDB接続を定義するすべてのデータベース・プール構成に適用できます。また、パラメータをグローバル・レベルに設定した場合、データベース・アクションのランディング・ページ(<server-name>:<port-number>/ords/sql-developer
)にPDB名のプロンプトが表示されます。
db.serviceNameSuffix
パラメータの値は、次のルールに基づいて、DB_DOMAINデータベース初期化パラメータの値に対応している必要があります。
- DB_DOMAIN値が空白の場合、
db.serviceNameSuffix
パラメータも空の文字列である必要があります。 - DB_DOMAIN値が空白でない場合、
db.serviceNameSuffix
パラメータにはピリオド(.)で始まる値が必要です。
db.serviceNameSuffix
パラメータの値を設定するには:
-
SQLclまたはSQL*Plusで、SYSDBA権限を持つユーザーとしてルートに接続します。
-
DB_DOMAIN
データベース初期化パラメータの値を確認します。SQL> show parameter DB_DOMAIN
-
SQLclまたはSQL*Plusを終了します。
SQL> exit
-
db.serviceNameSuffix
パラメータ値が定義されていない場合、次の形式でコマンドを入力して構成ファイルにエントリを追加します。ords --config /path/to/config config --db-pool pool-name set "db.serviceNameSuffix" ".value-of-DB_DOMAIN"
ここで、
pool-name
は次のいずれかになります。-
デフォルトおよび移行済プールの場合は
default
-
ORDSのインストール中に指定された<custom_pool>
例1: CDBルートまたはアプリケーション・ルートのPDBをグローバルにアドレス可能にします。次のコマンドを入力して、グローバル設定を指定します。
ords --config /path/to/config config set --global "db.serviceNameSuffix" ".value-of-DB_DOMAIN"
ノート:
ほとんどのユースケースでは、例1で示した方法、つまり、すべてのプールのプロパティを
global/settings.xml
ファイルを使用して設定する方法が最適です。例2: CDBルートまたはアプリケーション・ルートのPDBをPL/SQLゲートウェイにアドレス可能にし、プール名を
my_pool
にします。次のコマンドを入力します。ords --config /path/to/conf config --db-pool my_pool set "db.serviceNameSuffix" ".example.com"
たとえば、apexによって指定されているデータベースに
example.com
のDB_DOMAIN
値があり、2つのPDB(pdb1.example.com
およびpdb2.example.com
)がある場合、最初のPDBはパスが/ords/pdb1/
で始まるURLにマップされ、2番目のPDBはパスが/ords/pdb2/
で始まるURLにマップされます。例3: CDBルートまたはアプリケーション・ルートのPDBをグローバルにアドレス可能にし、DB_DOMAINを空の値にします。次のコマンドを入力して、
db.serviceNameSuffix
パラメータをグローバルに指定します。ords --config /path/to/config config set --global "db.serviceNameSuffix" ""
-