`
txf2004
  • 浏览: 6830606 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

RAC环境下,创建spfile导致节点间数据库参数不一致的问题

 
阅读更多

初接触RAC,创建spfile的时候,需要制定位置例如:

create spfile='xxxxx' from pfile ;

一般$ORACLE_HOME/dbs/init$ORACLE_SID.ora

里面的内容都只是共享磁盘中spfile的信息。

例如:

[oracle@rac1 dbs]$strings initdex1.ora

SPFILE='+BACKUPS/dex/spfiledex.ora'

如果错误的创建了spfile

例如使用如下命令:

create spfile from pfile='xxxxx' ;

如果是这个命令在rac环境下面,就会出现问题,因为spfile默认是创建在$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora这里的,并且oracle启动的时候会优先查找以spfile开头的文件,如果找到,则不会再使用pfile,也就不会使新修改的内容生效,这样也会造成rac两个节点的参数内容不同,有很严重的后果。

解决办法就是。

1.在执行create spfile from pfile='xxxxx' ;命令的节点使用下面的命令

create spfile='+BACKUPS/dex/spfiledex.ora' from pfile='xxxxx'(这个包含了新内容的pfile) ;

2.然后关闭数据库

3.编辑$ORACLE_HOME/dbs/init$ORACLE_SID.ora

加入如下内容

SPFILE='+BACKUPS/dex/spfiledex.ora'

4.$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora这个spfile重新命名

mv$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora.bk

5.各个节点都重启即可。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics