Srvctl Does Not Work After the Grid infrastructure upgrade from 11gr2 to 12c (文档 ID 2132856.1)

来源:互联网 发布:java调用函数返回值 编辑:程序博客网 时间:2024/06/01 08:01

适用于:

Oracle Database - Enterprise Edition - Version11.2.0.3 to 12.1.0.2 [Release 11.2 to 12.1]
Information in this document applies to anyplatform.

症状:

在GI从11.2.0.4升级到12.1.0.2后,使用srvctl管理或启动/停止数据库失败,并显示以下错误:

PRCD-1027 : Failed to retrieve database <dbname>

PRCD-1027 : Failed to retrieve database <dbname>

PRCD-1035 : Database <dbname> is not a clusterdatabase

使用sqlplus启动数据库工作正常。

原因:

在升级期间,只有在所有其他节点上的升级完成后,rootupgrade.sh才必须在最后一个节点上运行。然而,当其他节点上的rootupgrade.sh未完成时,rootupgrade.sh在最后一个节点上运行。这样做阻止了OCR和activeversion的完全升级。

activeversion仍然显示11.2.0.4,而软件版本显示为12.1.0.2。

    -> crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.4.0]
-> crsctl query crs softwareversion
Oracle Clusterware version on node [wdc1finrdb02] is [12.1.0.2.0]

检查rootcrs跟踪文件以查看已启动和已完成的时间,显示在所有其他节点上的rootupgrade.sh之前启动了最后一个节点上的rootupgrade.sh。因此,srvctl命令失败。

升级必须按照以下顺序运行:

1)在第一个节点上,在启动rootupgrade.sh任何其他节点之前,必须运行rootupgrade.sh以在第一个节点上成功完成。

2)在中间节点上,可以在除最后一个节点之外的所有剩余节点上并行运行rootupgrade.sh。如果需要,它也可以顺序运行。

3)在最后一个节点上,所有其他节点上的rootupgrade.sh必须成功完成,然后在最后一个节点上运行rootupgrade.sh。

解决方案:

虽然最后一个节点上的rootupgrade.sh在所有其他节点上的rootupgrade.sh已成功运行完成之前运行,但rootupgrade.sh已成功在所有节点上完成。

在最后一个节点上运行“rootupgrade.sh -force”,以执行OCR中资源的升级并更改激活版本。请注意,一旦运行“rooutupgrade.sh -force”,rootupgrade.sh无法在任何其他节点中再次运行。

 

0 0
原创粉丝点击