添加索引
create index 索引名 on 表名(字段名)online;
问题描述
添加索引大家都知道,但是添加索引的过程中Oracle会锁全表,
不久前因为添加索引的问题,造成了线上很多笔业务出现了异常
解决方案
online关键字是oracle提供的非独占锁的方式进行添加索引。
online使用了ROW-SHARE锁临时表,并不会对原表的DML操作造成影响。
10g以下的版本使用online中断或者手动中断执行会出现重新创建索引已经存在,删除无法删除的bug。
具体解决方案这里不再赘述。
10g以上可以手动清除。