首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

ORA-25153 臨時表空間為空:誤刪 Tempfile 後的 30 秒修復

     編輯:Oracle 資料庫基礎

錯誤現場

SQL> ANALYZE TABLE a COMPUTE STATISTICS;
ORA-25153: Temporary Tablespace is Empty

SQL> SELECT name FROM v$tempfile;
-- no rows selected

臨時檔案遺失(常見於誤刪、磁碟故障、遷移遺漏)。

即時修復

ALTER TABLESPACE temp ADD TEMPFILE
  'D:\Oracle\oradata\ora92\temp01.dbf' SIZE 100M REUSE;
-- 或 ASM
ALTER TABLESPACE temp ADD TEMPFILE '+DATA' SIZE 100M;

驗證

SQL> SELECT name FROM v$tempfile;
NAME
------------------------------------------------
D:\ORACLE\ORADATA\ORA92\TEMP01.DBF

SQL> ANALYZE TABLE a COMPUTE STATISTICS;
Table analyzed.

深度補充

  • Tempfile **不記錄 Redo**,不在控制檔、備份集中,**不需 RMAN 還原**,直接 `ADD TEMPFILE` 即可。
  • 多 Tempfile 可分散 I/O:`ALTER TABLESPACE temp ADD TEMPFILE '...temp02.dbf' SIZE 500M;`
  • 監控臨時空間用量:
    SELECT tablespace_name, bytes_used/1024/1024 used_mb, bytes_free/1024/1024 free_mb
    FROM   v$temp_space_header;
  • 避免誤刪:OS 層面 `chattr +i` 保護、備份腳本排除 `*.dbf` 刪除邏輯。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved