ITPub博客

首页 > 数据库 > Oracle > RAC环境下的spfile存放位置

RAC环境下的spfile存放位置

原创 Oracle 作者:ysping 时间:2009-08-05 08:43:07 0 删除 编辑

我们知道,oracle的参数文件分为pfile、spfile,默认位于$ORACLE_HOME/dbs目录下。
我们可以使用show parameter spfile或pfile 查看oaracle是使用pfile还是spfile启动的!!

oracle 9i以后,oracle启动时默认是以spfile启动的,如果不存在spfile,将使用$ORACLE_HOME/dbs目录下的pfile文件。

但是,rac环境下系统安装后在$ORACLE_HOME/dbs目录下是不存在spfile文件的,只有一个initsid.ora文件,这个文件只有一行内容:

[@more@]

spfile='/dev/vg01/rlvol24'(笔者使用的是裸设备)。使用crsctl启动rac后,show parameter spfile显示是以spfile启动的。有人可能会以为rac启动时是使用pfile,然后从pfile里的指针找到spfile的。其实不然,经过测试发现:即使把$ORACLE_HOME/dbs目录下的pfile、spfile都改名(或删除)掉,使用crsctl命令,rac仍然以spfile正常启动。使用ocrdump或dd将ocr的内容dump出来后就会发现秘密了,原来ocr里有一个spfile的位置指针。我们使用crsctl命令或者srvctl启动rac时,crsctl、srvctl是以root身份执行的,它是不会访问$ORACLE_HOME/dbs目录的(root的配置文件里根本就没有相关的环境变量),是从ocr中获取spfile的位置。

如果我们在rac正常启动后,使用sqlplus shutdown数据库,不关闭集群,然后再使用startup启动数据库,这个时候oracle会使用$ORACLE_HOME/dbs目录下的pfile或spfile文件!因为sqlplus命令是以oracle用户执行的,oracle用户有$ORACLE_HOME的环境变量。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/670493/viewspace-1024889/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 10G RAC归档设置
请登录后发表评论 登录
全部评论

注册时间:2009-08-05

  • 博文量
    47
  • 访问量
    201743