首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 10g 回收站機制與 BIN$ 異常表名清除指南

     編輯:Oracle 資料庫相關知識

現象成因

Oracle 10g 引入「回收站」功能,DROP TABLE 不會立即釋放空間,而是將表重命名為 BIN$...==$0 格式並移入回收站。這導致查詢 USER_TABLES 時出現大量難以辨識的表名。

清除方法

1. 清除特定表/索引

PURGE TABLE original_table_name;
PURGE INDEX original_index_name;

2. 查詢回收站內容

SELECT object_name, type, original_name 
FROM user_recyclebin;

3. 一鍵清空回收站(推薦)

PURGE RECYCLEBIN;

4. 直接永久刪除(不進回收站)

DROP TABLE table_name PURGE;

管理建議

  • 定期執行 PURGE RECYCLEBIN 釋放空間
  • 生產環境重要表建議加 PURGE 選項直接刪除
  • 監控 DBA_RECYCLEBIN 視圖掌握空間佔用

版本差異提醒

Oracle 11g 以降預設啟用回收站,12c 可透過 RECYCLEBIN=OFF 參數關閉。升級專案務必評估對現有 DROP 腳本的影響。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved