将 1T Oracle DB 从 10g 升级到 11g 需要多长时间?

mag*_*gqq 8 oracle-11g oracle-10g upgrade

通常/大致将具有 1T 数据的 Oracle DB 从 10g 升级到 11g 需要多长时间?我需要估计它的停机时间,因为它是一个生产数据库。非常感谢!

Lei*_*fel 12

根据Oracle 的最佳升级实践, 30-90 分钟。鉴于这种情况下的所有未知数,这是您将得到的最接近的估计。

在确定升级需要多长时间时,数据库的大小实际上无关紧要。以下是影响持续时间的主要因素(来自 Oracle.com 升级博客)

  • 已安装的数据库组件和选项的数量 - 安装的组件/选项越多,必须运行的升级脚本越多,所需的时间就越长

  • 有效和非陈旧的字典统计信息——尽管在一些旧版本的 Oracle 中创建字典统计信息并不是一个好主意,因为应该分析基于规则的优化器的数据字典。尤其是在升级之前。否则,当数据库以受限升级模式启动时,会在升级期间发生这种情况,从而导致额外的停机时间。

  • 如果 audit_trail 设置为 DB,则 AUD$ 中的行数

  • 从 Oracle 9i 升级时的同义词数量 - 同义词将被触及并在 DEPENDENCY$ 的字典中获得新的依赖项 - 如果数字很大(例如 100,000),这可能会占用一些时间

  • XDB 中的对象数

  • 如果 COMPATIBLE 会以非常低的速度增加:数据文件的数量和重做日志的大小

以下是您可能需要考虑的一些与升级本身的核心无关的其他因素:

  • 升级前脚本是否已运行且问题是否已解决。
  • 有多少无效对象。
  • 如果升级就地完成(与导入/导出、Streams、Data Guard 等相比)
  • 是否使用 DBUA 或脚本进行升级。
  • 如果新的Oracle home 预装。
  • 磁盘速度和吞吐量。
  • 同时发生的其他 CPU/磁盘活动。
  • 存档日志模式。
  • 升级时进行的其他更改。
  • 如果在升级之前和/或之后需要冷备份。
  • 也将应用的任何补丁集或一次性补丁。
  • 在升级可用之前需要对升级进行多少验证。

可能影响升级的最大因素是未知因素。即使在具有相似数据集等的相似硬件上提前进行升级,仍然可能发生意外并严重影响持续时间。考虑到这一点,您应该尽可能模拟生产环境以进行测试升级。也就是说,只要您的预算允许。

如果空间是阻止您测试升级的问题,请考虑将数据库还原到测试框,排除一些较大的用户表空间。这不会给你一个确切的时间感觉,但它应该给你一个更接近的球场,让你解决更多的未知数。


Jus*_*ave 5

据推测,您有一个该数据库的开发和测试实例,它运行在具有相似数据量和相同数据库组件的相似硬件上,对吗?而且,据推测,您将升级这些较低的环境(并测试使用此数据库的任何应用程序仍能正常运行),对吗?

假设是这种情况,我会计算升级开发数据库所需的时间,并将其用作您对升级其他实例所需时间的估计。显然,有许多因素决定了实际升级需要多长时间。我的猜测是停机时间可能只需要一两个小时,但您最好使用升级 dev 所需的实际时间。

  • @Marian - 不过,聪明的人都知道,高估停机时间窗口比低估它要好得多。如果组织不想为 DBA 提供合适的环境来获得合理的指标,那么他们必须接受比适当配置较低环境时更大的停机时间窗口。 (3认同)
  • 让我们假设他在一家廉价商店,在测试/开发设施中没有与生产中类似的环境。如果是这样的话……什么是足够好的建议?:-) (2认同)