1. 程式人生 > 其它 >RAC修改資料庫的spfile位置

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