程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> IT忍者神龜之配額不足的解決方法ORA-01536:spacequotaexceededfortablespace

IT忍者神龜之配額不足的解決方法ORA-01536:spacequotaexceededfortablespace

編輯:Oracle教程

IT忍者神龜之配額不足的解決方法ORA-01536:spacequotaexceededfortablespace


今天有同事反映最近幾天的數據在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的同步已經恢復正常,錯誤日志也不再報配額不足的錯誤。

11g sqlplus報錯ORA-28002: the password will expire within 5 days 的解決方法

11g增加了登錄時間的限制,在DEFAULT Profile裡能查到,如下所示:
SQL> select * from dba_profiles where profile='DEFAULT' AND RESOURCE_NAME='PASSWORD_LIFE_TIME';

PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180

LIMIT字段顯示180天。
看一下10g的值:
SQL> select * from dba_profiles where profile='DEFAULT' AND RESOURCE_NAME='PASSWORD_LIFE_TIME';

PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED

解決方法:
1、將LIMIT值改為UNLIMITED即可,修改馬上生效,不需要重啟數據庫
SQL> alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;

Profile altered.

SQL> select * from dba_profiles where profile='DEFAULT' AND RESOURCE_NAME='PASSWORD_LIFE_TIME';

PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED

2、已經報錯的用戶則必須修改一次密碼,密碼可以不變。
SQL> alter user user1 identified by user1;

User altered.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved