表空間限額問題
知識總結:
表空間的大小與用戶的配額大小是兩種不同的概念
表空間的大小是指實際的用戶表空間的大小,而配額大小指的是用戶指定使用表空間的的大小
把表空間文件增大,還是出現這個問題,用戶在使用表空間的同時使用空間的限額,如果超出 限制, 就算有空的地方,也不會讓用戶使用
視圖:
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;