コーディングメモ

忘れっぽい自分に

【Oracle】ORA-01653: 表 xxxxx を拡張できません(xxx分、表領域xxxxxxx)。

  • 表領域の空き容量が不足している。
  • 以下のSQLから空き容量を確認。
select 
 d.tablespace_name, 
 現サイズ "現サイズ[MB]", 
 round(現サイズ-空き容量) "使用量[MB]",
 round((1 - (空き容量/現サイズ))*100) "使用率(%)",
 空き容量 "空き容量[MB]"
from
(SELECT tablespace_name, round(SUM(bytes)/(1024*1024)) "現サイズ"
FROM dba_data_files GROUP BY tablespace_name) d,
(SELECT tablespace_name, round(SUM(bytes)/(1024*1024)) "空き容量"
FROM dba_free_space GROUP BY tablespace_name) f
where d.tablespace_name=f.tablespace_name
order by  tablespace_name;
  • 以下のSQLから対象の表領域を使用しているテーブルを確認。
SELECT *
FROM   USER_TABLES
ORDER BY TABLE_NAME;
  • 以下のSQLで表を削除。
drop table TABLE_NAME cascade constraint;