4 Oracle REST Data Servicesでのマルチテナント・アーキテクチャの使用
この項では、Oracle REST Data Serviceをマルチテナント・コンテナ・データベースへインストール、構成、アップグレードおよびアンインストールする概要を示します。
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つのデータベースとして扱うことができます。
ノート:
(インストール時にルートに接続されていない) PDBに直接インストールする場合の詳細は、「コマンドライン・プロンプトを使用した拡張インストール」を参照してください。Oracle REST Data ServicesのCDBインストールのインストール前タスク
-
PDBが読取り/書込みモードでオープン(マウント済またはクローズ済ではない)であることを確認します(
PDB$SEED
以外。これは読取り専用モードのままです)。詳細は、『Oracle Multitenant管理者ガイド』を参照してください -
デフォルトの表領域および一時表領域が
ORDS_METADATA
スキーマによって使用され、ORDS_PUBLIC_USER
ユーザーが存在し、表領域名がわかっていることを確認します。インストール・プロシージャはそれらのユーザーを作成しますが、表領域は作成しません。
ノート:
ORDS_METADATA
およびORDS_PUBLIC_USER
がシード・コンテナにインストールされ、デフォルトの表領域および一時表領域がPDB$SEED
に存在します。これらの表領域がまだ存在していない場合、PDB$SEED
に表領域を作成する必要があります。詳細は、『Oracle Multitenant管理者ガイド』を参照してください複数リリースを有効にするインストール
この項では、マルチテナント環境で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リリースをインストールする柔軟性が提供されます。
拡張インストール
この項では、Oracle REST Data ServicesをCDBにインストールして複数のOracle REST Data Servicesリリースを有効にするための拡張インストール・プロンプトについて説明します。
-
Oracle REST Data Servicesのインストール・キットを解凍したフォルダに移動します。
-
次のコマンドを入力します。
java -jar ords.war install advanced
-
プロンプト表示されたら、CDBのデータベース接続情報を入力します。
Enter the name of the database server[localhost]: Enter the database listen port [1521]: Enter 1 to specify the database service name, or 2 to specify the database SID [1]: Enter the database service name:(for example, cdb.example.com)
-
Oracle REST Data Servicesのインストールを検証します。
Enter 1 if you want to verify/install Oracle REST Data Services schema or 2 to skip this step [1]:
-
受け入れるか、1 (デフォルト)を入力して、CDBとそのPDBすべてにOracle REST Data Servicesをインストールします。
Enter the database password for ORDS_PUBLIC_USER: Confirm password: Requires to login with administrator privileges to verify Oracle REST Data Services schema. Enter the administrator username: SYS Enter the database password for SYS AS SYSDBA: Confirm password:
Retrieving information.... Your database connection is to a CDB. ORDS common user ORDS_PUBLIC_USER will be created in the CDB. ORDS schema will be installed in the PDBs. Root CDB$ROOT - create ORDS common user PDB PDB$SEED - install ORDS 18.2.0.<JulianDay.Time> (mode is READ ONLY, open for READ/WRITE) PDB PDBName1 - install ORDS 18.2.0.<JulianDay.Time> PDB PDBName2 - install ORDS 18.2.0.<JulianDay.Time>
Enter 1 if you want to install ORDS or 2 to skip this step [1]:
-
[Enter]を押してインストールを続行します。
-
入力を求めるメッセージが表示されたら、必要に応じて追加情報を入力します。詳細は、「コマンドライン・プロンプトを使用した拡張インストール」を参照してください。
ノート:
プラガブル・マッピング機能を使用するための詳細は、「Oracle REST Data Servicesによって、すべてのPDBをアドレス可能にする(プラガブル・マッピング)」を参照してください。CDB環境でのOracle REST Data Servicesのアップグレード
Oracle REST Data Servicesの新しいリリースを使用する場合、簡易または詳細インストールを実行すると、CDBおよびそのプラガブル・データベース(PDB)でのOracle REST Data Servicesのスキーマのアップグレードが自動的に発生します。
次に例を示します。
java -jar ords.war
Oracle REST Data Servicesがすでにインストールまたはアップグレードされている場合は、メッセージにOracle REST Data Servicesスキーマ・バージョンが表示され、情報の入力を要求されません。
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以降のリリースでは、この変更がサポートされます。
Oracle REST Data Servicesによって、すべてのPDBをアドレス可能にする
この項では、ORDSによってCDB内のすべてのアプリケーションPDBをアドレス可能にする方法について説明します。このステップは、CDB.からORDSを起動するために必要です。
詳細は、Oracle REST Data Servicesによって、すべてのPDBをアドレス可能にする(プラガブル・マッピング)を参照してください
アプリケーション・コンテナでの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で引き続き実行されます。
トピック:
アプリケーション・コンテナ内に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
アプリケーション・ルート・コンテナの作成
この項では、アプリケーション・ルート・コンテナを作成する方法について説明します。
- 現在のコンテナが
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に存在しない必要があります。
関連項目:
アプリケーション・コンテナの作成アプリケーション・ルート・コンテナへの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 P033w0r6! /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
および - アプリケーション・コンテナ内の関連データベース・オブジェクト
アプリケーション・シードの作成
この項では、アプリケーション・シードを作成する方法について説明します。
アプリケーション・シードは、アプリケーション・ルートの事前にインストールされたアプリケーションにアプリケーション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;
関連項目:
アプリケーション・コンテナの作成アプリケーション・シードからのアプリケーション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
関連項目:
アプリケーション・コンテナの作成ORDS構成ファイルの設定
この項では、ORDS構成ファイルを設定する方法について説明します。
ORDS構成フォルダの指定
この項では、ORDS構成フォルダを指定する方法について説明します。
構成フォルダにはORDS構成ファイルが含まれます。構成フォルダが定義されていない場合、setupコマンドの実行時に構成フォルダを指定するように求められます。
ORDS構成ファイルの場所を指定するには、次のコマンドを使用します。
java -jar ords.war configdir /path/to/config
アプリケーション・ルート・コンテナのORDS構成ファイルの作成
この項では、アプリケーション・ルート・コンテナにORDS構成ファイルを作成する方法について説明します。
アプリケーション・ルート・コンテナにORDS構成ファイルを作成するには、次のsetupコマンドを実行して構成ファイルを作成します。
java -jar ords.war setup --configOnly
ここで、構成ファイルを作成するために--configOnly
オプションを指定する必要があります。サービス名の入力を求められたら、アプリケーション・ルートのサービス名を指定します。
例4-1 Application Express用のORDSの構成
java -jar ords.war setup --configOnly
Specify the database connection type to use.
Enter number for [1] Basic [2] TNS [3] Custom URL [1]:
Enter the name of the database server [localhost]:
Enter the database listen port [1521]:
Enter 1 to specify the database service name, or 2 to specify the database SID [1]:
Enter the database service name: ords_app_root1
Enter the database password for ORDS_PUBLIC_USER:
Confirm password:
Enter 1 if you want to use PL/SQL Gateway or 2 to skip this step.
If using Oracle Application Express or migrating from mod_plsql then you must enter 1 [1]:
Enter the PL/SQL Gateway database user name [APEX_PUBLIC_USER]:
Enter the database password for APEX_PUBLIC_USER:
Confirm password:
Enter 1 to specify passwords for Application Express RESTful Services database users (APEX_LISTENER, APEX_REST_PUBLIC_USER) or 2 to skip this step [1]:
Enter the database password for APEX_LISTENER:
Confirm password:
Enter the database password for APEX_REST_PUBLIC_USER:
Confirm password:
Enter a number to select a feature to enable:
[1] SQL Developer Web (Enables all features)
[2] REST Enabled SQL
[3] Database API
[4] REST Enabled SQL and Database API
[5] None
Choose [1]:
例4-2 ORDSのみの構成
java -jar ords.war setup --configOnly
Specify the database connection type to use.
Enter number for [1] Basic [2] TNS [3] Custom URL [1]:
Enter the name of the database server [localhost]:
Enter the database listen port [1521]:
Enter 1 to specify the database service name, or 2 to specify the database SID [1]:
Enter the database service name: ords_app_root1
Enter the database password for ORDS_PUBLIC_USER:
Confirm password:
Enter 1 if you want to use PL/SQL Gateway or 2 to skip this step.
If using Oracle Application Express or migrating from mod_plsql then you must enter 1 [1]:2
Enter a number to select a feature to enable:
[1] SQL Developer Web (Enables all features)
[2] REST Enabled SQL
[3] Database API
[4] REST Enabled SQL and Database API
[5] None
Choose [1]:
ORDSの実行
この項では、ORDSをアプリケーション・コンテナにインストールした後にORDSを実行するために使用できる様々な方法をリストします。
- スタンドアロン・モード
- Oracle WebLogic Serverにデプロイします
- Oracle REST Data ServicesをApache Tomcatにデプロイします
アプリケーション・ルート・コンテナ内のORDSの検証
この項では、アプリケーション・コンテナ内のORDSを検証する方法について説明します。
アプリケーション・コンテナ内のアプリケーションを検証できます。これらの操作は、アプリケーション・ルート内で実行されます。アプリケーションPDBがアプリケーション・ルート内のアプリケーションと同期するときに、アプリケーション・コンテナによってアプリケーションの変更がアプリケーションPDBに伝播されます。ords_app_con_validate.sql
スクリプトは、Oracle REST Data Servicesスキーマを修復し、ORDSスキーマが有効かどうかを検証します。
- SQLclまたはSQL*Plusで、アプリケーション・ルートに接続します。
- 次のパラメータを使用して、
/path/to/scripts/validate/core/ords_app_con_validate.sql
を実行します。- ログ・フォルダ(最後にスラッシュを含める必要があります)
- スクリプト・パス(ORDSスクリプトへの完全修飾パスが必要)
ALTER SESSION SET CONTAINER = ords_app_root1;
@/path/to/scripts/validate/core/ords_app_con_validate.sql /path/to/logs/ /path/to/scripts
ords_app_con_validate.sql
によって、ORDS製品バージョンの末尾に「_v_YYMMDD24HRMISS」が付いたアプリケーション・バージョンが設定されます。
次に例を示します。
Year.Quarter.Patch.rJulianDay24MI_v_YYMMDD24HRMISS
20.2.0.r1801800_v_200705160015
- SQLclまたはSQL*Plusで、現在のコンテナがアプリケーションPDBになっていることを確認します
- SYNC句でORDSアプリケーションを指定して、
ALTER PLUGGABLE DATABASE APPLICATION
文を実行します。
次に例を示します。
ALTER SESSION SET CONTAINER = ords_app_pdb1;
ALTER PLUGGABLE DATABASE APPLICATION ORDS SYNC;
ノート:
ORDSのインストール時には、Oracle Application Express (APEX)スキーマの検出が試行され、ビューが作成されます。このビューは、APEXスキーマ内の関連する表をOracle REST Data Servicesスキーマ内の表に結合したものです。APEXの前にOracle REST Data Servicesをインストールする場合、Oracle REST Data ServicesではAPEXスキーマが見つからないため、欠落しているAPEX表のかわりにスタブ・ビューが作成されます。
Oracle REST Data ServicesをAPEXの後にインストールし、Oracle REST Data Servicesから問い合せる必要があるAPEXオブジェクトが必ず存在しているようにすることをお薦めします。
Oracle REST Data ServicesをAPEXの前にインストールする場合は、ords_app_con_validate.sql
スクリプトを使用して、Oracle REST Data ServicesによるAPEXスキーマに対する問合せを強制的に再構築します。
アプリケーション・コンテナ内のORDSのアップグレード
この項では、アプリケーション・ルート・コンテナ内のORDSをアップグレードする方法について説明します。
アプリケーション・コンテナのアプリケーションをアップグレードできます。これらの操作は、アプリケーション・ルート内で実行されます。アプリケーションPDBがアプリケーション・ルート内のアプリケーションと同期するときに、アプリケーション・コンテナによってアプリケーションの変更がアプリケーションPDBに伝播されます。
- ORDSがアプリケーション・コンテナにすでにインストールされている必要があります。
- ORDSを以前のリリースから新しいリリースに(たとえば、ORDSリリース20.2.x.xから20.3.x.xに)アップグレードします。
- 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;
アプリケーション・コンテナからの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;
アプリケーション・コンテナ内のORDSの確認
この項では、アプリケーション・コンテナ内のORDSを確認する方法について説明します。
- 次のログ・ファイルにエラーがないか手動で調べます。
インストール - ordsinstall_<timestamp>.log
アップグレード - ordsupgrade_<timestamp>.log
検証 - ordsvalidate_<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
が含まれます。
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
パラメータの値は、データベースのDB_DOMAIN
データベース初期化パラメータの値と一致している必要があり、ピリオド(.)で始まる必要があります。db.serviceNameSuffix
パラメータの値を設定するには:
-
SQLclまたはSQL*Plusで、SYSDBA権限を持つユーザーとしてルートに接続します。
-
DB_DOMAIN
データベース初期化パラメータの値を確認します。SQL> show parameter DB_DOMAIN
-
SQLclまたはSQL*Plusを終了します。
SQL> exit
-
DB_DOMAIN
値が空ではない場合、コマンドラインでdb.serviceNameSuffix
パラメータのキーと値およびそのDB_DOMAIN
を作成するコマンドを入力します。これは、このエントリをOracle REST Data Servicesの構成ファイルに追加するために使用されます。echo db.serviceNameSuffix=.value-of-DB_DOMAIN > snsuffix.properties
たとえば、
DB_DOMAIN
がexample.com
に設定されている場合、次を入力します。echo db.serviceNameSuffix=.example.com > snsuffix.properties
-
db.serviceNameSuffix
パラメータ値が定義されていない場合、次の形式でコマンドを入力して構成ファイルにエントリを追加します。java -jar ords.war set-properties --conf pool-name snsuffix.properties
ここで、pool-nameは次のいずれかになります。
-
PL/SQLゲートウェイ構成の
poolName
-
Oracle REST Data Services RESTful Services構成の
poolName_pu
-
Application Express RESTfulサービス構成の
poolName_rt
例1: CDBルートまたはアプリケーション・ルートのPDBをグローバルにアドレス可能にします。次のコマンドを入力して
defaults
を指定します。java -jar ords.war set-properties --conf defaults snsuffix.properties
ノート:
ほとんどのユース・ケースでは、例1で示した方法(すべてのプールのプロパティを
defaults.xml
ファイルを使用して設定)が最も適しています。例2: CDBルートまたはアプリケーション・ルートのPDBをPL/SQLゲートウェイにアドレス可能にし、プール名を
apex
にします。次のコマンドを入力します。java -jar ords.war set-properties --conf apex snsuffix.properties
たとえば、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をOracle REST Data Services RESTfulサービスにアドレス可能にし、プール名を
apex_pu
にします。次のコマンドを入力します。java -jar ords.war set-properties --conf apex_pu snsuffix.properties
例4: CDBルートまたはアプリケーション・ルートのPDBをApplication Express RESTfulサービスにアドレス可能にし、プール名を
apex_rt
にします。次のコマンドを入力します。java -jar ords.war set-properties --conf apex_rt snsuffix.properties
-