表領域が自動拡張(AUTO EXTENDED)に設定されているのにORA-01536が発生
INSERT文を発行した際に、
ORA-01536: 表領域 USERS に対して割り当てられた領域を使い果たしました。
が発生しました。
表領域 USERS を確認したところ、確かに表領域は96%くらい使用されていますが、自動拡張(AUTO EXTENDED)に設定されています…。
どうやら表領域を自動拡張(AUTO EXTENDED)していても、その表領域に対して領域の割り当てを行わないと、そのユーザーでは自動拡張が行われないようです。
というわけで、sqlplusでデータベースにそのユーザーで接続して、
SQL> select * from user_ts_quotas;
を発行すると、
TABLESPACE_NAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS DRO
------------------- ---------- ---------- ---------- ---------- ---
USERS 4587520 0 560 0 NO
と結果が。MAX_BYTESが0になっていることから、表領域USERSに対して新規割り当てが一切できない権限のようです。
なので、sysdbaユーザーで接続しなおし、領域の領域を無制限に割り当てることができるように、
ALTER USER [ユーザー名] QUOTA UNLIMITED ON USERS;
を実行しました。
これで無事に新たにINSERT文によってデータが登録できるようになりました!
一応、
SQL> select * from user_ts_quotas;
を発行して確認すると、
TABLESPACE_NAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS DRO
-------------------- ---------- ---------- ---------- ---------- ---
USERS 4653056 -1 568 -1 NO
と結果が。
「-1」になっているので無制限割り当て権限が付与されていますね!(INSERT文を発行した後に確認したので、BYTESの値も少し増えています)