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"同义词有规则,只要确保你可以替换同义词
此外,还有更好的设计可以满足您的要求
我的客户有两个 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"同义词有规则,只要确保你可以替换同义词
此外,还有更好的设计可以满足您的要求