为了提高性能,对 Message Queue 的持久性存储库格式进行了两处更改。一处是对文件存储库的更改,另一处是对 JDBC 存储库的更改。
文件存储库中的事务信息 - 已经对事务状态信息(存储在 Message Queue 的基于文件的持久性存储库中)的格式进行了更改,以减少磁盘 I/O 并提高 JMS 事务性能。
Oracle JDBC 存储库 - 在早期版本的 Message Queue 中,适用于 Oracle 的存储库结构使用 LONG RAW 数据类型来存储消息数据。在 Oracle 8 中,Oracle 引入了 BLOB 数据类型,不再使用 LONG RAW 类型。Message Queue 3.7 UR1 为此转而使用 BLOB 数据类型,以提高性能并提供更多支持。
由于这些更改会影响存储库的兼容性,因此存储库版本已由 350 更改为 370。Message Queue 3.7 UR1 支持将持久性存储库从早期的 200 和 350 版本自动转换为 370 版本(同时适用于 JDBC 存储库和基于文件的存储库)。imqbrokerd 首次启动时,如果实用程序检测到早期版本的存储库,则会将其迁移为新的格式,并保留早期的存储库。
如果需要回滚此升级,请首先卸载 Message Queue 3.7 UR1,然后重新安装以前运行的版本。由于未对存储库的早期副本进行任何更改,因此代理可以运行存储库的早期副本。