在 Oracle 12c (12.1) 中,我们有一个带有间隔分区的巨大分区表。除了本地索引,上面还有两个全局索引。使用 UPDATE INDEXES 子句删除旧分区有助于全局索引保持有效。
第二天晚上,称为异步全局索引维护后台作业的功能启动了一个
ALTER INDEX xxx COALESCE CLEANUP
命令,该命令运行了几天,并从已删除分区的孤立条目中清除全局索引。
不幸的是,我们需要在这个表上创建另一个具有不同参数的索引,但是由于后台作业导致的共享 DML 锁 (Row-X (SX)) 导致资源繁忙错误,这是不可能的。由于我们需要部署一个新版本,我们肯定需要另一个索引上的 DDL。对我来说,这看起来很奇怪, alter index ... coalesce cleanup 不允许并行创建另一个索引。为什么要有关系?
问题:如果我们杀死会话,过去2天的工作会丢失,工作需要从头重新开始吗?