暂无图片
删除索引不成功,提示ORA-00054,有哪些解决方案?
我来答
分享
cqiwen
2022-02-08
删除索引不成功,提示ORA-00054,有哪些解决方案?

场景:在生产环境的oracle 11g数据库中删除某索引,无法成功删除,错误提示:ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

原因是此索引对应的表数据量有几亿条数据,且有较频繁的DML操作。尝试很多次仍然无法删除。请大家给下可行方案,怎样才能安全有效地删除此索引呢?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
吾喾

解决处理方法:

1.等待其他会话释放资源

2.找出占用资源的会话,并删除

3.重启数据库

暂无图片 评论
暂无图片 有用 0
暂无图片
cqiwen
题主
2022-02-08
前两种不行,因为有频繁的DML操作,根本释放不完也杀不完。后面一种可行但也比较难办,这个系统全天24小时都需要在线,不能随便停机。还有其它思路吗?
吾喾
答主
2022-02-08
没有业务低峰期吗?业务申请停机窗口操作。
吾喾
答主
2022-02-08
尝试 alter index idx_name unusable; drop index idx_name ;
JiekeXu
暂无图片

既然都不行就等到业务低峰期在尝试吧。说不定多尝试几次你就拿到锁资源了。

暂无图片 评论
暂无图片 有用 0
cqiwen
题主
2022-02-09
如果没有其它办法,看来也只能如此了。
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏