OCSSD.BIN Process is Running in a Non-RAC Environment

 

 

       After installing a non-RAC (Real Application Clusters) 10g database, you notice an ocssd.bin process running.

ps -ef | grep ocssd.bin
oracle 11139 11056 0 14:02:14 pts/52 0:00 grep ocssd.bin
oracle 1824 1 0 Mar 12 ? 0:01 /oracle/64bit/10.1.0/bin/ocssd.bin

 

Solution

       In a non-RAC environment, the ocssd.bin process is used for communication between a database instance and the ASM (Automatic Storage Management) instance. Even if you are not using ASM this process will be run out of the inittab:

more /etc/inittab | grep cssd
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1

       This process does not consume many resources and can be ignored if you are not running RAC or ASM. If you decide that you want to use ASM in the future, it will be necessary for this process to be running.

Note:
------
Its recommended to stop occsd.bin and remove it from inittab before applying a patch.

 

 

 

From Oracle

-------------------------------------------------------------------------------------------------------

QQ:492913789

Email:ahdba@qq.com

Blog: http://www.cndba.cn/dave


DBA1 群:62697716();   DBA2 群:62697977()   DBA3 群:62697850()  

DBA 超级群:63306533();  DBA4 群: 83829929  DBA5群: 142216823   

聊天 群:40132017   聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

`ocssd.bin` 是 Oracle Clusterware 中 **Cluster Synchronization Services (CSS)** 的核心进程,负责节点间的心跳、集群成员管理以及防止“脑裂”(Split-Brain)。当 `ocssd.bin` 反复崩溃时,会导致整个集群不稳定,甚至节点不断重启。 --- ## ✅ `ocssd.bin` 进程反复崩溃的常见原因 1. **Voting Disk 不可访问或损坏** 2. **Private Interconnect 网络问题(心跳中断)** 3. **时间不同步(NTP/chrony 配置错误)** 4. **操作系统资源不足(内存、CPU、句柄等)** 5. **OCR 损坏或无法访问** 6. **内核参数配置不当** 7. **文件系统权限问题(如 GRID_HOME 权限异常)** 8. **ASM 实例未启动导致 Voting Disk 不可用** --- ## ✅ 排查与解决方案 ### 步骤 1:查看 `ocssd.bin` 崩溃日志 关键日志路径: ```bash $GRID_HOME/log/<hostname>/cssd/ocssd.log ``` 使用以下命令实时查看: ```bash tail -f $GRID_HOME/log/$(hostname)/cssd/ocssd.log ``` 🔍 查找关键词: - `FATAL` - `rebooting after fatal error` - `Cannot open voting file` - `Connection to network handle lost` - `missed check-in from other node` - `voting disk I/O error` #### 示例错误: ```log [ CSSD]clssnmvDiskVerify: Successful connect to voting disk: /dev/oracleasm/disks/VOTE1 [ CSSD]clssnmvDDiskRead: Read failure on voting device /dev/oracleasm/disks/VOTE1 ``` 👉 表示投票盘读取失败。 --- ### 步骤 2:检查 Voting Disk 是否可访问 ```bash # 查看 voting disk 状态 crsctl query css votedisk # 输出应类似: # STATE File Universal Id File Name Disk group # —— ———— ———————————————— —————— ———— # ONLINE 7a9c1e2f3d... (ORCL:VOTE1) /dev/oracleasm/disks/VOTE1 [DATA] ``` ✅ 所有 voting disk 应为 `ONLINE`。若为 `OFFLINE` 或报错: ```bash # 强制重新扫描(谨慎操作) crsctl add css votedisk <path> -force ``` > ⚠️ 注意:删除或添加 voting disk 必须在所有节点 CRS 启动状态下进行,否则风险极高。 --- ### 步骤 3:验证私网通信(Private Interconnect) ```bash # 查看私网配置 oifcfg getif # 输出示例: # eth1 192.168.1.0 cluster_interconnect ``` 测试与其他节点私网 IP 的连通性和延迟: ```bash ping -I eth1 192.168.1.2 ``` 📌 要求: - 延迟 < 1ms - 无丢包 - MTU 匹配(建议设置为 9000,启用 Jumbo Frame) 关闭防火墙(临时测试): ```bash systemctl stop firewalld systemctl disable firewalld ``` --- ### 步骤 4:检查时间同步(NTP / chrony) Oracle 要求节点间时间差 < 500ms。 ```bash # 查看当前时间 date # 查看 chrony 状态 chronyc sources -v chronyc tracking # 检查偏移是否过大 ``` 如果时间偏差超过 1 秒,CSS 会主动 crash 并重启节点! 🔧 解决方法: ```bash # 强制同步时间 chronyc makestep # 或 ntpdate <ntp-server> ``` 并在 `/etc/chrony.conf` 中确保所有节点指向同一个 NTP 服务器。 --- ### 步骤 5:检查 OCR 状态 OCR 存储集群配置信息,若损坏会影响 CSS 初始化。 ```bash ocrcheck ``` 输出必须是: ```text Status of Oracle Cluster Registry is healthy ``` ❌ 如果不健康: - 使用自动备份恢复 OCR: ```bash ocrconfig -restore /u01/app/19.0.0/grid/cdata/<cluster-name>/backup00.ocr ``` - 重启 CRS 生效。 --- ### 步骤 6:检查系统资源和内核参数 #### a. 内存是否充足? ```bash free -h dmesg | grep -i "out of memory\|oom" ``` OOM Killer 杀死 `ocssd.bin` 会导致其突然退出。 #### b. 检查内核参数(/etc/sysctl.conf) 确保包含以下内容(根据官方文档调整): ```conf kernel.shmmax = 1352664064 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 fs.file-max = 6815744 ``` 应用: ```bash sysctl -p ``` --- ### 步骤 7:检查 GRID_HOME 文件权限 ```bash ls -ld $GRID_HOME/bin/ocssd.bin # 应该是 owned by grid:asmadmin,且有 s bit(SUID) # 正确权限:-rwxr-x--x 1 grid asmadmin ... ocssd.bin ``` 修复权限(以 root 执行): ```bash chown grid:asmadmin $GRID_HOME/bin/ocssd.bin chmod 6751 $GRID_HOME/bin/ocssd.bin # 包含 SUID + sticky ``` 然后重新启动 CRS: ```bash crsctl stop crs crsctl start crs ``` --- ### 步骤 8:强制清理并重建 CSS(最后手段) ⚠️ 仅适用于单节点环境或维护窗口期! ```bash # 停止 CRS crsctl stop crs # 清除本地状态(root 用户) cd /u01/app/19.0.0/grid/crs/install perl roothas.pl -delete -force # 重新配置 HAS perl roothas.pl -postinstall -force ``` 然后重启服务器,再运行 `root.sh`(如果是完整 GI 安装)。 --- ## ✅ 预防措施 | 措施 | 说明 | |------|------| | 启用多个 Voting Disk | 至少 3 个,奇数个,分布在不同磁盘组 | | 多路径私网 | 绑定双网卡(bonding),提高可靠性 | | 定期备份 OCR | 使用 `ocrconfig -manualbackup` | | 监控 ocssd.log | 设置日志轮转和告警 | | 使用 ASMLib 或 udev 固定设备名 | 防止设备重命名导致 voting disk 失联 | --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值