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
親トピック: アプリケーションのインストール