spfile作为引导启动oracle数据库的参数文件,有时候需要修改,且在rac中需要保持spfile在各个节点的一致性,修改方法如下: 首先查看原spfile的位置 SQL show parameter spfile; NAME TYPE VALUE spfile string +DATA/spfileorcl.ora 拷贝spfile到其他的位置
spfile作为引导启动oracle数据库的参数文件,有时候需要修改,且在rac中需要保持spfile在各个节点的一致性,修改方法如下:
首先查看原spfile的位置
SQL> show parameter spfile;
NAME TYPE VALUE
———————————— ———– ——————————
spfile string +DATA/spfileorcl.ora
拷贝spfile到其他的位置,在asm中使用cp文件则是相当于创建别名,所以要使用下面的方法:
SQL> create pfile=’/tmp/pfile.ora’ from spfile;
SQL> create spfile=’+data1/orcl/spfile.orc’ from pfile=’/tmp/pfile.ora’;
如果spfile不在asm中可以直接cp到新的位置就可以了。
修改$ORACLE_HOME/dbs/下的参数文件initorclX.ora,X代表实例的编号
将新的位置spfile=’+data1/orcl/spfile.orc’替换原来的位置
使用sqlplus重启实例,发现已经修改了
PS:记住不要用srvctl重启数据库,因为在rac环境中,我们更多的时候是用srvctl来管理rac资源的,而srvctl的信息来自于ocr,包括spfile的位置信息,我们在参数文件中修改了参数文件的位置,但是ocr并不知道,所有就会失败。
也可以使用srvctl修改spfile的位置,前提是已经创建了新的spfile:
首先查看数据库的配置信息
shell> srvctl config database -d orcl -a
通过srvctl修改spfile的位置
shell> srvctl modify database -d orcl -p ‘+data1/orcl/spfileorcl.ora’
然后使用srvctl关闭数据库,再启动数据库
shell> srvctl stop database -d orcl
shell> srvctl start database -d orcl
总结一下,在RAC环境下修改spfile:
1. 需要修改$ORACLE_HOME/dbs下的相关文件,指向新文件
2. 需要用srvctl修改config信息,指向新文件
参考来源:http://space6212.itpub.net/post/12157/511531
原文地址:oracle修改spfile的位置, 感谢原作者分享。