一、背景
由于历史遗留问题,某Oracle RAC数据库集群的spfile分别存放在两个节点的本地磁盘上,但spfile是由同一份pfile生成,因此配置相同,但存在隐患。
二、处置过程
1、将磁盘组中原有spfile重命名备份;
su - grid
asmcmd
cd +data/raac
cp spfileraac.ora spfileraac.ora0401
rm spfileraac.ora
2、将两个节点的spfile生成pfile,并比较配置是否一致。
su - oracle
create pfile='/home/oracle/pfile0401.ora' from spfile;
more /home/oracle/pfile0401.ora
比较spfile中的配置,应该是一致的。
3、根据任一节点的pfile生成spfile到磁盘组
create spfile='+DATA/raac/spfileraac.ora' from pfile='/home/oracle/pfile.ora';
到磁盘组查看spfileraac.ora是否已经生成。
到两个节点$ORACLE_HOME/dbs/initraac.ora中查看控制文件是否指向磁盘组中的共享spfile。
4、将两个节点中的$ORACLE_HOME/dbs目录中的spfileraac.ora文件mv到/home/oracle
mv spfileraac.ora /home/oracle
5、重启两节点的数据库实例,可同时重启,如不放心可两节点轮流重启。