1 CRSD启动过程
整体以及依赖关系如图展示:
- crsd.bin从OCR中获取所需要的资源列表。
- crsd.bin启动对应的代理进程。
- 代理进程oraagent_root启动集群的公网资源之后集群的VIP和scan vip资源也被启动。
- 代理进程oraagent_grid启动进而vip对应的listener资源,以及scan vip对应的scan listener。
- 代理进程oraagent_grid启动ONS资源。
- 代理进程oraagent_grid启动ora.asm资源,并启动其他的磁盘组资源。
- 代理进程oraagent_oracle启动数据库资源,之后启动对应的数据库服务资源。、
- 代理进程scirpt_agent启动ora.cvu资源。
2 CRSD启动过程常见问题
-
/etc/oracle/ocr.loc指向了错误的OCR文件。
-
OCR损坏或者丢失。
-
代理进程对应的二进制文件损坏或者丢失
-
集群私网出现问题,从而导致crsd.bin无法与远程节点通信。
-
GI_HOME/bin/crsd.bin文件权限错误或者损坏。
-
位于GI_HOME/crs/init/*.pid文件执行了其他运行中的进程 node1.pid.
3 对应的解决方案
- 修改/etc/oracle/ocr.loc指向正确的文件或者裸设备等。
- 从正常的OCR备份中恢复OCR,GI_HOME/bin/ocrconfig -restore <OCR备份文件>
- 从正常节点上复制进程二进制文件到有问题 的节点。
- 和网络管理员系统管理员确认私网能够正常工作。
- 确认GI_HOME/bin/crsd.bin文件权限是否正确,权限显示未root:oinstall。如果问题是crsd.bin文件损坏可以从正常节点复制该文件到问题节点。
- 删除有问题的GI_HOME/crs/init/node1.pid文件,之后重新启动CRSD例如:
- GI_HOME/bin/crsctl stop res ora.crsd -init
- GI_HOME/bin/crsctl start res ora.crsd -init