首頁  >  文章  >  資料庫  >  oracle修改spfile的位置

oracle修改spfile的位置

WBOY
WBOY原創
2016-06-07 16:35:321427瀏覽

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn