Oracle 10g 引入 Recycle Bin:DROP TABLE 不再物理刪除,而是重命名為 BIN$...==$0 移入回收站,佔用空間不釋放。若不清理,導致表空間虛耗、字典膨脹。
PURGE TABLE original_table_name;
PURGE INDEX original_index_name;
PURGE RECYCLEBIN; -- 或 PURGE USER_RECYCLEBIN
DROP TABLE table_name PURGE;
效果: 立即釋放空間、不進回收站、無法 `FLASHBACK TABLE ... TO BEFORE DROP`。
SELECT object_name, type, original_name
FROM user_recyclebin
ORDER BY droptime DESC;
DBA 視角:DBA_RECYCLEBIN 查看全庫。
ALTER SESSION SET RECYCLEBIN = OFF;ALTER SYSTEM SET RECYCLEBIN = OFF DEFERRED;(需重啟生效)。PCTFREE 閾值時,Oracle 自動清理最舊回收物件。DROP ... PURGE,變更腳本納入 Code Review 強制檢查。PURGE RECYCLEBIN(如每週),防止長期累積。DBA_FREE_SPACE vs DBA_SEGMENTS 差異,發現回收站佔用比例 > 5% 即觸發清理告警。