Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Abdul Wahid.

Asked: September 20, 2017 - 2:58 pm UTC

Last updated: September 21, 2017 - 12:49 am UTC

Version: 10.2

Viewed 10K+ times! This question is

You Asked

When I tried to check the TBS quota for each user in the database using the below view it gave info about only the SYSMAN user

SQL> select TABLESPACE_NAME,USERNAME,MAX_BYTES,MAX_BLOCKS from DBA_TS_QUOTAS;

TABLESPACE_NAME USERNAME MAX_BYTES MAX_BLOCKS
------------------------------ ------------------------------ ---------- ----------
SYSAUX SYSMAN -1 -1

Then when I checked the DBA_SYS_PRIVS view it gave info about all the users in the DB having unlimited TBS quota

SQL> select grantee, PRIVILEGE from DBA_SYS_PRIVS where PRIVILEGE = 'UNLIMITED TABLESPACE' order by 1;

GRANTEE PRIVILEGE
------------------------------ ----------------------------------------
ADT UNLIMITED TABLESPACE
AHC UNLIMITED TABLESPACE
AMB UNLIMITED TABLESPACE
BB UNLIMITED TABLESPACE
BILLING UNLIMITED TABLESPACE
.
.
.

Could you explain why this info was not available in the DBA_TS_QUOTAS view ?

and Connor said...

There two different things in play here.

I can give you the *privilege* of UNLIMITED TABLESPACE, which means you use as much space in *any* tablespace. That is what you find in DBA_SYS_PRIVS

I can also give an unlimited amount of space in a *particular* tablespace, using:

alter user MY_USER quota unlimited on MY_TSPACE;

That is what you would see in DBA_TS_QUOTAS

Hope this helps clarify things.

Is this answer out of date? If it is, please let us know via a Comment

More to Explore

Administration

Need more information on Administration? Check out the Administrators guide for the Oracle Database