Find tables with a specific column name in Oracle database

Query below lists:

(A) all tables accessible to the current user in Oracle database having column with a specific name

(B) all tables in Oracle database having column with a specific name

Query was executed under the Oracle9i Database version.

Query

A. Tables accessible to the current user

select t.owner as schema_name,
       t.table_name
from sys.all_tab_columns col
inner join sys.all_tables t on col.owner = t.owner 
                              and col.table_name = t.table_name
where col.column_name = 'QUANTITY_BILLED'
-- excluding some Oracle maintained schemas
and col.owner not in ('ANONYMOUS','CTXSYS','DBSNMP','EXFSYS', 'LBACSYS', 
   'MDSYS', 'MGMT_VIEW','OLAPSYS','OWBSYS','ORDPLUGINS', 'ORDSYS','OUTLN', 
   'SI_INFORMTN_SCHEMA','SYS','SYSMAN','SYSTEM', 'TSMSYS','WK_TEST',
   'WKPROXY','WMSYS','XDB','APEX_040000', 'APEX_PUBLIC_USER','DIP', 
   'FLOWS_30000','FLOWS_FILES','MDDATA', 'ORACLE_OCM', 'XS$NULL',
   'SPATIAL_CSW_ADMIN_USR', 'SPATIAL_WFS_ADMIN_USR', 'PUBLIC', 'WKSYS')
order by col.owner, 
         col.table_name;

B. If you have privilege on dba_tab_columns and dba_tables

select t.owner as schema_name,
       t.table_name
from sys.dba_tab_columns col
inner join sys.dba_tables t on col.owner = t.owner 
                              and col.table_name = t.table_name
where col.column_name = 'QUANTITY_BILLED'
-- excluding some Oracle maintained schemas
and col.owner not in ('ANONYMOUS','CTXSYS','DBSNMP','EXFSYS', 'LBACSYS', 
   'MDSYS', 'MGMT_VIEW','OLAPSYS','OWBSYS','ORDPLUGINS', 'ORDSYS','OUTLN', 
   'SI_INFORMTN_SCHEMA','SYS','SYSMAN','SYSTEM', 'TSMSYS','WK_TEST',
   'WKPROXY','WMSYS','XDB','APEX_040000', 'APEX_PUBLIC_USER','DIP', 
   'FLOWS_30000','FLOWS_FILES','MDDATA', 'ORACLE_OCM', 'XS$NULL',
   'SPATIAL_CSW_ADMIN_USR', 'SPATIAL_WFS_ADMIN_USR', 'PUBLIC', 'WKSYS')
order by col.owner, 
         col.table_name;

Columns

  • schema_name - table owner, schema name
  • table_name - table name

Rows

  • One row represents one table having column with a specific name
  • Scope of rows: (A) all tables accessible to the current user in Oracle database having column with a specific name, (B) all tables in Oracle database having column with a specific name
  • Ordered by schema name, table name

Sample results