ORA-08104 该索引对象68100正在被联机建立或重建 如何清除创建失败的索引?

0    487    1

Tags:

👉 本文共约6604个字,系统预计阅读时间或需25分钟。

在创建一张大表的索引时,因为没有加并行而导致创建时间很长,这时候如果终止操作,比如直接关闭终端,然后再次登录创建时就会报错ORA-00095提示对象名字已被用,而去删除对象时又报错ORA-08104索引正在被创建。

从oerr工具看到的ORA-08104的解释是索引并没有创建失败,而是在终端关闭之后,创建的操作还在继续进行。创建或者重建索引时,系统会创建一个临时日志表,这张表被用于存放创建或者重建索引期间产生的日志信息,同时在基表IND$中这个索引的FLAG字段上会被设置为BUILD或者REBUILD标识,当索引信息变更时会把变更信息存入日志表。如果索引创建或者重建失败,这个日志表和数据字典中的状态位都需要后台进程smon进行清理。

因此这里的索引不能被删除是因为后台进程smon还没来得及清理相应的临时段和标志位,认为online rebuild操作还在进行。

那么现在如何终止rebuild index这一操作?查找metalink得到一篇文档:ORA-600 [12813] When Dropping A Table Partition After a Failed IndexRebuild (文档 ID 803008.1)。它给出了两种方法:

1)使用包dbms_repair包来清理

如果在出现问题的对象的数据库活动能停下来,则直接简单地执行如下语句即可:

2)使用PL/SQL block调用dbms_repair包来清理

如果在出现问题的对象的数据库活动不能停下来,则如下的PL/SQL block来处理

注:加上dbms_repair.lock_wait表示不是立刻清理,需要不断的寻找资源锁,直到抢到为止



测试人员报告某个sql查询操作比较慢,希望协助查找一下原因。

检查发现IDX_LOG_BUSINON 碎片较为严重,决定重建索引。

为了不影响大家使用,决定用rebuild online的方式重建该索引。

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> alter index IDX_LOG_BUSINON rebuild online ;

一会有人来叫去会议室讨论影像迁移的问题,与是拔掉网线拿起笔记本去了

会议室。到了会议室发现这个会话已经断开了。找根网线插上继续rebuild索引。

SQL> alter index IDX_LOG_BUSINON rebuild online ;
alter index IDX_LOG_BUSINON rebuild online
*
第 1 行出现错误:
ORA-08104: 该索引对象 68100 正在被联机建立或重建

检查了一下68100对象,发现就是要rebuild的那个索引。

SQL> select OWNER, OBJECT_NAME, OBJECT_ID, OBJECT_TYPE
2 from dba_objects o
3 where o.object_id = '68100';

OWNER OBJECT_NAME OBJECT_ID OBJECT_TYPE


REPORT IDX_LOG_BUSINON 68100 INDEX

由于之前在ORACLE 10g 上遇到过这个问题,所以觉得没啥。直接用

DBMS_REPAIR.ONLINE_INDEX_CLEAN 清理掉,在重建就好了。

SQL> desc dbms_repair

。。。省略部分描述
FUNCTION ONLINE_INDEX_CLEAN RETURNS BOOLEAN

参数名称 类型 输入/输出默认值?


OBJECT_ID BINARY_INTEGER IN DEFAULT
WAIT_FOR_LOCK BINARY_INTEGER IN DEFAULT

说明:DBMS_REPAIR.ONLINE_INDEX_CLEAN ()要求有返回值。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复