我正在使用 Oracle 11g。
我正在尝试通过索引重建实现并发加载到表中的场景。我有几个流程试图实现这种情况:1. 从源加载数据,2. 转换数据,3. 关闭 DWH 表上的索引,4. 将数据加载到 DWH,5. 在 DWH 表上重建索引。我关闭并重建索引以获得更好的性能,在某些情况下,一个流程正在重建索引,而另一个流程试图将其关闭。我需要做的是在第 2 点和第 3 点之间放置一些锁,这将在第 5 点之后释放。
Oracle 内置的LOCK TABLE
机制是不够的,因为锁是在事务结束时释放的,所以任何ALTER
语句都会释放锁。
问题是如何解决问题?