今天有同事反映最近几天的数据在oracle中查不到。检查TT的错误日志显示:TT5211: TT5211: Oracle out of resource error in OCIStmtExecute(): ORA-01536: space quota exceeded for tablespace 'TBSLOG' rc = -1 -- file "bdbTblH.c", lineno 2452, procedure "ttBDbStmtForce()"。
明显的表空间配额不足问题,检查oracle:
SQL> select * from dba_ts_quotas where username='USERNAME';
TABLESPACE_NAME USERNAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS DRO
-------------------- ------------------------------ ---------- ---------- ---------- ---------- ---
TBSLOG1 USERNAME 6835470336 -1 834408 -1 NO
这里只能查到用户USERNAME在表空间TBSLOG1上的配额是unlimited,并没有显示TBSLOG的配额。
更改配额:
SQL> alter user USERNAME quota unlimited on tbslog;
User altered.
SQL> select * from dba_ts_quotas where username='USERNAME';
TABLESPACE_NAME USERNAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS DRO
-------------------- ------------------------------ ---------- ---------- ---------- ---------- ---
TBSLOG USERNAME 6835470336 -1 834408 -1 NO
TBSLOG1 USERNAME 6835470336 -1 834408 -1 NO
这时看到了max_bytes=-1,说明已经将username在tbslog上的配额改成unlimited。检查tt的同步已经恢复正常,错误日志也不再报配额不足的错误。
明显的表空间配额不足问题,检查oracle:
SQL> select * from dba_ts_quotas where username='USERNAME';
TABLESPACE_NAME USERNAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS DRO
-------------------- ------------------------------ ---------- ---------- ---------- ---------- ---
TBSLOG1 USERNAME 6835470336 -1 834408 -1 NO
这里只能查到用户USERNAME在表空间TBSLOG1上的配额是unlimited,并没有显示TBSLOG的配额。
更改配额:
SQL> alter user USERNAME quota unlimited on tbslog;
User altered.
SQL> select * from dba_ts_quotas where username='USERNAME';
TABLESPACE_NAME USERNAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS DRO
-------------------- ------------------------------ ---------- ---------- ---------- ---------- ---
TBSLOG USERNAME 6835470336 -1 834408 -1 NO
TBSLOG1 USERNAME 6835470336 -1 834408 -1 NO
这时看到了max_bytes=-1,说明已经将username在tbslog上的配额改成unlimited。检查tt的同步已经恢复正常,错误日志也不再报配额不足的错误。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12355989/viewspace-712726/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12355989/viewspace-712726/