Как получить информацию об индексе и владельце таблицы в Oracle?

Я хочу написать инструкцию select для отображения index_name, table_name, table_owner и уникальности, которые существуют в словаре данных для индексов пользователей таблицы. Любая помощь будет большой. Моя проблема заключается в том, что я не смог найти способ отображения имени index_name и владельца таблицы.

SELECT owner, table_name   FROM dba_tables;

Это дает большую часть этого.

Ответ 1

В соответствии с docs вы можете просто:

select INDEX_NAME, TABLE_OWNER, TABLE_NAME, UNIQUENESS from USER_INDEXES

или

select INDEX_NAME, TABLE_OWNER, TABLE_NAME, UNIQUENESS from ALL_INDEXES

если вы хотите, чтобы все индексы...

Ответ 2

 select index_name, column_name
 from user_ind_columns
 where table_name = 'NAME';

ИЛИ используйте это:

select TABLE_NAME, OWNER 
from SYS.ALL_TABLES 
order by OWNER, TABLE_NAME 

И для индексов:

select INDEX_NAME, TABLE_NAME, TABLE_OWNER 
from SYS.ALL_INDEXES 
order by TABLE_OWNER, TABLE_NAME, INDEX_NAME