Amazon Relational Database Service
ユーザーガイド (API バージョン 2014-10-31)

Oracle Application Express

Amazon RDS では、APEX および APEX-DEV オプションを使用した Oracle Application Express (APEX) がサポートされています。Oracle APEX は、ランタイム環境として、あるいはウェブベースのアプリケーション用の完全開発環境としてデプロイできます。Oracle APEX を使用して、開発者はウェブブラウザ内でアプリケーション全体を構築できます。詳細については、Oracle ドキュメントの Oracle Application Express を参照してください。

Oracle APEX は、2 個のメインコンポーネントで構成されます。

  • APEX アプリケーションおよびコンポーネントのメタデータを格納するリポジトリ。リポジトリは、テーブル、インデックス、および Amazon RDS DB インスタンスにインストールされている他のオブジェクトで構成されます。

  • Oracle APEX クライアントとの HTTP 通信を管理するリスナー。リスナーは、ウェブブラウザからの受信接続を受け入れ、処理するためにそれらを Amazon RDS DB インスタンスに転送した後、リポジトリから結果をブラウザに戻します。APEX Listener は、Oracle 12c で Oracle Rest Data Services (ORDS) という名前に変更されたことに注意してください。

DB インスタンスに Amazon RDS APEX オプションを追加すると、Amazon RDS は Oracle APEX リポジトリのみをインストールします。Oracle APEX Listener は別個のホストにインストールします (Amazon EC2 インスタンス、社内のオンプレミスサーバー、またはデスクトップコンピュータ)。

APEX オプションは、DB インスタンスの DB インスタンスクラスでストレージを使用します。以下に、Oracle APEX でサポートされているバージョンおよびおよそのストレージ要件を示します。

APEX バージョン ストレージの要件 Oracle 12c バージョン 12.2 Oracle 12c バージョン 12.1 Oracle 11g

Oracle APEX バージョン 19.1.v1

148 MiB

サポート対象

サポート対象

サポート対象

Oracle APEX バージョン 18.2.v1

146 MiB

サポート対象

サポート対象

サポート対象

Oracle APEX バージョン 18.1.v1

145 MiB

サポート対象

サポート対象

サポート対象

Oracle APEX バージョン 5.1.4.v1

220 MiB

サポート対象

サポート対象

サポート対象

Oracle APEX バージョン 5.1.2.v1

150 MiB

サポート外

サポート対象

サポート対象

Oracle APEX バージョン 5.0.4.v1

140 MiB

サポート外

サポート対象

サポート対象

Oracle APEX バージョン 4.2.6.v1

160 MiB

サポート外

サポート対象

サポート対象

Oracle APEX バージョン 4.1.1.v1

130 MiB

サポート外

サポート外

サポート対象

注記

DB インスタンスで使用する DB インスタンスクラスに vCPU が 1 つしかない場合、Oracle APEX 5 for Oracle 11g はサポートされません。DB インスタンスクラスの詳細については、「DB インスタンスクラスの選択」を参照してください。

Oracle APEX および APEX Listener の前提条件

Oracle APEX および APEX Listener を使用するための前提条件は次のとおりです。

  • DB インスタンスの SQL*Plus で管理タスクを実行します。

  • Oracle APEX Listener として機能するホストコンピュータに、次のソフトウェアをインストールします。

    • Java ランタイム環境 (JRE)。

    • Oracle APEX Listener から Amazon RDS インスタンスに接続するための Oracle Net Services。

Amazon RDS APEX オプションの追加

DB インスタンスに Amazon RDS APEX オプションを追加する一般的な手順は以下のとおりです。

  1. 新しいオプショングループを作成するか、既存のオプショングループをコピーまたは変更します。

  2. オプショングループにオプションを追加します。

  3. オプショングループを DB インスタンスに関連付けます。

Amazon RDS APEX オプションを追加する場合、DB インスタンスを自動的に再起動している間に短い停止が発生します。

APEX オプションを DB インスタンスに追加するには

  1. 使用するオプショングループを決定します。新しいオプショングループを作成することも、既存のオプショングループを使用することもできます。既存のオプショングループを使用する場合は、次のステップは飛ばしてください。または、次の設定でカスタム DB オプショングループを作成します。

    1. [Engine] で、使用する Oracle のエディションを選択します。APEX オプションは、すべてのエディションでサポートされます。

    2. [メジャーエンジンのバージョン] で、DB インスタンスのバージョンを選択します。

    詳細については、「オプショングループを作成する」を参照してください。

  2. オプショングループにオプションを追加します。Oracle APEX ランタイム環境のみをデプロイする場合には、APEX オプションのみを追加します。完全なデプロイ環境をデプロイする場合は、APEXAPEX-DEV の両方のオプションを追加します。

    • Oracle 12c では、[APEX] と [APEX-DEV] オプションを追加します。

    • Oracle 11g には、最初に [XMLDB] オプションを前提条件として追加し、続いて [APEX] と [APEX-DEV] オプションを追加します。

    [ Version] で使用する APEX のバージョンを選択します。バージョンを選択しない場合、11g にはバージョン 4.1.1.v1、12c にはバージョン 4.2.6.v1 がデフォルトとなります。

    重要

    すでに 1 つ以上の DB インスタンスにアタッチされている既存のオプショングループに APEX オプションを追加すると、短い停止が発生します。この停止の間、DB インスタンスはすべて、自動的に再起動されます。

    オプションの追加方法の詳細については、「オプショングループにオプションを追加する」を参照してください。

  3. 新規または既存の DB インスタンスに、DB オプショングループを適用します。

パブリックユーザーアカウントのロック解除

Amazon RDS APEX オプションのインストール後、APEX パブリックユーザーアカウントのパスワードを変更し、その後アカウントをロック解除する必要があります。Oracle SQL*Plus コマンドラインユーティリティを使用してこれを行うことができます。DB インスタンスにマスターユーザーとして接続し、次のコマンドを発行します。new_password を任意のパスワードに置き換えます。

alter user APEX_PUBLIC_USER identified by new_password; alter user APEX_PUBLIC_USER account unlock;

Oracle APEX の RESTful サービスの設定

APEX で RESTful サービスを設定するには (APEX 4.1.1.V1 では必要ありません)、SQL*Plus を使用して、マスターユーザーとして DB インスタンスに接続します。接続したら、rdsadmin.rdsadmin_run_apex_rest_config ストアドプロシージャを実行します。ストアドプロシージャを実行するときは、次のユーザーにパスワードを提供します。

  • APEX_LISTENER

  • APEX_REST_PUBLIC_USER

ストアドプロシージャは apex_rest_config.sql スクリプトを実行し、そのスクリプトによりそれらのユーザーの新しいデータベースアカウントが作成されます。

注記

Oracle APEX バージョン 4.1.1.v1 に対する設定は不要です。この Oracle APEX バージョンに限り、ストアドプロシージャの実行は不要です。

次のコマンドはストアドプロシージャを実行します。

exec rdsadmin.rdsadmin_run_apex_rest_config('apex_listener_password', 'apex_rest_public_user_password');

APEX リスナーのインストールと設定

これで、リスナーを Oracle APEX で使用するようにインストールして設定する準備ができました。次のいずれかの製品をこの目的で使用できます。

  • APEX バージョン 5.0 以降では、Oracle Rest Data Services (ORDS) を使用します。

  • APEX バージョン 4.1.1 では、Oracle APEX Listener バージョン 1.1.4 を使用します。

  • Oracle HTTP Server と mod_plsql

注記

Amazon RDS では、埋込み PL/SQL ゲートウェイの Oracle XML DB HTTP サーバーがサポートされません。これを APEX リスナーとして使用することはできません。一般的に、Oracle では、インターネット上で稼働するアプリケーションで埋め込みの PL/SQL ゲートウェイを使用しないことが推奨されています。

APEX リスナーは別個のホストにインストールします (Amazon EC2 インスタンス、社内のオンプレミスサーバー、またはデスクトップコンピュータなど)。

次の手順は、APEX リスナーをインストールして設定する方法を示しています。ここでは、ホスト名が myapexhost.example.com であり、ホストで Linux が実行されていることが前提です。

APEX リスナーをインストールして設定するには

  1. myapexhost.example.com として root にログインします。

  2. APEX リスナーのインストールを所有する権限を持っていない OS ユーザーを作成します。以下のコマンドでは、apexuser という名前の新規ユーザーを作成します。

    useradd -d /home/apexuser apexuser

    以下のコマンドは、新規ユーザーにパスワードを割り当てます。

    passwd apexuser;
  3. myapexhost.example.comapexuser としてログインし、APEX のインストールファイルを Oracle から /home/apexuser ディレクトリにダウンロードします。

  4. ファイルを /home/apexuser ディレクトリに解凍します。

    unzip apex_<version>.zip

    ファイルは、/home/apexuser ディレクトリ内に apex ディレクトリとして解凍されます。

  5. myapexhost.example.comapexuser としてログインしている間に、APEX Listener ファイルを Oracle から /home/apexuser ディレクトリにダウンロードします。

  6. 次のタイプの APEX Listener に基づいて新しいディレクトリを作成し、APEX Listener ファイルを開きます。

    リスナーのタイプ Instructions

    ORDS

    以下のコードを実行します。

    mkdir /home/apexuser/ORDS cd /home/apexuser/ORDS unzip ../ords.<version>.zip

    APEX リスナー

    以下のコードを実行します。

    mkdir /home/apexuser/apexlistener cd /home/apexuser/apexlistener unzip ../apex_listener.<version>.zip

    詳細については、Oracle ドキュメントの「About Choosing a Web Listener」を参照してください。

  7. 前のステップのディレクトリにいる間に、選択したリスナープログラムを実行します。

    リスナーのタイプ Instructions

    ORDS

    以下の コードを実行します。

    java -jar ords.war setup

    プログラムが以下の情報のプロンプトを表示します。デフォルト値は角括弧で囲まれています。

    • 設定データを保存する場所

      /home/apexuser/ORDS と入力します。

    • データベースサーバーの名前 [localhost]

      デフォルト値を選択するか、適切な値を入力します。

    • データベースリッスンポート [1521]

      デフォルト値を選択するか、適切な値を入力します。

    • データベースサービス名またはデータベース SID [1]

      1 を選択してデータベースサービス名を指定するか、2 を選択してデータベース SID を指定します。

    • データベース SID [xe]

      デフォルト値を選択するか、適切な値を入力します。

    • REST Data Services のスキーマを確認/インストールするか、このステップ [1] をスキップします

      2 を選択します。

    • PL/SQL ゲートウェイを使用するか、このステップ [1] をスキップします

      デフォルト値を選択します。

    • PL/SQL ゲートウェイデータベースユーザー名 [APEX_PUBLIC_USER]

      デフォルト値を選択します。

    • APEX_PUBLIC_USER のデータベースパスワード

      パスワードを入力します。

    • Application Express RESTful Services データベースユーザー (APEX_LISTENER、APEX_REST_PUBLIC_USER) のパスワードを指定するか、このステップ [1] をスキップします

      APEX 4.1.1.V1 に対して 2 を選択するか、他のすべての APEX バージョンに対して 1 を選択します。

    • [APEX 4.1.1.v1 では不要] APEX_LISTENER のデータベースパスワード

      パスワードを入力します (必要な場合)。

    • [APEX 4.1.1.v1 では不要] APEX_REST_PUBLIC_USER のデータベースパスワード

      パスワードを入力します (必要な場合)。

    APEX リスナー

    以下のコードを実行します。

    java -Dapex.home=./apex -Dapex.images=/home/apexuser/apex/images -Dapex.erase -jar ./apex.war

    プログラムが以下のプロンプトを表示します。

    • APEX Listener Administrator のユーザー名。デフォルト値は adminlistener です。

    • APEX Listener Administrator のパスワード。

    • APEX リスナーマネージャのユーザー名。デフォルトは managerlistener です。

    • APEX Listener Administrator のパスワード。

    設定の完了に必要な URL がプログラムによって次のように出力されます。

    INFO: Please complete configuration at: http://localhost:8080/apex/listenerConfigure Database is not yet configured

    APEX Listener を実行したままにします。Oracle Application Express を使用するには、実行したままにする必要があります。この設定手順を完了したら、リスナーをバックグラウンドで実行できます。

    ウェブブラウザから、APEX Listener プログラムにより提供される URL にアクセスします。Oracle Application Express Listener の管理ウィンドウが表示されます。次の情報を入力します。

    • UsernameAPEX_PUBLIC_USER

    • [Password]APEX_PUBLIC_USER のパスワードこのパスワードは、APEX リポジトリの設定時に前の手順で指定したパスワードです。詳細については、「パブリックユーザーアカウントのロック解除」を参照してください。

    • [Connection Type] – [Basic]

    • Hostname – Amazon RDS DB インスタンスのエンドポイント。mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com など。

    • [Port] – 1521

    • SID – Amazon RDS DB インスタンスのデータベースの名前。mydb など。

    [Apply] を選択します。APEX 管理ウィンドウが表示されます。

  8. APEX admin ユーザーのパスワードを設定します。これを行うには、SQL*Plus を使用して DB インスタンスにマスターユーザーとして接続し、次のコマンドを発行します。

    EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role; grant APEX_ADMINISTRATOR_ROLE to master; @/home/apexuser/apex/apxchpwd.sql

    master を自身のマスターユーザー名に置き換えます。apxchpwd.sql スクリプトによってプロンプトが表示されたら、新しい admin パスワードを入力します。

  9. ORDS では、APEX リスナーを開始します。以下の コードを実行します。

    java -jar ords.war

    APEX Listener を初めて開始すると、APEX の静的リソースの場所を指定するように求められます。このイメージフォルダは、APEX のインストールディレクトリ内の /apex/images ディレクトリにあります。

  10. ブラウザで APEX 管理ウィンドウに戻り、[Administration] を選択します。次に、[Application Express Internal Administration] を選択します。認証情報の入力を求められたら、以下の情報を入力します。

    • [User name]admin

    • Passwordapxchpwd.sql スクリプトを使用して設定したパスワード。

    [Login] を選択し、その admin ユーザーの新しいパスワードを設定します。

これで、APEX リスナーを使用する準備ができました。

APEX バージョンのアップグレード

重要

APEX をアップグレードする前に、DB インスタンスをバックアップします。詳細については、「DB スナップショットの作成」および「アップグレードをテストする」を参照してください。

APEX を DB インスタンスと共にアップグレードするには、以下を実行します。

  • DB インスタンスのアップグレードしたバージョン用に新規のオプショングループを作成します。

  • 新規のオプショングループにアップグレードしたバージョンの APEX と APEX-DEV を追加します。DB インスタンスが使用するそのほかのすべてのオプションを含めるようにします。詳細については、「オプショングループに関する考慮事項」を参照してください。

  • DB インスタンスをアップグレードするときに、アップグレードした DB インスタンスに新規のオプショングループを指定します。

APEX のバージョンをアップグレード後、以前のバージョンの APEX スキーマがデータベースに存在している場合があります。不要な場合には、アップグレード後に古い APEX スキーマをデータベースから削除できます。

APEX バージョンをアップグレードする場合で、以前の APEX バージョンで RESTful サービスが設定されていないときは、RESTful サービスを設定することをお勧めします。詳細については、「 Oracle APEX の RESTful サービスの設定」を参照してください。

場合によっては、DB インスタンスのメジャーバージョンアップグレードを行う際、ターゲットデータベースのバージョンと互換性のない APEX バージョンを使用していることが分かることがあります。このような場合は、DB インスタンスをアップグレードする前に、APEX のバージョンをアップグレードします。最初に APEX をアップグレードすると、DB インスタンスのアップグレードに要する時間を短縮できます。

注記

APEX をアップグレードしたら、アップグレードしたバージョンで使用するリスナーをインストールして設定します。手順については、「APEX リスナーのインストールと設定」を参照してください。

APEX オプションの削除

DB インスタンスから Amazon RDS APEX オプションを削除できます。APEX オプションを DB インスタンスから削除するには、次のいずれかを実行します。

  • 複数の DB インスタンスから APEX オプションを削除するには、それらが属しているオプショングループから APEX オプションを削除します。この変更はそのオプショングループを使用するすべての DB インスタンスに影響します。複数の DB インスタンスにアタッチされているオプショングループから APEX オプションを削除すると、すべての DB インスタンスが再起動される間、短時間の停止が発生します。

    詳細については、「オプショングループからオプションを削除する」を参照してください。

  • 1 つの DB インスタンスから APEX オプションを削除するには、DB インスタンスを変更し、APEX オプションを含まない別のオプショングループを指定します。デフォルト (空) のオプショングループや別のカスタムオプショングループを指定できます。APEX オプションを削除する場合、DB インスタンスを自動的に再起動している間に短い停止が発生します。

    詳細については、「Oracle データベースエンジンを実行する DB インスタンスの変更」を参照してください。

DB インスタンスから APEX オプションを削除すると、APEX スキーマがデータベースから削除されます。