2

我们计划从 Oracle 9.2.0.7 升级到 9.2.0.8。建议升级的主要原因是解决当我们尝试执行 DBMS_STATS.GATHER_SCHEMA_STATS 时与异常“终止并出现错误:ORA-00904:“T2”。“SYS_DS_ALIAS_4”:无效标识符有关的问题。

我们担心建议的升级可能会对我们的 Java 应用程序产生负面影响,或者在最坏的情况下,我们的 Java 应用程序甚至可能不支持。

我们可以采取哪些可能的方法或策略来确保从 Oracle 9.2.0.7 升级到 9.2.0.8 不会对我们的 Java 应用程序产生不利影响或不会导致我们的 Java 应用程序无法正常运行。本质上,我们只是想确认我们的应用程序仍将支持 Oracle 9.2.0.8。

谢谢你。

4

3 回答 3

5

您的第一步应该是确保您使用准确的生产布局和当前软件 (9.2.0.7) 设置测试系统。

运行一段时间以确保一切正常,然后在您的测试系统上执行升级并运行一段时间以确保它没有损坏任何东西。我不是在谈论牛仔开发者“如果它运行五分钟,那没关系”类型的测试。如果可能的话,它应该是对所有功能和性能的彻底测试。

一旦你对测试水平感到满意,你就可以计划对生产做同样的事情。

这不是火箭科学,您应该始终拥有一个生产镜像,您可以在其上测试您自己和第三方的软件升级。尽管您进行了测试,但如果生产升级仍然失败,您应该制定退出策略。

我们非常偏执,所以我们实际上提前设置了一台全新的机器,尽可能多地做。然后,在切换时,我们禁用当前生产,执行新机器仍需要的任何传输,然后启动并测试它。如果在测试期间的任何时候无法在升级窗口中修复某些问题,则旧机器将重新上线,我们稍后再试一次,并在后端对那些对失败负责的人进行适当的踢:-)

于 2010-06-17T01:02:50.357 回答
1

我赞成 Paxdiablo 的回答——在您的生产系统的全尺寸副本上尽可能多地覆盖应用程序,几乎没有捷径可走。

我认为您通常希望通过升级来回答两个问题:

  • 应用程序使用的 Oracle 功能中是否引入了新错误?
  • 优化器中的更改是否更改了任何应用程序查询的执行计划(更糟!)?

我相信早在 9.2 版优化器就会在确定执行计划时包含系统统计信息,因此如果您的测试系统硬件与生产环境不同,您至少希望将该信息带入测试系统以减少优化器的变量。

如果您升级到 Oracle 11g 并拥有 $$$$,则可以许可和配置 Real Application Testing。这将让您从本质上记录和回放测试实例中的数据库活动来回答这两个问题。

于 2010-06-17T01:55:59.643 回答
0

除了 dpbradley 和 paxdiablo 的出色回答之外,在修补数据库之前,值得在 Oracle 支持站点 support.oracle.com 上查看此补丁可能引入的已知问题,这些问题可能会让您失去的比得到的多!

您将需要有效的支持许可证才能登录 Oracle 支持站点,但有一个 9.2.0.8 的注释归档在:

9.2.0.8 补丁集 - 可用性和已知问题 [ID 388281.1]

于 2010-06-17T08:19:23.440 回答