Query below lists:
(A) all indexes, along with their columns, on objects accessible to the current user in Oracle database
(B) all indexes, along with their columns, on objects in Oracle database
Query was executed under the Oracle9i Database version.
Query
A. Tables accessible to the current user
select ind.index_name,
ind_col.column_name,
ind.index_type,
ind.uniqueness,
ind.table_owner as schema_name,
ind.table_name as object_name,
ind.table_type as object_type
from sys.all_indexes ind
inner join sys.all_ind_columns ind_col on ind.owner = ind_col.index_owner
and ind.index_name = ind_col.index_name
-- excluding some Oracle maintained schemas
where ind.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', 'WKSYS',
'FLOWS_30000','FLOWS_FILES','MDDATA', 'ORACLE_OCM', 'XS$NULL',
'SPATIAL_CSW_ADMIN_USR', 'SPATIAL_WFS_ADMIN_USR', 'PUBLIC')
order by ind.table_owner,
ind.table_name,
ind.index_name,
ind_col.column_position;
B. If you have privilege on dba_indexes and dba_ind_columns
select ind.index_name,
ind_col.column_name,
ind.index_type,
ind.uniqueness,
ind.table_owner as schema_name,
ind.table_name as object_name,
ind.table_type as object_type
from sys.dba_indexes ind
inner join sys.dba_ind_columns ind_col on ind.owner = ind_col.index_owner
and ind.index_name = ind_col.index_name
-- excluding some Oracle maintained schemas
where ind.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', 'WKSYS',
'FLOWS_30000','FLOWS_FILES','MDDATA', 'ORACLE_OCM', 'XS$NULL',
'SPATIAL_CSW_ADMIN_USR', 'SPATIAL_WFS_ADMIN_USR', 'PUBLIC')
order by ind.table_owner,
ind.table_name,
ind.index_name,
ind_col.column_position;
Columns
- index_name - index name
- column_name - column name
- index_type - index type
- uniqueness - column indicating whether the index is unique or not
- schema_name - indexed object's owner, schema name
- object_name - indexed object's name
- object_type - indexed object's type
Rows
- One row represents one column of an index in a database
Scope of rows: (A) all indexes on objects accessible to the current user in Oracle database, (B) all indexes on objects in Oracle database
Ordered by schema name, object name, index name, index column sequence number