tablespace location

walkerdba
walkerdba used Ask the Experts™
on
How would I find the tablespace of a particular schema?

Please help..
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Senior Database Administrator
Commented:
If you're looking for the default tablespace name for a user:

select default_tablespace from dba_users where username = 'YOUR_USER';

If you're looking for all the tablespaces that a user may have quotas on:

select tablespace_name from dba_ts_quotas where username = 'YOUR_USER';
Most Valuable Expert 2012
Distinguished Expert 2018
Commented:
To ad to the post above:  A schema in Oracle is just a user that owns objects.  These objects can be in any tablespace.  If you do not declare a specific tablespace when you create the object, it is created in the users 'default' tablespace.

You typically create objects in different tablespaces.  Like one for tables and one for indexes.

You can even create tablespaces with different block sizes for specific objects that may get a performance gain from it.

Author

Commented:
SQL> select tablespace_name from dba_ts_quotas where username = 'SCOTT';

no rows selected

SQL> select tablespace_name from dba_ts_quotas where username ='SCOTT';

no rows selected

SQL>

Why it is like this.....?
Success in ‘20 With a Profitable Pricing Strategy

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Steve WalesSenior Database Administrator

Commented:
This means that SCOTT has no tablespace as his default and has no quotas on any tablespaces.

If you want to see the tablespaces you do have:

select * from dba_tablespaces;
select * from dba_data_files;
select * from dba_temp_files;

Author

Commented:
How can a schema sit nowhere without tablespace?
Scott should be somewhere right?

My mission is to find out which tablespace SCOTT..
johnsoneSenior Oracle DBA
Commented:
If you are looking for the tablespaces that the schema is currently using, I would use this:

SELECT DISTINCT TABLESPACE_NAME
FROM DBA_SEGMENTS
WHERE OWNER = 'SCOTT';

If the user has the UNLIMITED TABLESPACE privilesge, then there will be no records in DBA_TS_QUOTAS and there doesn't need to be.
Steve WalesSenior Database Administrator

Commented:
As slightwv mentioned, a schema in Oracle is just a user that owns objects.

It is possible to create a user that does not have any objects (and hence, all of the above queries would return nothing).

johnsone also makes a valid point, you'd need to check dba_sys_privs (to see which users have that system privilege):

select * from dba_sys_privs where privilege = 'UNLIMITED TABLESPACE';

It sounds like you misunderstand what a schema is in Oracle.  It is a different concept to SQL Server, for example.

It is very possible to have users without objects in Oracle.
Mark GeerlingsDatabase Administrator
Commented:
A tablespace in Oracle is a physical place (one or more files on disk) that can contain tables and indexes.  A schema is a logical concept in Oracle that by default doesn't correspond to any physical tablespaces.  You can assign a default tablespace to a schema, but that schema is not necessarily limited to creating objects only in its default tablespace.  For example, you can grant a schema the "unlimited tablespace" privilege.  That allows the schema to create objects in any tablespace.
Geert GOracle dba
Top Expert 2009
Commented:
does user SCOTT actually exist in your database ?

check following query results:

select * from dba_users where username = 'SCOTT';

Author

Commented:
I've requested that this question be closed as follows:

Accepted answer: 0 points for walkerdba's comment #a38731912

for the following reason:

yes
Most Valuable Expert 2012
Distinguished Expert 2018

Commented:
>> closed by accepting walkerdba's comment #a38731912 (0 points) as the solution for the following reason:  yes

I'm afraid I'll have to object to the way you want to close this.
Please accept the post or posts that assisted you in answering the question.

I suggest a split of the points since it appears several posts helped.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial