日期:2014-05-16 浏览次数:20555 次
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尝试启动实例
2、参数文件的备份
参数文件备份的方式有很多种,一般情况下当启用了RMAN自动备份控制文件时,会自动备份参数文件。
其次是手工备份参数文件,这种方式通常是将spfile内容转换为pfile,说简单点,转为文本文件保存,文件名任意。
建议在修改参数文件之前先手工备份参数文件,使用命令: create pfile=['<dir>'] from spfile;
注,单实例情形下,如果使用spfile文件启动实例,可以通过上面的方式直接备份,RAC环境下这么干,那就把pfile文件给覆盖了
因此,RAC环境下建议为pfile文件指定不同的文件名。如当前为initora10g1.ora,则可以指定为initora10g1.ora.bak
SQL> create pfile='/u01/oracle/db/dbs/initora10g1.ora.bak' from spfile;
File created.
SQL> ho ls /u01/oracle/db/dbs/*ora10g*
/u01/oracle/db/dbs/hc_ora10g1.dat /u01/oracle/db/dbs/initora10g1.ora.bak
/u01/oracle/db/dbs/initora10g1.ora /u01/oracle/db/dbs/orapwora10g1
SQL> ho more /u01/oracle/db/dbs/initora10g1.ora.bak
ora10g2.__db_cache_size=142606336
ora10g1.__db_cache_size=163577856
ora10g1.__java_pool_size=4194304
ora10g2.__java_pool_size=4194304
ora10g1.__large_pool_size=4194304
ora10g2.__large_pool_size=4194304
ora10g2.__shared_pool_size=180355072
ora10g1.__shared_pool_size=159383552
ora10g1.__streams_pool_size=0
ora10g2.__streams_pool_size=0
*.audit_file_dest='/u01/oracle/admin/ora10g/adump'
*.background_dump_dest='/u01/oracle/admin/ora10g/bdump'
*.cluster_database_instances=2
*.cluster_database=true
*.compatible='10.2.