首页 > 数据库 >OracleRAC修改spfile参数文件失败处理

OracleRAC修改spfile参数文件失败处理

时间:2022-12-02 11:23:52浏览次数:49  
标签:OracleRAC RAC PFILE spfile 参数 文件 SPFILE

OracleRAC修改参数文件失败处理,或者恢复因误生成PFILE 导致RAC的SPFILE无效无法启动问题,或修改RAC spfile文件位置。

Oracle RAC 架构下,两个或多个集群数据库实例共享一个spfile文件,该文件位于共享磁盘组上。本地参数文件中仅保留initSID.ora文件类型为PFILE,由代理自动生成,内容为到ASM共享文件系统spfile的指向,如下图:

这里希望提醒大家的是:在RAC环境中轻易不要使用“create pfile from spfile;”命令创建PFILE。
因为在RAC环境,默认情况下的SPFILE会放到共享存储上(裸设备或ASM磁盘组上),RAC的每台主机上是使用PFILE指向SPFILE的方法来完成SPFILE的定位的。
一旦使用“create pfile from spfile;”命令创建PFILE后,新生成的PFILE将覆盖原有dbs目录下的PFILE,此后数据库实例启动时读取的将不再是共享存储上的SPFILE,转而读取本地的PFILE文件的内容。

1.默认情况下$ORACLE_HOME/dbs目录下的PFILE initracdb.ora中只有一行记录,记录着SPFILE的路径指向。
/oracle/app/oracle/product/10.2.0/db_1/dbs$ cat initracdb1.ora
spfile=+DATA/racdb/spfileracdb.ora

2.此时可以从数据库参数得到目前使用的是SPFILE启动的数据库
SQL> show parameter spfile
NAME            TYPE        VALUE
--------------- ----------- ------------------------------
spfile          string      +DATA/racdb/spfileracdb.ora

3.此时如果使用“create pfile from spfile;”命令创建PFILE,原有PFIEL中的SPFILE指向将被具体的数据库参数所取代。
当数据库再次启动时,因为无法找到SPFILE的位置,将使用PFILE文件中记录的具体参数值完成数据库的启动,这样将会给数据库的管理带来比较大的影响,不再享受到SPFILE参数的便捷。

如果出现了这样的问题该如何处理呢?方法比较简单,将本地PFILE的内容恢复为具有SPFILE指向的内容即可

一.spfile和pfile的相互创建:

      这个在实际参数修改过程中,建议可以提前来对原来的参数做一下备份,以免参数修改错误导致实例不能及时恢复。在RAC下修改参数建议指定文件路径和名称,创建成功后确认下创建的参数文件正常可用后,再着手修改参数来做测试,一旦参数修改有问题,马上可以使用之前备份的原来可正常使用的参数来启动实例。
语法如下:

create spfile[='xxxxx'] from pfile[='xxxx'];  create pfile[='xxxxx'] from spfile[='xxxx'];

create pfile from spfile; --都不指定路径时,默认会生成$ORACLE_HOME/dbs/initSID.ora
--RAC下强烈不建议这样创建参数文件,这会破坏掉原有的初始化参数文件造成local参数文件损坏:

我们先来看看RAC正常情况下,参数文件情况:

SQL> show parameter pfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      +DGSYSTEM/erpdb/spfileerpdb.or
                                                 a


--数据库以spfile启动,RAC实例共享1个相同参数文件,+DGSYSTEM/erpdb/spfileerpdb.ora。

(该文件可以为别名,指向另外一个文件)

ASMCMD> ls -ls
Type           Redund  Striped  Time             Sys  Block_Size  Blocks  Bytes    Space  Name
                                                 Y                                        CONTROLFILE/
                                                 Y                                        DATAFILE/
                                                 Y                                        ONLINELOG/
                                                 Y                                        TEMPFILE/
                                                 N                                        spfileerpdb.ora => +DGSYSTEM/DB_UNKNOWN/PARAMETERFILE/SPFILE.275.1122329821

二、模拟修改参数文件出现错误导致数据库无法启动到nomount,

图略

三、

标签:OracleRAC,RAC,PFILE,spfile,参数,文件,SPFILE
From: https://www.cnblogs.com/TImeroot/p/16943852.html

相关文章