- ベストアンサー
ORA-01630の対応方法について
テーブル更新時にORA-01631(最大エクステント数に達した・・)というエラーがでました。 該当のテーブルに対して、データを削除しましたが (1)最大エクステント数の広げる方法 (2)エクステント数が最大に近づいているテーブルの調べ方 を教えて下さい。 よろしくお願いします の対応方法について
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>(1)最大エクステント数の広げる方法 環境がないので確認できませんが alter table <テーブル名> storage (maxextents nnn) nnnに最大エクステント数の数(unlimitedも可)。 それができないのであれば (1) 対象テーブルをexport(パラメータにcompress=yを指定) (2) 対象テーブルをdrop (3) 対象テーブルをimport(initialが大きいテーブルで作成してくれる) (4) storageのnextをalter table文で変更しておく(データ増加を考慮した値に変更)。 >(2)エクステント数が最大に近づいているテーブルの調べ方 dba_segments(user_segments)などのextentsとmaxextentsを確認すれば 調査できると思います。
その他の回答 (1)
- PrintScree
- ベストアンサー率25% (538/2091)
まず ・TABLEにINDEXは作成してますか? ・TABLEとINDEXのTABLESPACEは別ですか? ・Oracleのバージョンは? DBA Studioがあれば、「表領域」を表示すれば?MB中?MB使用。と表示できます。 使用率の高いテーブルがORA-01631の可能性が高くなります。 通常この場合の対処方法は、TABLESPACEを拡張します。 ALTER TABLESPACE ~ とするか、DBA Studioを使用して拡張します。 TABLEとINDEXのTABLESPACEが別々になっている場合、INDEXの不整合でこの様なエラーがでることもあります。この場合はINDEXを再生成すれば解決します。