OpenVMS系统:集群CRS服务没有启动,不能访问crsstart
适用于:
数据库企业版:版本10gr2,HP OpenVMS Itanium,HP OpenVMS Alpha
症状表现:
数据库版本为10gr2,双节点的RAC集群。我们试图启动CRS失败,报错信息与下面的信息很相似。
Preparing Oracle Cluster Ready Services (CRS):
Oracle Cluster Synchronization Service starting by user request.
Oracle Cluster Ready Services is disabled by damaged install.
Could not access DISK$USER:[GIHRAC.node1.oracle.scls_scr.node1.GIHRAC]crsstart.
Similarly, errors are reported when using the ENABLE/DISABLE options of INIT_CRS
例如:
INIT_CRS ENABLE 启动CRS 报如下的错误
Failure at scls_scr_setval with code 8
Internal Error Information:
Category: 1234
Operation: scls_scr_search
Location: search
Other: id doesnt exist scls_scr_setval
根据具体的情况,你可以看到相似的错误在ORA_ROOT目录的ocssd.log文件中
Category: 1234
Operation: scls_scr_search
Location: search
Other: id doesnt exist scls_scr_getval
有人可能将RAC存储文件的目录给删除,导致一个或多个关键的CRS文件丢失。CRS用很多文件区管理数据库环境。有时候报错是因为文件丢失。为证实是否是因为文件丢失,你可以登录到每个节点上,然后执行下面的代码
$ @ORAUSER (execute the CRS ORAUSER DCL script)
$ SET DEFAULT ORA_SCLS_SCR_PATH
$ SET DEFAULT [..]
Crsstart和cssfatal两个启动文件都必须存在。报错信息可能是因为两者中有一个或者两个丢失
解决:
创建丢失的文件,Crsstart和cssfatal包含了相同的信息,每个文件包含单一可用的密钥,一旦文件被创建,我们执行$ INIT_CRS STOP,重新清理CRS,使得文件恢复正常。检查对立ORA_BATCH_QUEUE并且手工删除没有停掉的项目,然后$ INIT_CRS START。CRSD进程将会进入重启模式,这样,我们就需要手工启动nodeapps和数据库实例。另外,执行完start之后,再执行一下stop,确保所有的运行都正常