Query to show all indexes, its characteristics and respective columns from a table.
Note: It does not filter on owner.
select c.index_name,
       c.table_name||'('||listagg(column_name,',') within group (order by column_position)||')' as columns,
       decode(status,'VALID',null,status||' ')
       ||decode(visibility,'VISIBLE',null,visibility||' ')
       ||decode(segment_created,'YES',null,'EMPTY ')
       ||decode(uniqueness,'NONUNIQUE',null,uniqueness||' ')
       ||funcidx_status as STATUS
 from dba_ind_columns c, dba_indexes i
where i.table_name=c.table_name and i.index_name=c.index_name
  and c.table_name='&TABLE_NAME'
group by c.table_name,c.index_name,i.status,visibility, segment_created,uniqueness,funcidx_status
order by c.table_name,c.index_name;
Example of output:
INDEX_NAME COLUMNS STATUS ------------------------------ --------------------------------------- ---------- IDX_LIB_VERSION_PROFILE_ID LIB_VERSION(PROFILE_ID) INX_LIB_VERSION_SRC LIB_VERSION(DATA_RESOURCE,SOURCE) LIB_VERSION_NAME_IDX LIB_VERSION(VERSION_NAME) LIB_VERSION_PK LIB_VERSION(ID) UNIQUE LIB_VERSION_UK1 LIB_VERSION(PROFILE_ID,VERSION_NAME) UNIQUE
