RAC环境下,初始化参数文件与但实例下参数文件有些异同,主要表现在初始化参数可以为多个实例公用,也可以单独设置各个实例的初始化参数。对于那些非共用的初始化参数则必须要单独设置,而共用的则可以单独设置,但一般不建议这么用。本文描述RAC 环境下参数文件(spfile)的相关管理工作。
有关RAC环境下的重要参数描述,请参考:RAC 环境下重要参数
1、参数文件的位置
SQL> show parameter instance_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string ora10g1
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DG1/ora10g/spfileora10g.ora
SQL> show parameter instance_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string ora10g2
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DG1/ora10g/spfileora10g.ora
SQL> show parameter cluster
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cluster_database boolean TRUE
cluster_database_instances integer 2
Oracle@bo2dbp:~> cd /u01/oracle/admin/ora10g
oracle@bo2dbp:/u01/oracle/admin/ora10g> ls
adump bdump cdump dpdump hdump pfile udump
oracle@bo2dbp:/u01/oracle/admin/ora10g> cd pfile
oracle@bo2dbp:/u01/oracle/admin/ora10g/pfile> ls -hltr
total 4.0K
-rw-r----- 1 oracle oinstall 2.7K 2012-09-27 12:12 init.ora.8272012121245
oracle@bo2dbp:/u01/oracle/admin/ora10g/pfile> cd $ORACLE_HOME/dbs
oracle@bo2dbp:/u01/oracle/db/dbs> ls *.ora
init+ASM1.ora initdw.ora initGOBO1A_tmp.ora initGOBO4A.ora init.ora initora10g1.ora
oracle@bo2dbp:/u01/oracle/db/dbs> more initora10g1.ora
SPFILE='+DG1/ora10g/spfileora10g.ora'
oracle@bo2dbs:/u01/oracle/db/dbs> more initora10g2.ora
SPFILE='+DG1/ora10g/spfileora10g.ora'
#由上面的查询可知RAC环境下的参数文件通常都存放在RAW或者ASM中,缺省路径为$ORACLE_HOME/dbs/init{ORACLE_SID}.ora
#各个实例只是存放pfile文件,pfile文件的内容是指向spfile文件的位置,即告诉,兄弟,你去xx去找那个spfile吧,哈哈,,,
#注,Oracle数据库启动时会先找spfile${ORACLE_SID.ora},如果对应的spfile不存在则找spfile.ora
#如果spfile.ora找不到,则找相应的pfile(init{ORACLE_SID}.ora)
#那,要是都找不到呢,那就是用缺省的init.ora尝试启动实例