欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-02-09 10:58:22
...

RAC环境下,创建spfile导致节点间数据库参数不一致的问题,如果是这个命令在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.各个节点都重启即可。

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