加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

记一次生产数据库RAC某节点启动异常解决--ORA-01105,ORA

发布时间:2023-01-08 11:01:52 所属栏目:MySql教程 来源:未知
导读: 概述
凌晨2点。。。重启数据库居然发生了个异常,特记录一下。
环境:RHEL6.6 + Oracle11.2.0.4 双节点RAC
故障现象:节点1实例没有启动成功,节点2正常启动。
1、故障现象
第二个节点已经

概述

凌晨2点。。。重启数据库居然发生了个异常,特记录一下。

环境:RHEL6.6 + Oracle11.2.0.4 双节点RAC

故障现象:节点1实例没有启动成功,节点2正常启动。

1、故障现象

第二个节点已经正常启动了,但是尝试启动RAC 节点1数据库实例,遭遇ORA-01105,ORA-01606:

数据流程图实例_数据库实例_数据清洗实例

2、解决过程

错误代码说明:

$ oerr ora 1105
01105, 00000, "mount is incompatible with mounts by other instances"
// *Cause: An attempt to mount the database discovered that another instance
// mounted a database by the same name, but the mount is not
// compatible. Additional errors are reported explaining why.
// *Action: See accompanying errors.
$ oerr ora 1606
01606, 00000, "parameter not identical to that of another mounted instance"
// *Cause: A parameter was different on two instances.
// *Action: Modify the initialization parameter and restart.

1、查询gc_隐含参数

set linesize 333
col name for a35
col description for a66
col value for a30
SELECT i.ksppinm name, 
 i.ksppdesc description, 
 CV.ksppstvl VALUE
FROM sys.x$ksppi i, sys.x$ksppcv CV 
 WHERE i.inst_id = USERENV ('Instance') 
 AND CV.inst_id = USERENV ('Instance') 
 AND i.indx = CV.indx 
 AND i.ksppinm LIKE '/_gc%' ESCAPE '/' 
ORDER BY REPLACE (i.ksppinm, '_', ''); 

数据清洗实例_数据流程图实例_数据库实例

查询结果如下(部分相同值的参数已省略):

数据库实例_数据清洗实例_数据流程图实例

数据清洗实例_数据库实例_数据流程图实例

数据清洗实例_数据库实例_数据流程图实例

数据库实例_数据清洗实例_数据流程图实例

发现问题,_gc_policy_time隐藏参数,gc_undo_affinity隐藏参数,2个节点值不一致。

2、调整参数并重启

解决方法:根据现在正常运行的节点2的值,重新设置这两个值:

alter system set "gc_undo_affinity"=true scope=spfile sid='*'; 
alter system set "_gc_policy_time"=10 scope=spfile sid='*';

实际执行过程如下:

数据清洗实例_数据库实例_数据流程图实例

3、总结

猜测故障原因应该是之前有人修改数据库隐含参数,误操作只修改了一个实例导致。

当我们操作RAC环境时,一定要注意sid='*'这一点。

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

数据清洗实例_数据流程图实例_数据库实例

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!