ORA-01536: 超出表空間 'tablespace_name' 的空間限額
阿新 • • 發佈:2018-11-14
表空間限額問題
知識總結:
表空間的大小與使用者的配額大小是兩種不同的概念
表空間的大小是指實際的使用者表空間的大小,而配額大小指的是使用者指定使用表空間的的大小
把表空間檔案增大,還是出現這個問題,使用者在使用表空間的同時使用空間的限額,如果超出 限制, 就算有空的地方,也不會讓使用者使用
檢視:
dba_ts_quotas : DBA_TS_QUOTAS describes tablespace quotas for all users.
user_ts_quotas :USER_TS_QUOTAS describes tablespace quotas for the current user. This view does not display the USERNAME column.
檢視使用者的表空間的限額
select * from dba_ts_quotas;
select * from user_ts_quotas;(檢視當前沒dba許可權的使用者的表空間限額,要用要檢視的使用者登入,也就是看自己的許可權)
max_bytes欄位就是了
-1是代表沒有限制,其它值多少就是多少了.
使用者表空間限額的建立與更改:
1.建立使用者時,指定限額
eg:
CREATE USER SKATE IDENTIFIED BY SKATE_PWD
DEFAULT TABLESPACE SKATE_TS
TEMPORARY TABLESPACE temp
QUOTA 3M ON SKATE_TS
PASSWORD EXPIRE;
2.更改使用者的表空間限額:
A:不對使用者做表空間限額控制:
GRANT UNLIMITED TABLESPACE TO skate;
這種方式是全域性性的.
或者
alter user USER_NAME quota unlimited on TABLESPACE_NAME;(用此方法改變表空間限額問題)
這種方式是針對特定的表空間的.
3.可以分配自然也可以回收了:
revoke unlimited tablespace from skate;
或者
alter user skate quota 0 on SKATE_TS;