RAC修改数据库的spfile位置
结:
rac启动会根据rac中记录的参数文件的位置,写入到$ORACLE_HOME/dbs/initFMISDB2.ora文件中,然后根据文件中的路径,找到ASM中参数文件,然后利用参数文件启动数据库。这是正常的启动顺序。
当使用sqlplus启动的时候,有时候会使用指定的参数文件启动数据库,此时,如果该参数文件和集群中记录的不一致,那么集群起来,但是db是无法启动的。用startup命令启动,会提示参数文件不存在。即使手动修改了initFMISDB2.ora文件,集群重启,该文件会被重新写入,根据集群的配置。
所以,在修改参数文件的路径时,一定要注意,集群中参数文件配置和启动的参数文件一致。
确认集群的配置 节点一:集群和数据库记录不一致;修改确认。 fmisdb1:$ srvctl config database -d fmisdb Database unique name: FMISDB Database name: FMISDB Oracle home: /u01/app/oracle/product/11.2.0/db_1 Oracle user: oracle Spfile: +DATA/FMISDB/spfileFMISDB.ora Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Server pools: FMISDB Database instances: FMISDB1,FMISDB2 Disk Groups: DATA Mount point paths: Services: Type: RAC Database is administrator managed SQL> show parameter pfile NAME TYPE VALUE --------------------------------------- spfile string +DATA/fmisdb/spfilefmisdb1.ora fmisdb1:/u01/app/oracle/diag/rdbms/fmisdb/FMISDB1/trace$ id uid=1101(oracle) gid=1000(oinstall) groups=1000(oinstall),1200(dba),1300(asmdba) fmisdb1:/u01/app/oracle/diag/rdbms/fmisdb/FMISDB1/trace$ srvctl modify database -d fmisdb -p +DATA/FMISDB/spfileFMISDB1.ora fmisdb1:/u01/app/oracle/diag/rdbms/fmisdb/FMISDB1/trace$ fmisdb1:/u01/app/oracle/diag/rdbms/fmisdb/FMISDB1/trace$ fmisdb1:/u01/app/oracle/diag/rdbms/fmisdb/FMISDB1/trace$ srvctl config database -d fmisdb Database unique name: FMISDB Database name: FMISDB Oracle home: /u01/app/oracle/product/11.2.0/db_1 Oracle user: oracle Spfile: +DATA/FMISDB/spfileFMISDB1.ora Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Server pools: FMISDB Database instances: FMISDB1,FMISDB2 Disk Groups: DATA Mount point paths: Services: Type: RAC Database is administrator managed 节点二:确认写入文件和配置 fmisdb2:/u01/app/oracle/product/11.2.0/db_1/dbs$ cat initFMISDB2.ora #SPFILE='+DATA/FMISDB/spfileFMISDB1.ora' # line added by Agent SPFILE='+DATA/FMISDB/spfileFMISDB1.ora' # line added by Agent fmisdb2:/u01/app/oracle/diag/rdbms/fmisdb/FMISDB2/trace$ srvctl config database -d fmisdb Database unique name: FMISDB Database name: FMISDB Oracle home: /u01/app/oracle/product/11.2.0/db_1 Oracle user: oracle Spfile: +DATA/FMISDB/spfileFMISDB1.ora Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Server pools: FMISDB Database instances: FMISDB1,FMISDB2 Disk Groups: DATA Mount point paths: Services: Type: RAC Database is administrator managed