Oracle 用戶與表空間安全刪除標準流程
前置依賴查詢
1. 表空間與數據文件映射
SELECT FILE_NAME, TABLESPACE_NAME FROM DBA_DATA_FILES;
2. 用戶與默認表空間關係
SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS;
3. 系統表空間分佈
SELECT FILE_NAME, TABLESPACE_NAME FROM DBA_DATA_FILES;
刪除操作 (順序嚴禁顛倒)
步驟 1:刪除用戶 (級聯模式)
DROP USER doiido CASCADE;
-- CASCADE 關鍵字:同時刪除用戶擁有的所有對象(表/索引/序列/視圖等)
-- 無 CASCADE 時若用戶擁有對象會報錯失敗
步驟 2:刪除表空間 (含內容與數據文件)
DROP TABLESPACE doiido INCLUDING CONTENTS AND DATAFILES;
-- INCLUDING CONTENTS: 刪除表空間內所有段(表/索引/LOB等)
-- AND DATAFILES: 同時刪除作業系統層面的 .dbf 物理文件
-- 缺一不可,否則殘留物理文件佔用磁碟空間
操作鐵律
- 先刪用戶 (釋放對象佔用),後刪表空間 (釋放空間結構)
- 必須加
CASCADE / INCLUDING CONTENTS AND DATAFILES
- 操作前確認無業務連接,建議離線維護窗口執行
- 生產環境執行前務必完成全備份