RAC 单节点报ora-1105 ora-01606的解决

最近自己搭了一套 11g rac的环境,基于redhat 6, 11g 用了11.2.0.3.0的cluster和db的安装包。
共享存储基于nfs,没有用asm.
环境打完以后,crs_stat -t看到相应的服务都起了,但是第二个节点上的实例不知道怎么回事却没起来。
手工尝试启动,报了如下的错误。
SQL> startup mount
ORACLE instance started.
Total System Global Area  835104768 bytes
Fixed Size    2232960 bytes
Variable Size  503319936 bytes
Database Buffers  322961408 bytes
Redo Buffers    6590464 bytes
ORA-01105: mount is incompatible with mounts by other instances
ORA-01606: parameter not identical to that of another mounted instance

我尝试把Node2,node1的实例都down了,换成从node2开始起,node竟然起来了,node1再起用报了同样的错误。
首先检查spfile是否两个实例一致。
SQL*Plus: Release 11.2.0.3.0 Production on Wed Jan 15 03:02:51 2014
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, Oracle Label Security, OLAP,
Data Mining and Real Application Testing options

SQL> show parameter spfile
NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile     string /u04/app/11.2.0/db/product/11.2.0/dbhome_1/dbs/spfileRACDB2.ora
发现node1,node2所使用的spfile不是同一个目录,修改设置。
从有问题的node2上重建pfile,然后生成spfile,修改以后,把修改后的spfile替换共享目录的spfile即可。

SQL> create pfile from spfile;
File created.
修改pfile的一个参数,修改为共享存储的目录。
SPFILE='/u04/db/oradata/RACDB/spfileRACDB.ora'
然后重启node1,node2,重启后spfile显示共享了,
show parameter spfile,但是还是报同样的错误。貌似修改spfile还没有解决。
网上查询,说在11.2.0.2.0之前的版本,修改修改隐含参数 ._gc_read_mostly_locking为FALSE,但是我这个是11.2.0.3.0的版本,在11.2.0.2.0已经修复。
我把node1,node2的实例启动到nomount,然后比较有什么差别,发现sga,memory_target的设置不太一样。
node1上安装了一些其他的东西,空闲内存已经很紧张了。node2上内存还比较充裕。
可以用free -m来查看大体的内存情况。

最后把memory_target,sga的参数都调低了些,然后重启,就没有问题了。


上一篇:全网首发:github已经设置了令牌token,为什么还要验证用户密码


下一篇:vscode 保存时格式化缩进空格由设置的2变成4