RAC环境中使用create pfile form spfile出现问题

2015-07-16 12:08:55 · 作者: · 浏览: 1

一、问题解决


1、? 查看正常RAC中有关,parameter记录


节点spfile 位置


SQL> show parameter pfile


NAME? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE


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


spfile? ? ? ? ? ? ? ? ? string? ? +BACKUP_DISK/racdb/spfileracdb


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .ora


服务器上pfile内容


[ora@rac1-21 dbs]$ cat initracdb1.ora


SPFILE='+BACKUP_DISK/racdb/spfileracdb.ora'


2、? 使用create pfile from spfile;


SQL> create pfile from spfile;


File created.


此时服务器上pfile内容


**.undo_management='AUTO'? 为共享的参数


racdb2.thread=2


racdb1.thread=1


为节点单独使用的


重启之后,oracle使用了节点本地的pfile,不能使用共享存储上spfile了,这样很不方便以后的管理。


SQL> show parameter pfile


NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE


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


spfile? ? ? ? ? ? ? ? ? string


oracle使用节点本地的参数文件,而不使用共享存储的参数文件,这样的问题怎么解决呢?


3、? 解决方法:


修改oracle中pfile指向位置为共享存储的参数文件即可。(指针)


[ora@rac1-21 dbs]$ cat initracdb1.ora


sPFILE='+BACKUP_DISK/racdb/spfileracdb.ora'


?


重启数据库


SQL> show parameter pfile


NAME? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE


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


spfile? ? ? ? ? ? ? ? ? string? ? ? +BACKUP_DISK/racdb/spfileracdb


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .ora


OK!问题解决了。


二、思考与总结


思考:RAC启动参数文件位置的奥秘?


RAC中,启动参数文件是不是ORACLE先去找本地的参数文件,然后本地指向共享存储中的文件,这样的方式,参数文件才得以在共享磁盘上多个节点进行共享呢?


为了证明我的想法,觉得把pfile修改名。看看oracle能否找到共享存储中的参数文件呢?


[ora@rac1-21 dbs]$ mv initracdb1.ora initracdb1.ora_bk


SQL> startup


ORA-01078: failure in processing system parameters


LRM-00109: could not open parameter file '/u01/oracle/product/10.2.0/db_1/dbs/initracdb1.ora'


恢复pfile的名称


?[ora@rac1-21 dbs]$ mv initracdb1.ora_bk initracdb1.ora


SQL> startup


ORACLE instance started.


Total System Global Area? 222298112 bytes


Fixed Size? ? ? ? ? ? ? ? ? 1218628 bytes


Variable Size? ? ? ? ? ? ? 96470972 bytes


Database Buffers? ? ? ? ? 121634816 bytes


Redo Buffers? ? ? ? ? ? ? ? 2973696 bytes


Database mounted.


Database opened.


显然,数据库开启使用节点本地的pfile,只要本地的参数文件或指向参数文件正确。数据库就可以启动


总结:RAC数据库启动也是先使用默认的位置SPFILE,PFILE等文件。如果有指向,oracle就会使用指向共享存储的位置parameter文件。