暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

修改索引时只调用索引名提示索引不存在

原创 酷哥 2022-05-12
1087

【问题现象】

修改索引时只调用索引名提示索引不存在。举例如下。

--创建分区表索引HR_staffS_p1_index1,不指定索引分区的名称。 
CREATE INDEX HR_staffS_p1_index1 ON HR.staffS_p1 (staff_ID) LOCAL; 
--创建分区索引HR_staffS_p1_index2,并指定索引分区的名称。 
CREATE INDEX HR_staffS_p1_index2 ON HR.staffS_p1 (staff_ID) LOCAL 
(   
PARTITION staff_ID1_index,    
PARTITION staff_ID2_index TABLESPACE example3,    
PARTITION staff_ID3_index TABLESPACE example4 
) TABLESPACE example; 
--修改索引分区staff_ID2_index的表空间为example1,提示索引不存在。
ALTER INDEX HR_staffS_p1_index2 MOVE PARTITION staff_ID2_index TABLESPACE example1;

【原因分析】

推测是当前模式是public模式,而不是hr模式,导致检索不到该索引。

--执行如下命令验证推测,发现调用成功。
ALTER INDEX hr.HR_staffS_p1_index2 MOVE PARTITION staff_ID2_index TABLESPACE example1;
--修改当前会话的schema为hr。
ALTER SESSION SET CURRENT_SCHEMA TO hr;
--执行如下命令修改索引,即可执行成功。
ALTER INDEX HR_staffS_p1_index2 MOVE PARTITION staff_ID2_index TABLESPACE example1;

【处理办法】

在操作表、索引、视图时加上schema引用,格式如下。

schema.table
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论