什么唯一标识 Oracle 中的索引?

What uniquely identifies an index in Oracle?

在 Oracle 文档中,(DBA|ALL)_INDEXES 视图有

OWNER 索引的所有者

INDEX_NAME索引名称

TABLE_OWNER 索引对象的所有者

TABLE_NAME索引对象的名称

我的问题是索引的唯一标识是什么?是 OWNERINDEX_NAME,还是 OWNERINDEX_NAMETABLE_OWNERTABLE_NAME

索引由其 INDEX_NAMEOWNER(即它所属的架构)唯一标识。基本上,模式中的每个对象都必须有一个唯一的名称。两个不同的表不能有同名的索引,除非这些索引属于两个不同的模式。

考虑this simple example:

create table mytable(id int, val int);
create index myindex on mytable(id);
-- ok

create table mytable2(id int);
create index myindex on mytable2(id);
-- ORA-00955: name is already used by an existing object