Oracle 中的同义词运行时切换

Synonym Runtime Switching in Oracle

我的客户有两个 table 除了名字之外完全相同,我称它们为 T1 和 T2。

一个同义词 TN 指向 T1,而某些批处理在 T2 上运行。

批处理完成后,同义词 TN 被替换为指向 T2 table。 这种转换每天来回进行一次。

我的问题是:

1) 为t2创建或替换同义词t时;已完成将 TN 切换为指向 t2 而不是 t1,并且通过使用 sql 或 storedproc 不断进入访问 TN 的 Oracle 的并发查询,是否会有切换查询时可能失败的点。

Blockquote will there be a point where at the time of switching a query may fail. Blockquote

一般来说,不会。同义词对象的查找在解析时完成。 "replace" 之前完成的查询继续转到 T1,之后的查询转到 T2。 此外,如果使用同义词 "should" 的过程在更改

后失效,则会自动编译

"replacing"同义词有规则,只要确保你可以替换同义词

此外,还有更好的设计可以满足您的要求