Insight Technology, Inc

インサイトテクノロジー

Japanese | English

ユーザ毎にTABLESPACEのQUOTAを設定している場合、その制限値と今までの使用量を知りたい

select substrb(username,1,15) OWNER
      ,substrb(tablespace_name,1,28) TABLESPACE
      ,decode(greatest(max_bytes, -1),-1, 'Unlimited',to_char(max_bytes,'999,999,999,990') ) QUOTA
      ,to_char(bytes, '999,999,999,990') USED
      from sys.dba_ts_quotas
      where max_bytes!=0
      or bytes!=0
order by 1,2;
ポイント
RESOURCEロールなどが与えられているユーザは、UNLIMITED TABLESPACEシステム権限が与えられているので、ユーザ毎の制限値はあまり意味が無いかもしれない。
DBA_TS_QUOTASのMAX_BYTESやMAX_BLOCKSは、制限値がUnlimitedで与えられていると「-1」という値が検索される。