ORA-29702:error occurred in Cluster Group Service operation

本文针对ORA-29702错误进行了详细分析,指出此错误与ASM相关,并提供了具体的诊断方法和关注点,包括lmon trace文件中的关键信息及处理建议。
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 ORA-29702 error occurred in Cluster Group Service operation

这个错误也是一个比较严重的错误,需要去诊断很多日志文件。目前,我所知道的,就是与 asm 相关的。

当这个错误出现的时候,重点关注下 lmon trace 文件。重点关注下以下几个关键句子:

KGXGN polling error (x): this indicates a communication timeout一般在 alert文件中会有这个提示

lmon trc 文件中,一般会看到如下信息

kgxgnpstat: received ABORT event from CLSS'

kjxgmpoll: terminate the CGS reconfig

对于上面的两条信息,分别对应不同的处理办法,具体请看:

MetalinkID 848622.1

 

参考文档:

MetalinkID 848622.1

 

错误网址:

http://www.itpub.net/viewthread.php?tid=1319666&pid=16043618&page=1&extra=page%3D1

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14730395/viewspace-682829/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14730395/viewspace-682829/

你遇到的错误信息表明在启动 Oracle 实例(`startup nomount;`)时,出现了两个关键问题: ``` ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance ORA-29702: error occurred in Cluster Group Service operation ``` 我们逐个分析并提供解决方案。 --- ### ✅ 错误解释与解决方案 #### 🔹 ORA-29702: error occurred in Cluster Group Service operation 这个错误通常出现在 **启用了 Oracle RAC(Real Application Clusters)相关参数,但当前环境并非 RAC 环境**,或者 `Oracle Clusterware` 没有正常运行。 常见原因: - 初始化参数中设置了 `cluster_database = TRUE` - 使用了 RAC 相关参数(如 `thread`, `undo_tablespace` per instance 等) -Oracle 实例是单机部署,且 Clusterware(如 Oracle Restart 或完整 GI)未启动或未配置 ##### ✅ 解决方案: 1. **检查 spfile/pfile 中是否启用了 cluster_database** ```sql -- 如果实例能以 nomount 启动,可尝试查看参数 show parameter cluster_database; ``` 但如果连 nomount 都失败,则需从 pfile/spfile 文件入手。 2. **使用 pfile 启动,并禁用 RAC 参数** 假设你的数据库使用的是 spfile,可以先生成一个 pfile 并修改它: ```sql SQL> create pfile='/tmp/initORCL.ora' from spfile; ``` 然后编辑 `/tmp/initORCL.ora` 文件,找到以下参数并修改或注释: ```ini *.cluster_database=FALSE # *.thread=1 # *.undo_tablespace='UNDOTBS1' ``` > 注意:如果原来是 RAC 实例,现在想改为单实例,必须清除这些 RAC 特有的设置。 3. **使用修改后的 pfile 启动实例** ```sql SQL> startup nomount pfile='/tmp/initORCL.ora'; ``` 成功后,你可以重建 spfile: ```sql SQL> create spfile from pfile='/tmp/initORCL.ora'; ``` 4. **确保 Oracle Clusterware 是否应该运行?** - 如果你是单机部署(非 RAC),建议 **禁用 Oracle Clusterware(Grid Infrastructure)** - 如果你使用 Oracle Restart(单机高可用),请确认 CRS 正常运行: ```bash $ crsctl check crs $ crsctl check cluster ``` 若未运行,启动: ```bash $ crsctl start crs ``` - 如果你不使用 GI,应完全卸载或禁止其开机自启。 --- #### 🔹 ORA-32004: obsolete or deprecated parameter(s) specified 说明你的初始化参数文件中包含已被废弃的参数。 ##### ✅ 解决方案: 1. 查看哪些参数被废弃: ```sql SQL> show parameter obsolete ``` 或者查询: ```sql select name, value from v$spparameter where isspecified='TRUE' minus select name, value from v$parameter; ``` 更直接的方法是启用诊断事件来查看具体哪个参数导致: ```sql SQL> alter session set events '32004 trace name context forever, level 1'; ``` 然后查看 alert log 文件(位于 `$ORACLE_BASE/diag/rdbms/$SID/trace/alert_$SID.log`),会列出具体的废弃参数名。 2. 常见的废弃参数包括: - `background_dump_dest` → 改为 `diagnostic_dest` - `user_dump_dest` - `core_dump_dest` - `_sort_elimination_cost_ratio` (隐藏参数,可能已过时) 修改方法:在 pfile 或 spfile 中删除或替换这些参数。 示例(pfile): ```ini *.diagnostic_dest='/u01/app/oracle' *.cluster_database=FALSE ``` --- ### 🛠️ 完整修复流程总结 ```bash # 1. 进入 sqlplus 不加载实例 $ sqlplus / as sysdba SQL> create pfile='/tmp/init_fix.ora' from spfile; -- 退出后编辑 pfile $ vi /tmp/init_fix.ora ``` 在 `/tmp/init_fix.ora` 中确保: ```ini *.cluster_database=FALSE # 注释掉 thread、instance_number 等 RAC 参数 # background_dump_dest、user_dump_dest 等旧参数也删掉,只保留 diagnostic_dest *.diagnostic_dest='/u01/app/oracle' ``` 然后启动: ```sql SQL> startup nomount pfile='/tmp/init_fix.ora'; ``` 如果成功,重建 spfile: ```sql SQL> create spfile from pfile='/tmp/init_fix.ora'; SQL> shutdown immediate; SQL> startup nomount; -- 应该不会再报错 ``` --- ### ✅ 补充建议 - 检查 `alert_<sid>.log` 日志文件,路径一般为: ``` $ORACLE_BASE/diag/rdbms/$SID/trace/alert_$SID.log ``` 这是最权威的诊断来源。 - 如果你从未安装过 RAC,请确认没有误装 Grid Infrastructure,或误配置 ASM。 - 若是虚拟机/测试环境,建议彻底删除 GI 配置: ```bash $ cd $GRID_HOME/deinstall $ ./deconfig.pl -premptive ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值