Oracle:将本地索引加入全局索引导致错误?

时间:2013-09-26 06:25:04

标签: database oracle

假设您有两个分区表:

table1:
    - id (primary key = global index)
    - created (timestamp of creation)

table2:
    - id (primary key = global index)
    - t1_id (foreign key to table1.id, a local index was created for this field)

分区在table1.created上完成,table2在table2.t1_id上按引用分区。

现在,如果我运行此查询:

select * from table1 t1 join table2 t2 on t1.id=t2.t1_id

我得到了一个非常棒的错误:ORA-03113

我无法访问运行oracle实例的实际服务器,因此无法检查警报日志。谷歌没有任何用处,所以经过一些小小的尝试,我认为可能是本地索引是问题所在。我尝试添加必要的子句来限制应该被定位的分区范围无效。

我将table2.t1_id上的本地索引替换为全局索引,并且查询有效。

现在我的问题:这是一个功能/错误吗?或者本地索引如何工作的逻辑结果?这是否是我通过重新创建索引而意外修复的其他问题?

Oracle版本:11.2.0.2.0 - 64位

0 个答案:

没有答案