DROP TABLE 後,表不見了,但 SELECT * FROM TAB 仍見 BIN$... 開頭對象,佔用空間。
DROP 實際是重命名移入回收站,而非物理刪除。SELECT * FROM RECYCLEBIN; 或 SHOW RECYCLEBIN;SELECT FLASHBACK_ON FROM V$DATABASE;| 目的 | 命令 |
|---|---|
| 閃回恢復表 | FLASHBACK TABLE table_name TO BEFORE DROP; |
| 徹底刪除(不進回收站) | DROP TABLE table_name PURGE; |
| 清空當前用戶回收站 | PURGE RECYCLEBIN; |
| 清空指定表在回收站的對象 | PURGE TABLE table_name; |
| 清空表空間回收站 (DBA) | PURGE TABLESPACE ts_name; / PURGE TABLESPACE ts_name USER scott; |
| 清空整個資料庫回收站 (DBA) | PURGE DBA_RECYCLEBIN; |
ALTER SYSTEM SET RECYCLEBIN = OFF SCOPE=BOTH; -- 需重啟生效
-- 或會話級
ALTER SESSION SET RECYCLEBIN = OFF;
DROP 重要表前,務必確認備份可用;PURGE 釋放空間;