7 Oracle REST Data Servicesでのマルチテナント・アーキテクチャの使用

この項では、Oracle REST Data Serviceをマルチテナント・コンテナ・データベースへインストール、構成、アップグレードおよびアンインストールする概要を示します。

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.1 コマンドラインからのインストール

インストールを実行するには、ルート(CDB$ROOT)コンテナでSYS AS SYSDBA資格証明を指定する必要があります。

7.1.1.2 拡張インストール

この項では、Oracle REST Data ServicesをCDBにインストールして複数のOracle REST Data Servicesリリースを有効にするための拡張インストール・プロンプトについて説明します。

Oracle REST Data ServicesをCDBにインストールして複数のOracle REST Data Servicesのリリースを有効にするには、次のステップを実行します。
  1. Oracle REST Data Servicesのインストール・キットを解凍したフォルダに移動します。

  2. 次のコマンドを入力します。

    ords --config <CONFIG_FOLDER> install
  3. 必要なインストール・タイプを選択します

     Enter a number to select the type of installation
        [1] Install or upgrade ORDS in the database only
        [2] Create or update a database pool and install/upgrade ORDS in the database
        [3] Create or update a database pool only
      Choose [2]: 
  4. 受け入れるか、2 (デフォルト)を入力して構成を更新し、CDBとそのすべてのPDBにORDS REST Data Servicesをインストールします。

     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]:
  5. 受け入れるか、1 (デフォルト)を入力してCDBへの接続情報を入力します

    データベース・ホスト名を入力[localhost]: データベースのリスニング・ポートを入力してください[1521]: データベース・サービス名を入力してください[orcl]: 管理者権限を持つデータベース・ユーザー名を指定します。管理者ユーザー名を入力してください: SYS SYS AS SYSDBAのデータベース・パスワードを入力してください: データベース・ユーザー: SYS AS SYSDBA URL: jdbc:oracle:thin:@//localhost:1521/orclに接続しています 情報の取得中... データベース接続はCDBに対するものです。ORDS共通ユーザーORDS_PUBLIC_USERはCDBに作成されます。ORDSスキーマはPDBにインストールされます。ルートCDB$ROOT - ORDS共通ユーザーの作成PDB PDB$SEED - ORDS xx.x.x.xxx.xxxxのインストール(モードはREAD ONLYです、READ/WRITEで開く) PDB PDBName1 - ORDS xx.x.x.xxx.xxxxのインストール PDB PDBName1 - ORDSバージョンxx.x.x.xxx.xxxxのPL/SQLゲートウェイ・ユーザーAPEX_PUBLIC_USERの構成 データベースでORDSをインストールします [1] はい [2] いいえ 選択 [1]:
    Enter 1 if you want to install ORDS or 2 to skip this step [1]:
  6. [Enter]を押してインストールを続行します。

  7. 入力を求めるメッセージが表示されたら、必要に応じて追加情報を入力します。

ノート:

プラガブル・マッピング機能を使用するための詳細は、「Oracle REST Data Servicesによって、すべてのPDBをアドレス可能にする(プラガブル・マッピング)」を参照してください。
7.1.1.3 サイレント・インストール

サイレント・インストールでは、Oracle REST Data Servicesのパラメータ・ファイルからプロパティが読み込まれます。

サイレント・インストールを実行するには、次のコマンドを入力します。
ords --config /path/to/config install <OPTIONS>

7.1.2 CDB環境でのOracle REST Data Servicesのアップグレード

Oracle REST Data Servicesの新しいリリースを使用する場合、簡易または詳細インストールを実行すると、CDBおよびそのプラガブル・データベース(PDB)でのOracle REST Data Servicesのスキーマのアップグレードが自動的に発生します。

次に例を示します。

ords install --interactive --log-folder <LOG_FOLDER>

Oracle REST Data Servicesがすでにインストールまたはアップグレードされている場合は、メッセージにOracle REST Data Servicesスキーマ・バージョンが表示され、情報の入力を要求されません。

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.1.3 CDB環境でのOracle REST Data Servicesのアンインストール

Oracle REST Data ServicesをCDBからアンインストールするには、uninstallコマンドを使用します。

次に例を示します。

ords uninstall --interactive --log-folder <LOG_FOLDER>

Oracle REST Data ServicesがCDBとそのプラガブル・データベース(PDB)から削除されます。

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をアプリケーション・コンテナにインストールするための前提条件について説明します。

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
ORDS SQLスクリプトはscriptsフォルダ内にあります。scriptsフォルダには、SQLスクリプトのインストール、アップグレード、検証およびアンインストールのためのサブディレクトリが含まれます。これらのSQLスクリプトは、SQLcl、SQL*PlusまたはSQL Developerを使用して実行できます。
7.2.1.1 アプリケーション・ルート・コンテナの作成

この項では、アプリケーション・ルート・コンテナを作成する方法について説明します。

アプリケーション・ルート・コンテナを作成するには:
  1. 現在のコンテナがCDB$ROOTにあることを確認します。
  2. アプリケーション・コンテナを作成するには、CREATE PLUGGABLE DATABASE文のAS APPLICATION CONTAINER句を使用します。
  3. アプリケーション・コンテナを開きます。

例:

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_USERORDS_METADATAがシードPDB (pdbseedなど)やクローンPDBに存在しない必要があります。

7.2.2 アプリケーション・ルート・コンテナへのORDSのインストール

この項では、ORDSをアプリケーション・ルート・コンテナにインストールする方法について説明します。

ORDSをアプリケーション・ルート・コンテナにインストールするには、次のステップを実行します。
  1. アプリケーション・ルート・コンテナに接続します。
  2. 次のパラメータを使用して、/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スキーマORDS_METADATA
  • ORDSプロキシ・ユーザーORDS_PUBLIC_USERおよび
  • アプリケーション・コンテナ内の関連データベース・オブジェクト

7.2.3 アプリケーション・シードの作成

この項では、アプリケーション・シードを作成する方法について説明します。

アプリケーション・シードは、アプリケーション・ルートの事前にインストールされたアプリケーションにアプリケーションPDBをプロビジョニングするために使用されます。

アプリケーション・シードを作成するには:
  1. 現在のコンテナがCDB$ROOTにあることを確認します。
  2. セッションを変更し、コンテナをアプリケーション・ルートに設定します。
  3. アプリケーション・シードを作成するには、CREATE PLUGGABLE DATABASE文のAS SEED句を使用します。
  4. ORDSアプリケーションをアプリケーション・シードと同期します。
  5. 無効なオブジェクトをコンパイルします。
  6. アプリケーション・シードを読取り専用モードで開きます。

ノート:

次の例の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文を発行することで作成されます。

アプリケーション・シードからアプリケーションPDBを作成するには:
  1. 現在のコンテナがCDB$ROOTにあることを確認します。
  2. セッションを変更し、コンテナをアプリケーション・ルートに設定します。
  3. 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にプロキシするように構成する必要があります。

PL/SQLゲートウェイを構成するには:
  • 現在のコンテナがCDB$ROOTにあることを確認します。
  • セッションを変更し、コンテナをアプリケーションpdbに設定します(例: ords_app_pdb1)。
    ALTER SESSION SET CONTAINER = ords_app_pdb1;
    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;
    /

7.2.6 ORDS構成ファイルの設定

この項では、ORDS構成ファイルを設定する方法について説明します。

7.2.6.1 ORDS構成フォルダの指定

この項では、ORDS構成フォルダを指定する方法について説明します。

構成を作成する前に構成フォルダを指定する必要があります。
7.2.6.2 アプリケーション・ルート・コンテナのORDS構成ファイルの作成

この項では、アプリケーション・ルート・コンテナにORDS構成ファイルを作成する方法について説明します。

アプリケーション・ルート・コンテナにORDS構成ファイルを作成するには、次のsetupコマンドを実行して構成ファイルを作成します。

ords --config <configuration folder> install --interactive --config-only --prompt-password --log-folder <Log Folder>

ここで、構成ファイルを作成するために--configOnlyオプションを指定する必要があります。サービス名の入力を求められたら、アプリケーション・ルートのサービス名を指定します。

例7-1 ORDS構成の作成

この例では、ORDS構成が構成フォルダに存在しないことを前提としています。この例は基本接続の例です。

ノート:

  • Application Expressがデータベースにインストールされている場合、APEXイメージの場所の入力を求めるプロンプトが表示されます。

    例: Enter the APEX static resources location: /path/to/apex/images

    Application Expressを使用していない場合は、[Enter]を押します。

  • HTTPではなくHTTPSプロトコルを使用することをお薦めします。

Oracle REST Data Services - Interactive Install

  Enter a number to select the type of installation
    [1] Install or upgrade ORDS in the database only
    [2] Create or update a database pool and install/upgrade ORDS in the database
    [3] Create or update a database pool only
  Choose [3]:  
  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
  Enter the database password for ORDS_PUBLIC_USER: 
Confirm password: 
  Enter a number to select additional feature(s) to enable:
    [1] Database Actions  (Enables all features)
    [2] REST Enabled SQL and Database API
    [3] REST Enabled SQL
    [4] Database API
    [5] None
  Choose [1]: 
  Enter a number to configure ORDS for standalone mode
    [1] Configure ORDS for standalone mode
    [2] Skip
  Choose [1]: 
  Enter a number to use HTTP or HTTPS protocol
    [1] HTTP
    [2] HTTPS
  Choose [1]: 2
  Enter the HTTPS port [8443]: 
  Enter a number to select the certificate type
    [1] Use self-signed certificate (generates automatically)
    [2] Use my SSL certificate (requires SSL certificate and SSL certificate private key)
  Choose [1]: 2
  Enter the path for the SSL Certificate: /path/to/<SSL certificate>
  Enter the path for the SSL Certificates private key: /path/to/<SSL Certificate private key>
  Enter the APEX static resources location: /path/to/apex/images

7.2.7 ORDSの実行

この項では、ORDSをアプリケーション・コンテナにインストールした後にORDSを実行するために使用できる様々な方法をリストします。

ORDSをアプリケーション・コンテナにインストールしてORDS構成ファイルを作成したら、次のいずれかの方法を使用してORDSを実行します。
  • スタンドアロン・モード
  • Oracle WebLogic Serverにデプロイします
  • Oracle REST Data ServicesをApache Tomcatにデプロイします

7.2.8 アプリケーション・コンテナ内のORDSのアップグレード

この項では、アプリケーション・ルート・コンテナ内のORDSをアップグレードする方法について説明します。

アプリケーション・コンテナのアプリケーションをアップグレードできます。これらの操作は、アプリケーション・ルート内で実行されます。アプリケーションPDBがアプリケーション・ルート内のアプリケーションと同期するときに、アプリケーション・コンテナによってアプリケーションの変更がアプリケーションPDBに伝播されます。

前提条件:
  • ORDSがアプリケーション・コンテナにすでにインストールされている必要があります。
  • ORDSを以前のリリースから新しいリリースに(たとえば、ORDSリリース20.2.x.xから20.3.x.xに)アップグレードします。
アプリケーション・ルート内のORDSをアップグレードするには:
  1. SQLclまたはSQL*Plusで、アプリケーション・ルートに接続します。
  2. 次のパラメータを使用して、/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アプリケーションをアプリケーション・ルートのアップグレード変更と同期するには:

  1. SQLclまたはSQL*Plusで、現在のコンテナがアプリケーションPDBになっていることを確認します。
  2. 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に伝播されます。

アプリケーション・ルートからORDSをアンインストールするには:
  1. SQLclまたはSQL*Plusで、アプリケーション・ルートに接続します。
  2. 次のパラメータを使用して、/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

ORDSアプリケーションをアンインストールするためにアプリケーションPDBを同期するには:
  1. SQLclまたはSQL*Plusで、現在のコンテナがアプリケーションPDBになっていることを確認します。
  2. SYNC句でORDSアプリケーションを指定して、ALTER PLUGGABLE DATABASE APPLICATION文を実行します。

次に例を示します。

ALTER SESSION SET CONTAINER = ords_app_pdb1;

ALTER PLUGGABLE DATABASE APPLICATION ORDS SYNC;

7.2.10 アプリケーション・コンテナ内のORDSの確認

この項では、アプリケーション・コンテナ内の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パラメータの値を設定するには:

  1. SQLclまたはSQL*Plusで、SYSDBA権限を持つユーザーとしてルートに接続します。

  2. DB_DOMAINデータベース初期化パラメータの値を確認します。

    SQL> show parameter DB_DOMAIN
    
  3. SQLclまたはSQL*Plusを終了します。

    SQL> exit
    
  4. 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.comDB_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" ""