我正在探索使用Oracle EBR进行应用程序数据库的热补丁。我在谷歌搜索过EBR。据我所知,EBR将允许用户拥有许多版本的相同数据库对象,如PL / SQL程序等。当为该特定用户启用时,用户将能够访问新版本,并且现有用户将无缝转换即现有会议不受影响。但我无法理解它不会对现有会话产生什么影响。例如,如果用户“X”位于使用数据库会话的事务中间并且为该用户启用了新的EBR版本,那么它是否会影响当前的数据库会话?或者当前的数据库会话将不会看到现有的EBR,只有新会话才能看到新版本。请让我知道你的意见。
答案 0 :(得分:0)
在会话级别启用版本,而不是在用户级别启用。如果用户X有十几个会话,则每个会话可能使用不同的版本。
尝试更改会话在交易过程中使用的版本真的没有意义。我无法想象你为什么要尝试。而且我要大力宣传它不会起作用。
如果您正在使用基于版本的重新定义,那么您将实际为新会话或特定会话中的事务之间启用新版本。通常,您要进行滚动升级,每个应用程序服务器重新启动,连接池设置为使用新版本,而其他服务器上的连接池仍使用旧版本。