Sentry Answers>SQL>

How do I get a list of all tables in Oracle?

How do I get a list of all tables in Oracle?

Richard C.

The Problem

How do you select the names of all tables in Oracle?

The Solution

Oracle groups tables into schemas. You can think of a schema as a “database” if you’re used to other database management systems, although in Oracle schemas are usually part of the main container database.

Schemas “own” tables. So to list all table names in a specific schema called CHINOOK, use the command:

Click to Copy
SELECT table_name FROM dba_tables WHERE owner = 'CHINOOK' ORDER BY table_name;

Oracle is case-sensitive, so be sure to enter your owner schema name with the correct capitalization.

If the query above gives you a permissions error, try replacing dba_tables with all_tables or user_tables. These three tables are shown in decreasing order of permissions required.

If you want to list all tables in all schemas, remove the where clause from the query.

Finally, if you want to include column names in your results, use:

Click to Copy
SELECT table_name, column_name FROM all_tab_columns WHERE owner = 'CHINOOK' ORDER BY table_name, column_id;
  • Syntax.fmListen to the Syntax Podcast
  • Community SeriesIdentify, Trace, and Fix Endpoint Regression Issues
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.