Oracle11gR2——RAC中的参数文件


1、查看参数文件

首先查看参数文件的位置:

SQL> show parameter spfile

NAME                                 TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
spfile                               string
+ASM_DG/orarac/spfileorarac.ora

两个实例都是用这个共享参数文件启动。

为了查看参数文件的内容,首先创建pfile:

SQL> create pfile='/home/oracle/pfile.ora' from spfile;

File created.

然后就可以查看其内容了(pfile为文本文件),内容及说明如下:

orarac1.__db_cache_size=520093696

orarac2.__db_cache_size=385875968

orarac1.__java_pool_size=16777216

orarac2.__java_pool_size=16777216

orarac1.__large_pool_size=16777216

orarac2.__large_pool_size=16777216

orarac1.__oracle_base='/u01/app/grid'#ORACLE_BASE set from environment

orarac2.__oracle_base='/u01/app/grid'#ORACLE_BASE set from environment

orarac1.__pga_aggregate_target=654311424

orarac2.__pga_aggregate_target=654311424

orarac1.__sga_target=956301312

orarac2.__sga_target=956301312

orarac1.__shared_io_pool_size=0

orarac2.__shared_io_pool_size=0

orarac1.__shared_pool_size=385875968

orarac2.__shared_pool_size=520093696

orarac1.__streams_pool_size=0

orarac2.__streams_pool_size=0

*.audit_file_dest='/u01/oracle/admin/orarac/adump'#当audit_trail这个参数设置为非db时,审计记录存放的目录

*.audit_trail='db'#审计记录放置处,此处值db表示审计记录放在SYS.AUD$表中

*.cluster_database=true#是否为RAC数据库

*.compatible='11.2.0.0.0'#实例兼容的版本

*.control_files='+ASM_DG/orarac/controlfile/current.256.863369275','+ASM_DG/orarac/controlfile/current.257.863369275'#控制文件位置

*.db_block_size=8192#默认数据块大小

*.db_create_file_dest='+ASM_DG'#数据文件的默认位置

*.db_domain=''#可添加到db_name末尾来生成全局唯一名称的域名

*.db_name='orarac'#全局数据库名称(而非实例名称)

*.db_recovery_file_dest='+ASM_DG'#闪回恢复区路径

*.db_recovery_file_dest_size=5218762752#闪回恢复区的可使用大小

*.diagnostic_dest='/u01/oracle'#用作诊断的相关文件的目录,例如日志文件则在<diagnostic_dest>/diag/rdbms/<dbname>/<instname>/trace这个目录下

*.dispatchers='(PROTOCOL=TCP) (SERVICE=oraracXDB)'#配置共享服务器模式的dispatcher进程

orarac1.instance_number=1#实例1的实例编号

orarac2.instance_number=2#实例2的实例编号

*.memory_target=1606418432#SGA和PGA之和可用的最大值

*.open_cursors=300#一个会话一次可以打开游标(用来操作private SQL areas)的最大数量

*.processes=150#可以连接实例的最大进程数

*.remote_listener='cluster-scan:1521'#实例远程注册监听器

*.remote_login_passwordfile='exclusive'#是否使用口令文件,该值表示口令文件为该数据库独有

orarac2.thread=2#实例使用的redo线程。线程号与实例号没有直接关联

orarac1.thread=1

orarac1.undo_tablespace='UNDOTBS1'#实例1的撤销表空间

orarac2.undo_tablespace='UNDOTBS2'


2、参数文件与RAC实例的启动

除了ASM中的共享spfile,另外还存在一个pfile,它在操作系统目录中:

[root@node1 oracle]# find / -name initorarac1.ora
/u01/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/initorarac1.ora

pfile为文本文件,spfile为二进制文件。

在单实例环境中,实例启动时首先找的是spfile<sid>.ora,如果该文件不存在尝试使用spfile.ora,如果这些参数文件都不存在,将使用init<sid>.ora。那么在RAC环境中,情况如何呢?

在RAC环境中,init<sid>.ora的内容仅为一个指向spfile的指针:

查看initorarac1.ora的内容:

[root@node1 oracle]# less initorarac1.ora
SPFILE='+ASM_DG/orarac/spfileorarac.ora'

创建pfile:

SQL> create pfile from spfile;

File created.

再次查看initorarac1.ora:

[root@node1 dbs]# less initorarac1.ora
orarac1.__db_cache_size=520093696
orarac2.__db_cache_size=385875968
......

此时initorarac1.ora的内容已经变了。

重新启动实例,查看参数文件:

SQL> show parameter pfile

NAME                                 TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
spfile                               string

此时实例使用pfile启动了。

将initorarac1.ora的内容改回去:

[root@node1 dbs]# vi initorarac1.ora
SPFILE='+ASM_DG/orarac/spfileorarac.ora'

重新启动实例,查看spfile:

SQL> show parameter spfile

NAME                                 TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
spfile                               string
+ASM_DG/orarac/spfileorarac.ora

此时又开始使用ASM中的共享spfile了。

由此可以推断11gR2 RAC环境中实例启动的过程:

11gR2RAC环境中,每一个节点实例启动时,先看pfile($ORACLE_HOME/dbs/init<sid>.ora),默认情况下,该文件指向ASM中共享SPFILE,随后通过ASM中的共享SPFILE启动实例;但是如果pfile

的内容为实际的参数,那么实例将直接从本地的pfile启动。


3、RAC环境中修改参数

使用ALTER SYSTEM SET命令可以改变使用SPFILE的Oracle实例的初始化参数,基本语法为:

alter system set <parameter>=<value>
scope=<memory/spfile/both>
comment=<'comments'>
deferred
sid=<sid,*>

scope=memory 表示仅对当前实例改变这一参数,这些改变会在重新启动时丢失。

scope=spfile 表示只在文件中进行这些修改,修改后的新参数值在实例重新启动后有效。

scope=both 表示改动对当前实例有效,并且实例重新启动后仍然有效。

comment 允许指定与参数变化相关的注释。

deferred 表明所作的修改仅对发出该命令之后生成的会话有效。已经处于活动状态的会话不受影响。

sid 允许指定一些实例名称,这些实例将会受参数变化的影响。如果使用*号,表示对所有实例有效,这也是默认值。如 sid='orarac1'。


4、小结

RAC环境中,参数文件可以为ASM上的共享参数文件,也可以是每个实例本地的参数文件。

参数文件中一些参数是为每个实例分别定义的,一些参数是为所有实例定义的。

实例启动过程是先找init<sid>.ora,在由该文件所指向的ASM中的spfile。

使用alter system修改参数时可能需要增加sid选项,默认为sid=*。


测试环境如下:

版本 11.2.0.1

数据库名     orarac
节点一实例名 orarac1
节点二实例名 orarac2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值