24.22 RESERVE_WORKSPACE_APP_IDSプロシージャ

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

構文

APEX_INSTANCE_ADMIN.RESERVE_WORKSPACE_APP_IDS (
    p_workspace_id IN NUMBER );

パラメータ

表24-18 RESERVE_WORKSPACE_APP_IDSのパラメータ

パラメータ 説明
p_workspace_id ワークスペースの一意のID。

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

  1. APEXインスタンス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. APEXインスタンス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プロシージャ」を参照してください。