温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么解决oracle在线创建索引中断问题

发布时间:2021-11-04 09:25:53 来源:亿速云 阅读:101 作者:iii 栏目:关系型数据库

本篇内容主要讲解“怎么解决oracle在线创建索引中断问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决oracle在线创建索引中断问题”吧!

进行在线创建索引操作时会话中断,索引处于中间状态。这时尝试删除、重建或rename该索引时,出现如下报错:

ora-08104:该索引对象216832正在被连接建立或重建

一般可以等SMON后台进程进行自动清理。也可以使用DBMS_REPAIR.ONLINE_INDEX_CLEAN进行手工清理。

语法:

DBMS_REPAIR.ONLINE_INDEX_CLEAN (

   object_id      IN BINARY_INTEGER DEFAULT ALL_INDEX_ID,

   wait_for_lock  IN BINARY_INTEGER DEFAULT LOCK_WAIT)

 RETURN BOOLEAN;

如果清理成功,返回TRUE;如果存在未清理成功的对象,则返回FALSE

wait_for_lock:

This parameter specifies whether to try getting DML locks on underlying table [[sub]partition] object. The default retries up to an internal retry limit, after which the lock get will give up. If LOCK_NOWAIT is specified, then the lock get does not retry.

简单调用:

SQL> conn / as sysdba

SQL> DECLARE

isClean BOOLEAN;

BEGIN

isClean := DBMS_REPAIR.ONLINE_INDEX_CLEAN();

END;

/

实际遇到的问题等了四十多分钟后自动清理的。查了一下SMON进程的trace文件,没有记录相关信息。

到此,相信大家对“怎么解决oracle在线创建索引中断问题”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI