質問: <環境>マシン:IBM RX6000 OS:AIX Ver.4.3 DB:ORACLE(Ver.8.1.6) 上記環境で、急にCREATEができなくなりました。 (1)ORA-01536: 表領域 TABLESPACE1に対して割り当てられた領域を使い果たしました。 というエラーが出たのですが、 空き領域を整理し、データファイルを新しく割り付けた後も同様のエラーが 発生しました。 それまでの処理は、 2)AユーザからテーブルデータEXPORT後BユーザへIMPORT ※※補足※※ Aユーザのロール:CONNECT、DBA Bユーザのロール:CONNECT、RESOURCE だったのですが、この状態だとBにIMPORTできない ため、 IMPORT前にBにDBAロールを追加、IMPORT後に削除 3)SQL*Loader実行すると、 エラーコード-2 STDERRに関する何かのエラーが出、 (↑ログが残っていないため詳細不明) その後、再度SQL*Loaderを実行しても、 (1)のエラーが発生して処理終了 4)Bユーザに関して、TABLESPACE1に関しても、その他 のTABLESPACE(TABLESPACE2)に関しても、CREATE不可 INSERTも件数が多いと途中で(1)のエラー発生 ※※補足※※ Aユーザに関しては、TABLESPACE2にはCREATE可能 (TABLESPACE1はテスト未) 最終的には、BユーザにDBAロールを追加して、 実行可能になったのですが、元々はDBAロールを持たせずに 処理できていたので、原因が分かりません。 EXPORT&IMPORT時に「権限をIMPORTするか?>Yes」を選択 したことや、DBAロールを追加&削除したことが影響するので しょうか? ただ、最近Oracleサーバの調子が悪かったため、その影響も あるかもしれません。 全く原因が分かりませんので、心当たりのある方、 よろしくお願いします。
回答: こんばんは。 このエラーを見て、一番最初に思いつくのは 該当ユーザのTABLESPACE使用領域の使い果たしです。 ユーザを作成する際、どのTABLESPACEに何バイトまで 使用許可をします、といった制限を設けることができます。 その使用制限値を超えたデータを挿入しようとしてエラーが 出たのではないでしょうか? 使用制限は「QUOTA」というキーワードです。 マニュアルでひくと見つかると思います。 管理者ユーザで ALTER USER XXX QUOTA XXM ON テーブルスペース名 として制限値を大きくすれば解消できるはずです。 またサイズに「UNLIMITED(無制限)」とすることも可能です。