ORA-08116: can not acquire dml enough lock(S mode) for online index build ORACLE 报错 故障修复 远程处理
文档解释
ORA-08116: can not acquire dml enough lock(S mode) for online index build
Cause: User attempted to create index online without allowing DML Share lock
Action: allow DML share lock on the base table
ORA-08116: 无法获取足够的DML锁(S模式)用于在线索引构建
官方解释
ORA-08116发生时,尝试以“共享模式”获取DML锁执行“在线索引构建”操作时无法获得足够的DML锁。
常见案例
ORA-08116错误可能是由于用户没有充足的权限或无法解决死锁导致的。 对于用户来说,可能没有使用任何可用于构建索引的注释。 此外,死锁也可能会导致这种错误。
正常处理方法及步骤
1.暂时关闭并发访问该表或索引对象,以便于在线索引构建操作可以成功完成;
2.查看死锁状态,如果发现有死锁,则解决死锁;
3.为索引对象分配足够的余量(大小),以考虑扩展;
4.使用NOT INITRANS参数创建索引对象,也可能会影响执行DML操作时的性能;
5.将索引拆分为多个,以减少DML锁的持久性;
6.需要更改ORACLE参数值,以便处理更多在线索引构建任务。