17.20 RESERVE_WORKSPACE_APP_IDSプロシージャ

このプロシージャは、指定されたワークスペースのWebシート・アプリケーションおよびデータベース・アプリケーションのIDを永久予約します。ワークスペースとそのアプリケーションが削除されている場合でも、開発者がこのようなIDの1つを使用して別のアプリケーションを作成することはできません。

構文

APEX_INSTANCE_ADMIN.RESERVE_WORKSPACE_APP_IDS (
    p_workspace_id IN NUMBER );

パラメータ

表17-18 RESERVE_WORKSPACE_APP_IDSのパラメータ

パラメータ 説明

p_workspace_id

ワークスペースの一意のID。

この例では、アプリケーションIDが特定の範囲内に限定されている2つの別個のApplication Expressインスタンスを設定しています。後で、ワークスペースとそのすべてのアプリケーションをインスタンス1からインスタンス2に移動します。移動するワークスペースについて、開発者はそのアプリケーションIDをすべて予約して、同じIDのアプリケーションがインスタンス1で作成されないようにします。

  1. Application Expressインスタンス1の設定後、アプリケーションIDが100000から199999の範囲内にあることを確認します。

    begin
        apex_instance_admin.set_parameter('APPLICATION_ID_MIN', 100000);
        apex_instance_admin.set_parameter('APPLICATION_ID_MAX', 199999);
    end;
    
  2. Application Expressインスタンス2の設定後、アプリケーションIDが200000から299999の範囲内にあることを確認します。

    begin
        apex_instance_admin.set_parameter('APPLICATION_ID_MIN', 200000);
        apex_instance_admin.set_parameter('APPLICATION_ID_MAX', 299999);
    end;
  3. その後、IDが1234567890のワークスペースMY_WORKSPACEをインスタンス1からインスタンス2に移動することを運用チームが決定します。必要なステップは次のとおりです。

    1. インスタンス1でワークスペース、アプリケーションおよびデータをエクスポートします(ここには示しません)。

    2. インスタンス1の他のアプリケーションでこのワークスペースのアプリケーションIDを再利用できないようにします。

      begin
          apex_instance_admin.reserve_workspace_app_ids(1234567890);
      end;
    3. インスタンス1でワークスペース、付随するデータおよびユーザーを削除します。

      begin
          apex_instance_admin.remove_workspace('MY_WORKSPACE');
      end;
    4. インスタンス2でワークスペース、アプリケーションおよびデータをインポートします(ここには示しません)。

参照:

予約を取り消すには、FREE_WORKSPACE_APP_IDSプロシージャを参照してください。