3.12.4 ワークスペースの削除
ワークスペースを削除しても、関連付けられているデータベース・オブジェクトは削除されません。関連付けられているスキーマを削除する場合、データベース管理者(DBA)は、Oracle Enterprise Manager、SQL*Plusなどの標準的なデータベース管理ツールを使用する必要があります。
- アクティブではないワークスペースの識別および削除
アクティブではないワークスペースを識別および削除する方法について学習します。 - 完全開発環境でのワークスペースの削除
完全開発環境でワークスペースを削除します。 - ランタイム開発環境でのワークスペースの削除
ランタイム開発環境でワークスペースを削除します。
親トピック: 既存のワークスペースの管理
3.12.4.1 アクティブではないワークスペースの識別および削除
アクティブではないワークスペースを識別および削除する方法を学習します。
- アクティブではないワークスペースの識別方法
- 最近の更新をチェックしてアクティブではないワークスペースを識別
- アクティブではないワークスペースに関連付けられているリソースの削除
- アクティブではないワークスペースの削除
親トピック: ワークスペースの削除
3.12.4.1.1 アクティブではないワークスペースの識別方法
ホスティングされた大規模なOracle APEXインスタンスを管理している場合は、アクティブではないワークスペースを手動で削除すると、他のユーザーに対してリソースを開放できます。アクティブではないワークスペースを手動で削除するプロセスは、次のステップで構成されます。
-
ステップ1: アクティブではないワークスペースを識別します。最近の更新をチェックしてアクティブではないワークスペースを識別を参照してください。
-
Step 2: アクティブではない各ワークスペースに関連付けられているリソース(データベース・スキーマ、表領域およびデータファイル)を削除します。アクティブではないワークスペースに関連付けられているリソースの削除を参照してください。
-
ステップ3: アクティブではないワークスペースをAPEXから削除します。アクティブではないワークスペースの削除を参照してください。
ヒント:
アクティブではないワークスペースを体系的に消去するには、「ワークスペースのパージ」設定を構成する必要があります。「アクティブではないワークスペースの消去」を参照してください。
親トピック: アクティブではないワークスペースの識別および削除
3.12.4.1.2 最近の更新をチェックしてアクティブではないワークスペースを識別
ワークスペースがアクティブでないかどうかを判別する場合の最初のステップは、いくつかの基本ルールを確立することです。APEXエンジンのカレント・スキーマにあるOracle APEXアクティビティ・レコードに基づいてルールを決定する方法が一般的です。
次のDDL(データ定義言語)によって、2004年6月28日以前にリクエストされ、2004年6月10日以降アクティブではないすべてのワークスペースの表が作成されます。この例では、ワークスペースごとにAPEXエンジン・スキーマ内の最新の更新に関するキーを確認することで、アクティブでないかどうかが判別されます。
ALTER SESSION SET CURRENT_SCHEMA = APEX_220200; CREATE TABLE ws_to_purge AS SELECT c.security_group_id, c.company_name, c.admin_email, c.request_date, SYSDATE last_updated_on, 'Y' ok_to_delete FROM wwv_flow_provision_company c WHERE c.request_date <= to_date('20040628','YYYYMMDD') AND ( not exists (SELECT NULL /* Activity Log */ FROM wwv_flow_activity_log l WHERE l.security_group_id = c.security_group_id AND l.time_stamp > to_date('20040610','YYYYMMDD')) ) AND NOT EXISTS (SELECT NULL /* workspace applications */ FROM wwv_flows f WHERE f.security_group_id = c.security_group_id AND f.last_updated_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* Pages */ FROM wwv_flow_steps s WHERE s.security_group_id = c.security_group_id AND s.last_updated_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* Regions */ FROM wwv_flow_page_plugs p WHERE p.security_group_id = c.security_group_id AND p.last_updated_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* Items */ FROM wwv_flow_step_items i WHERE i.security_group_id = c.security_group_id AND i.last_updated_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* Templates */ FROM wwv_flow_templates t WHERE t.security_group_id = c.security_group_id AND t.last_updated_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* Files uploaded */ FROM wwv_flow_file_objects$ o WHERE o.security_group_id = c.security_group_id AND o.created_on > to_date('20040610','YYYYMMDD')) AND NOT EXISTS (SELECT NULL /* SQL Workshop history */ FROM wwv_flow_sw_sql_cmds s WHERE s.security_group_id = c.security_group_id AND s.created_on > to_date('20040610','YYYYMMDD'));
親トピック: アクティブではないワークスペースの識別および削除
3.12.4.1.3 アクティブではないワークスペースに関連付けられているリソースの削除
アクティブではないワークスペースを1つの表で識別した後、それらを削除します。
ノート:
アクティブではないワークスペースに関連付けられているスキーマ、表領域またはデータファイルを削除する前に、それらのリソースが他のワークスペースまたはアプリケーションで使用されていないことを確認してください。
アクティブではないワークスペースに関連付けられているリソースを削除するには、次の手順を実行します。
親トピック: アクティブではないワークスペースの識別および削除
3.12.4.1.4 アクティブではないワークスペースの削除
アクティブではないワークスペースに関連付けられているリソースを削除すると、そのワークスペースを削除できます。アクティブではないワークスペースは、管理サービス・アプリケーションを使用して手動で削除できます。また、次のPL/SQLの例に示すように、プログラムによって削除できます。
BEGIN FOR c1 IN (SELECT security_group_id FROM ws_to_purge WHERE ok_to_delete = 'Y') LOOP WWV_FLOW_PROVISIONING.TERMINATE_SERVICE_BY_SGID(c1.security_group_id); END LOOP; END;
親トピック: アクティブではないワークスペースの識別および削除
3.12.4.3 ランタイム開発環境でのワークスペースの削除
ランタイム開発環境でワークスペースを削除します。
ランタイム開発環境でワークスペースを削除するには、次の手順を実行します。
親トピック: ワークスペースの削除