3.12.11.1.9 アプリケーションのインストール
SQLスクリプトを実行して、APEXアプリケーションをターゲット環境にインストールします。
最初にインストール・コンテキスト情報を構成してからSQLスクリプトを実行すると、特殊なケースを処理できます。このトピックでは、両方のシナリオについて説明します。
- ターゲット環境がソースをミラー化する場合のアプリケーションのインストール
ターゲット環境がソースをミラー化する場合のアプリケーションのインストールについて学習します。 - ターゲット環境がソースと異なる場合のアプリケーションのインストール
ターゲット環境がソースと異なる場合のアプリケーションのインストールについて学習します。
親トピック: SQLclを使用したエクスポートおよびインポート
3.12.11.1.9.1 ターゲット環境がソースをミラー化する場合のアプリケーションのインストール
ターゲット環境がソースをミラー化する場合のアプリケーションのインストールについて学習します。
APEXアプリケーションをソース環境から単一のSQLファイルとしてエクスポートするか、個々のSQLファイルのセットをサブディレクトリに分割してエクスポートします。同じワークスペース名、ワークスペースID、ワークスペース・スキーマ名およびアプリケーション別名を使用するターゲット環境にエクスポートをインストールするには、エクスポート・プロシージャによって作成されたSQLスクリプトをそのまま実行します。
インストールするアプリケーションによって、ターゲット環境内の同じIDのアプリケーションが上書きされます。アプリケーション・エクスポートが、選択したコンポーネントのみを含む部分エクスポートであった場合、それらのコンポーネントのみがターゲット環境で上書きされます。
エクスポートがf1234.SQL
などの単一のSQLファイルである場合は、そのスクリプトを実行してアプリケーションをインストールします。そうではなく、エクスポートで-split
オプションを使用して、サブディレクトリに編成された個々のコンポーネントSQLファイルを含むf1234
などのディレクトリを作成した場合は、./f1234/install.sql
スクリプトを実行してアプリケーションをインストールします。-split
オプションを使用してコンポーネント・セットを部分的にエクスポートした場合は、./f1234/install_component.sql
スクリプトを実行します。
親トピック: アプリケーションのインストール
3.12.11.1.9.2 ターゲット環境がソースと異なる場合のアプリケーションのインストール
ターゲット環境がソースと異なる場合のアプリケーションのインストールについて学習します。
インポート先のターゲット環境で、同じワークスペース名、ワークスペースID、ワークスペース・スキーマ名およびアプリケーション別名を使用しない場合は、次の例に示すような追加ステップを実行するSQLスクリプトがアプリケーションのインストールに必要になります。
REM First setup the installation context in the target environment
begin
-- Add necessary calls to apex_application_install package procedures here
end;
/
REM Then install the application by running its exported SQL script
REM For "split" export run @f1234/install.sql
REM or @f1234/install_component.sql instead
@f1234.sql
インストール・コンテキストの設定
このインストール・コンテキストには次の内容が含まれます。
-
ワークスペース名(例:
TARGET_WORKSPACE
) -
アプリケーションID (たとえば、
5678
) -
ワークスペース・スキーマ(
HRAPP_PROD
など) -
アプリケーションの別名(たとえば、簡易URLで使用される
hrapp
)
ターゲット・ワークスペースの名前またはIDが、アプリケーションのエクスポート元のワークスペースと異なる場合、インストール・スクリプトの無名ブロックにset_workspace()
プロシージャへのコールを追加する必要があります。
apex_application_install.set_workspace('TARGET_WORKSPACE');
同様に、apex_application_install
パッケージ・プロシージャへの他のコールは、ターゲット環境のそれらの値とアプリケーションのエクスポート元のソース環境の対応する値が異なる場合にのみ必要になります。
ターゲット環境で特定のアプリケーションIDを設定するには、次に示すように、set_application_id()
へのコールをgenerate_offset()
への追加のコールとともに追加します。
apex_application_install.set_application_id(5678);
apex_application_install.generate_offset();
特定のアプリケーションIDを指定するかわりに、使用可能なアプリケーションIDを生成するには、calling set_application_id
のかわりにgenerate_application_id
へのコールを追加します。
apex_application_install.generate_application_id;
apex_application_install.generate_offset;
インストールするアプリケーションのワークスペース・スキーマの名前を設定するには、次に示すように、set_schema()
へのコールを追加します。
apex_application_install.set_schema('HRAPP_PROD');
アプリケーションの別名(簡易URLで使用)を設定するには、次に示すように、set_application_alias()
プロシージャへのコールを追加します。
apex_application_install.set_application_alias('hrapp');
アプリケーションをインストールするためのSQLスクリプトの実行
この項には、単一ファイルおよび分割エクスポートのインストール・スクリプトの完全な例が含まれています。
この例では、ID 1234のアプリケーションをf1234.sql
という名前の単一ファイルに以前にエクスポートしたと想定しています。この例では、アプリケーションID 5678、ワークスペース・スキーマHRAPP_PROD
およびアプリケーション別名hrapp
を使用して、ワークスペースHRAPP_PROD
が設定されたターゲット環境に、SQLclを使用してAPEXアプリケーションをインストールするSQLスクリプトも示しています。
REM First setup the installation context in the target environment
begin
apex_application_install.set_workspace('TARGET_WORKSPACE');
apex_application_install.set_application_id(5678);
apex_application_install.generate_offset();
apex_application_install.set_schema('HRAPP_PROD');
apex_application_install.set_application_alias('hrapp');
end;
/
REM Then install the application by running its exported SQL script
REM For "split" export run @f1234/install.sql
REM or @f1234/install_component.sql instead
@f1234.sql
親トピック: アプリケーションのインストール