ORA-01652: Unable to extend temp segment by N in tablespace(表領域で一時セグメントを拡張できない)
Oracle意味
一時 (temp) セグメントを拡張するための十分な空き領域が表領域内に見つからなかった。通常はソート、ハッシュ結合、グローバル一時表の操作中に発生する。
原因
TEMP 表領域が満杯。大きな ORDER BY、GROUP BY、DISTINCT、ハッシュ結合、インデックス作成が PGA メモリに収まらずディスクに溢れる。データファイルの AUTOEXTEND が off、またはディスク容量の枯渇。
対処方法
TEMP 使用量を監視する: SELECT * FROM v$sort_usage / v$tempseg_usage。TEMP 表領域にファイルを追加するか拡大する: ALTER TABLESPACE temp ADD TEMPFILE '...' SIZE 2G AUTOEXTEND ON。永続表領域が満杯ならデータファイルを追加する。クエリの最適化 (適切なインデックス、より大きな PGA_AGGREGATE_TARGET) でディスクソートを減らす。
同じデータベースの他の項目
- ORA-00060Deadlock detected while waiting for resource(リソース待機中にデッドロックを検出)
- ORA-01017Invalid username/password; logon denied(ユーザー名/パスワードが無効。ログオン拒否)
- ORA-01555Snapshot too old: rollback segment number too small(スナップショットが古すぎる)
- ORA-04031Unable to allocate N bytes of shared memory(共有メモリを割り当てられない)
- ORA-12154TNS: could not resolve the connect identifier specified(接続識別子を解決できない)
- ORA-12514TNS: listener does not currently know of service requested in connect descriptor(リスナーが要求されたサービスを認識していない)
- ORA-00942Table or view does not exist(表またはビューが存在しない)