SELECT OWNER,TABLE_NAME FROM DBA_TABLES;
If you are not dba
SELECT owner,TABLE_NAME FROM all_TABLES;
SELECT TABLE_NAME FROM user_TABLES;
Main Topics
Browse All TopicsHow can I list all tables in a schema? I would like to build a reporting tool, which I can run and it will list all tables in a schema. It would have to be done via a query (odbc).
In the future, I would like to convert it to a Stored procedure, but I need to access it via a query now.
TIA,
astro
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Just fyi,
This will describe the difference between the system tables prefixed with dba_, all_, and user_
The system tables prefixed with dba_ have ALL the objects in the database for all schemas.
The system tables prefixed with all_ have objects that YOU have access to. There could be other objects out there, but if you don't have access to them, you won't be able to see them.
The system tables prefixed with user_ just show your objects that you have.
In order to see the DBA_ tables, you will need the dba to grant you the select catalog role.
I perfrer the dba_tables because then there is no limitation on what you see due to permissions.
Also, you mentioned creating a stored object to do this, if you want to create a stored object (procedure/package), you will have to have direct select permission on the dba_ table you are trying to reference. For example, if your stored procedure uses dba_tables, then your dba will have to grant you select on dba_tables to your id. Otherwise, you will get a compile error stating it doesn't know that table. To create stored objects referencing other objects, you have to have direct access instead of access through a role. Oracle says this is not a bug, it was designed that way..... pretty stupid design....
points to mikejrobison for the information!
http://www.experts-exchang
Business Accounts
Answer for Membership
by: angelIIIPosted on 2003-08-07 at 05:06:32ID: 9098893
What about this:
select * from DBA_TABLES
WHERE owner = 'schema_name'
CHeers