ITPub博客

首页 > 数据库 > Oracle > 小谈oracle 11g RAC spfile文件位置

小谈oracle 11g RAC spfile文件位置

原创 Oracle 作者:lvzhilin2011 时间:2014-08-05 12:46:18 0 删除 编辑


1. 首先oracle RAC spfile文件位置与单机环境下不同



单实例默认是在$ORACLE_HOME/dbs/这个目录下。
RAC默认在你的共享存储路径下(ASM或RAW)。
例如我测试机搭建的RAC采用ASM自动存储管理。数据库建在+DATA下,数据库取名orcl,集群SPFILE位置
+DATA/orcl/spfileorcl.ora。

2. 具体查看该文件位置按如下方法:



SQL> show parameter spfile;

NAME                                        TYPE       VALUE

------------------------------------ ----------- ------------------------------

spfile                                          string    +DATA1/orcl/spfileorcl.ora


3. 如何创建pfile文件



在为了优化Oracle而修改spfile参数前,首先确定spfile位置。然后创建pfile,手动更改初始化参数。

如果你尝试这个命令,结果会失败。
SQL> create pfile='/tmp/pfile.ora' from spfile;

ERROR at line 1:

ORA-01565: error in identifying file '?/dbs/spfile@.ora'

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

这个错误原因说明在$ORACLE_HOME/dbs/这个目录下没有spfile文件。

RAC默认是通过$ORACLE_HOME/dbs/init[实例名].ora在这个文件来指定读取spfile文件的。

查看一下init[实例名].ora这个文件的内容。

[oracle@orcl1 ~]# cat $ORACLE_HOME/dbs/initorcl1.ora
spfile='+DATA1/orcl/spfileorcl.ora'              --此乃所有节点读取的位置。

那么创建PFILE文件,使用的SPFILE就写绝对路径.

SQL> create pfile='/rac/spfile/orcl.ora' from spfile='+DATA1/orcl/spfileorcl.ora';

然后手动修改后在更新spfile文件

SQL> create spfile='+DATA1/orcl/spfileorcl.ora' from pfile='/rac/spfile/orcl.ora';

注:$ORACLE_HOME/dbs/init[实例名].ora会被节点启动时读取。假如你执行了命令create pfile from spfile;会覆盖这个文件。那只能手动修改内容了.

另外 create spfile from pfile;是没用的,创建的文件内容是init[实例名].ora这个文件里的内容,创建在该节点实例的$ORACLE_HOME/dbs/下。但是集群spfile文件是在共享存储里的。
 
本文结束,如有错误欢迎指正。谢谢。

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

请登录后发表评论 登录
全部评论

注册时间:2014-01-06

  • 博文量
    6
  • 访问量
    96209