表領域が自動拡張(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の値も少し増えています)