Oracle 10g 中出現 BIN$2cMp4FjwQ2Cw3Lj+BxLYTw==$0 等異常表名,實為 回收站 機制:DROP TABLE 不再物理刪除,而是重命名移入回收站,保留數據與結構,仍佔用空間。
SELECT object_name, original_name, type, droptime
FROM user_recyclebin;
object_name:BIN$... 系統生成名。original_name:用戶原始表名。PURGE TABLE original_table_name; -- 按原名清除
PURGE INDEX original_index_name; -- 清除索引
PURGE RECYCLEBIN; -- 當前用戶
PURGE DBA_RECYCLEBIN; -- DBA 清空所有用戶 (需 SYSDBA)
DROP TABLE table_name PURGE; -- 直接物理刪除,不可恢復
FLASHBACK TABLE original_table_name TO BEFORE DROP;
-- 將表從回收站恢復,保留原名與結構
DROP 會導致 ORA-01536(空間配額超限)。PURGE RECYCLEBIN 釋放空間,或設置 RECYCLEBIN=OFF(實例級參數,需重啟)禁用該特性。