Oracle入门(七A)之表空间配额(quota)
轉載自?oracle表空間配額(quota)
一、quota相關視圖
1)dba_ts_quotas(查看所有用戶的表空間配額)
BYTES字段表示用戶已經使用的空間;MAX_BYTES如果為-1表示沒有限制,其他值表示限制配額
--只有用alter?user?user_name?quota?on?tablespace_name;命令顯示的調整過用戶的空間配額,該視圖中才會有記錄,否則該視圖沒有記錄
--如果該視圖沒有信息,我們可以通過user_ts_quotas視圖來了解用戶的表空間限額信息
2)?user_ts_quotas(查看當前用戶表空間配額)
--注意可能有時我們查詢該視圖,用戶在某個表空間的配額為0,但是我們依然可以使用該表空間,那么說明用戶被賦予了UNLIMITED?TABLESPACE。
--SQL>?select?*from?user_sys_privs;查看用戶是否具有UNLIMITED?TABLESPACE權限
二、resource角色和quota
注意resource角色被賦予用戶時,用戶就自動被賦予了UNLIMITED?TABLESPACE權限(雖然resource中并不包含該權限)如果我們把resource角色從用戶收回,那么UNLIMITED?TABLESPACE權限也會自動收回
三、配額管理
1)建用戶時指定配額
SQL>?create?user?java?identified?by?oracle?default?tablespace?users?temporary?tablespace?temp?quota?100m?on?users?quota?100m?on?system;
--注意temp表空間不支持表空間配額
2)更改用戶表空間配額
grant?unlimited?tablespace?to?java;--不對用戶作配額限制
alter?user?java?quota?unlimited?on?users;--對指定表空間不做限額
alter?user?java?quota?1000m?on?users;--指定用戶在某表空間限制
revoke?unlimited?tablespace?from?java;--收回用戶的unlimited?tablespace權限
alter?user?java?quota?0?on?users;--針對alter?…?quota?unlimited?…;
--如果用戶已經被授予了unlimited?tablespace權限的話,那么alter?user?java?quota?0?on?users;限制是不起作用的
四、表空間已刪除,關于表空間配額信息還存在
表空間被刪除以后但是關于該表空間的配額信息在視圖中依然能夠查到
這個是正常的,因為表空間被drop后,ts$和tsq$中的信息并沒有被清理,如果你重建一個同名的tablespace,并限制quota?為0,tsq$中的記錄就被刪除了.
從10gR2開始,你可以使用
drop?tablespace?mytsincluding?contents?and?datafiles?drop?quota;
這樣的語法,一并將quota信息刪除,默認是keep?quota.
trace的時候你會發現,如果加上drop?quota這樣的options?clause,那么就會有
select?user#?from?tsq$?wherets#=:1
delete?from?tsq$?where?ts#=:1and?user#=:2
...
這樣的動作.而dba_ts_quotas視圖的定義正是使用了tsq$中的信息
create?or?replace?viewsys.dba_ts_quotas
(tablespace_name,?username,?bytes,?max_bytes,?blocks,?max_blocks,?dropped)
as
select?ts.name,?u.name,?nvl(spc.bytes,?0),
???????decode(q.maxblocks,?-1,?-1,?q.maxblocks?*ts.blocksize),
???????nvl(spc.blocks,?0),?q.maxblocks,?decode(ts.online$,3,?'YES',?'NO')
from?sys.tsq$?q,?sys.ts$?ts,?sys.tbs_space_usagespc,?sys.user$?u
where?q.ts#?=?ts.ts#
??and?q.user#?=?u.user#
??and?spc.tsn??=?ts.ts#
??and?spc.owner?=?u.name
??and?q.maxblocks?!=?0
總結
以上是生活随笔為你收集整理的Oracle入门(七A)之表空间配额(quota)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows系统如何查看计算机的基本信
- 下一篇: nolo电脑配置要求?