0

我有一个运行更改表交换分区操作的 pl\sql 进程。

另一个会话对此表进行选择,如果选择在更改之前开始但尚未完成(选择期间更改表开始) - 选择会引发异常(对象不再存在)。

由于交换操作非常快,我想阻止对表的任何操作,然后执行更改。或者如果选择已经开始 - 延迟交换直到它完成,然后执行改变。

来自很多会话的选择,我无法控制它们。所以我不能在选择之前\之后添加任何代码 - 只能在更改表之前\之后。

有没有办法制作这样的东西???

我尝试了 rdbm_redefinition 而不是交换但总是选择失败,出于同样的原因..

谢谢。

4

0 回答 0