Answers:
根据Oracle的最佳升级实践 30-90分钟。这是关于这种情况下所有未知数的最接近估计。
数据库的大小对于确定升级将花费多长时间的影响很小。以下是影响持续时间的主要因素(来自Oracle.com升级博客):
已安装的数据库组件和选件的数量-安装的组件/选件越多,必须运行的升级脚本越多,花费的时间越长
有效的和非陈旧的字典统计信息-尽管在Oracle的某些较早版本中创建字典统计信息并不是一个好主意,因为不支持基于规则的优化器,因此应该分析数据字典。特别是在升级之前。否则,这将在升级过程中以受限升级模式启动数据库时发生,从而导致额外的停机时间。
如果audit_trail设置为DB,则以AUD $为单位的行数
从Oracle 9i升级时的同义词数量-同义词将被触摸并在DEPENDENCY $中的词典中获得新的依赖关系-如果数量很大(例如100,000),这可能会占用一些时间
XDB中的对象数
如果增加COMPATIBLE的速率非常低:数据文件的数量和重做日志的大小
您可能要考虑与升级本身的核心无关的一些其他因素:
影响升级的最大因素可能是未知因素。即使预先在具有类似数据集的类似硬件等上进行升级,也可能会发生无法预料的事情,并且会严重影响持续时间。考虑到这一点,您应该尽可能模拟生产环境以进行测试升级。也就是说,在您的预算允许的范围内。
如果由于空间不足而无法测试升级,请考虑将数据库还原到不包含某些较大用户表空间的测试箱中。这不会给您确切的时间感觉,但是它应该使您更接近标准,并允许您解决更多未知问题。
大概您有一个在类似硬件上运行的数据库开发和测试实例,具有类似的数据量和安装的相同数据库组件,对吗?而且,大概您将升级这些较低的环境(并测试使用该数据库的所有应用程序是否仍然可以正常运行),对吗?
假设是这种情况,我想知道升级开发数据库需要花费多长时间,并将其用作您估计升级其他实例所需时间的估计。显然,有许多因素决定实际升级将花费多长时间。我的猜测是,停机时间可能只需要一两个小时,但是使用升级开发人员所需的实际时间要好得多。