您的位置:首页 > 数据库

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

2012-03-07 21:57 453 查看
初接触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.各个节点都重启即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: