RAC 修改 spfile 参数
2010-09-24 00:07
309 查看
我们知道数据库的参数文件有spfile和pfile。RAC的参数文件比较特殊。因为默认情况下,RAC的spfile是放在共享设备上(RAW设备或者ASM磁盘组)。而在各节点的pfile文件里只记录了这个spfile的位置。所以在用spfile生成pfile或者修改相关参数值时都需要特别注意。
如果我们直接使用:createpfilefromspfile命令穿件pfile,那么生成的pfile文件将覆盖原有$ORACLE_HOME/dbs目录下的pfile文件。而在之前的pfile文件里面值保留了一条指向spfile存放位置的记录。这样修改之后,就会造成数据库启动时会因为找不到spfile文件而读取本地的pfile文件,而不是共享设备上的spfile文件。这样对参数管理上就会带来麻烦,也带来其他的隐患。
所以对于RAC,要慎用createpfilefromspfile来创建pfile文件,在创建的时候,尽量指定pfile的生成位置。
先来看一下$ORACLE_HOME/dbs下的pfile文件内容:
[oracle@rac1bin]$cd$ORACLE_HOME/dbs
[oracle@rac1dbs]$ls
ab_+ASM1.dathc_orcl1.datinitdw.orainitorcl1.oraorapworclorapworcl2
hc_+ASM1.datinit+ASM1.orainit.oraorapw+ASM1orapworcl1snapcf_orcl1.f
[oracle@rac1dbs]$moreinitorcl1.ora
SPFILE='+DATA/orcl/spfileorcl.ora'--本地的pfile只有一条记录
[oracle@rac1dbs]$
我们现在看一下spfile文件的内容:
[oracle@rac1bin]$exportORACLE_SID=orcl1
[oracle@rac1bin]$sqlplus/nolog
SQL*Plus:Release10.2.0.1.0-ProductiononThuSep2312:04:242010
Copyright(c)1982,2005,Oracle.Allrightsreserved.
SQL>conn/assysdba;
Connected.
SQL>showparameterspfile
NAMETYPEVALUE
-----------------------------------------------------------------------------
spfilestring+DATA/orcl/spfileorcl.ora--这里记录spfile位置
SQL>showparameter--查看所有参数
NAMETYPEVALUE
-----------------------------------------------------------------------------
O7_DICTIONARY_ACCESSIBILITYbooleanFALSE
active_instance_countinteger
aq_tm_processesinteger0
archive_lag_targetinteger0
asm_diskgroupsstring
asm_diskstringstring
asm_power_limitinteger1
audit_file_deststring/u01/app/oracle/admin/orcl/adump
audit_sys_operationsbooleanFALSE
audit_syslog_levelstring
所有参数比较多,我们把它转成pfile后在查看:
SQL>createpfile='/u01/dave.ora'fromspfile;
Filecreated.
打开dave.ora文件:
[oracle@rac1u01]$moredave.ora
orcl2.__db_cache_size=88080384
orcl1.__db_cache_size=96468992
orcl2.__java_pool_size=4194304
orcl1.__java_pool_size=4194304
orcl2.__large_pool_size=4194304
orcl1.__large_pool_size=4194304
orcl2.__shared_pool_size=79691776
orcl1.__shared_pool_size=71303168
orcl2.__streams_pool_size=0
orcl1.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'
*.cluster_database_instances=2
*.cluster_database=TRUE
*.compatible='10.2.0.1.0'
*.control_files='+DATA/orcl/controlfile/current.280.730181163','+FLASH_RECOVERY_AREA/orcl/controlfile/current.260.730181165'
*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='+FLASH_RECOVERY_AREA'
*.db_recovery_file_dest_size=3670016000
*.dispatchers='(PROTOCOL=TCP)(SERVICE=orclXDB)'
orcl2.instance_number=2
orcl1.instance_number=1
*.job_queue_processes=10
orcl2.log_archive_dest_1='LOCATION=/u02/rac2_arch'
orcl1.log_archive_dest_1='LOCATION=/u02/rac1_arch'
orcl2.log_archive_dest_2='SERVICE=orcl1'
orcl1.log_archive_dest_2='service=orcl2'
*.log_archive_dest_state_2='ENABLE'
*.open_cursors=300
*.pga_aggregate_target=59768832
*.processes=150
*.remote_listener='LISTENERS_ORCL'
*.remote_login_passwordfile='exclusive'
*.sga_target=179306496
orcl1.standby_archive_dest='/u02/rac2_arch'
orcl2.standby_archive_dest='/u02/rac1_arch'
orcl2.thread=2
orcl1.thread=1
*.undo_management='AUTO'
orcl2.undo_tablespace='UNDOTBS2'
orcl1.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/orcl/udump'
从上面的结果,我们发现参数的最前面都有一个标识符:orcl1,orcl2和*。这些符号是用来区分参数的。
如:
*.undo_management='AUTO'--所有节点通用的参数
orcl2.undo_tablespace='UNDOTBS2'--代表orcl2的参数
orcl1.undo_tablespace='UNDOTBS1'--代表orcl1的参数
因为spfile区分实例,所以我们在修改的时候要特别注意指定实例,如果不指定,就会修改所有节点的参数。
如:
altersystemsetsga_target=1024Mscope=spfilesid='orcl1';
altersystemsetsga_target=1024Mscope=spfilesid='*';
注意:参数修改完成后,需要重启才能生效。
RAC与单实例不同的一些参数:
(1)cluster_database
一般情况下,该参数在rac各实例下应该设置为true。在一些特别情况下,比如upgrade等,需要将该参数设置成false。
(2)db_name/db_unique_name/instance_name
各节点db_name需要一致,db_unique_name也需要一致(这与standby是不同的)。而instance_name配置成各个节点的实例名称。
(3)instance_number
该参数表示节点上实例的实例号。
(4)thread
该参数用来标示实例使用的redo线程。线程号与节点号/实例号没有直接关联。
(5)local_listener
该参数用来手工注册监听。为解决ORA-12514错误,可以设置该参数。
(6)remote_listener
该参数用来进行服务器端负载均衡配置。在配置RAC负载均衡的服务端均衡时需要设置该参数。具体可以参考Blog:
OracleRACLoadBalance
http://blog.csdn.net/tianlesoftware/archive/2010/03/05/5347775.aspx
(7)cluster_interconnects
该参数用来指定集群中IPC通信的网络。如果集群中有多种网络用于高速互联,需要配置该参数。对于多个IP地址,用冒号将其隔开。对于集群中当前使用的互联地址,可以查询视图gv$cluster_interconnects或着oradebugipc来查看。
(8)max_commit_propagation_delay
该参数用于配置SCN的产生机制。在rac下,SCN的同步有2种模式:
(1)LamportScheme.该模式下,由GES管理SCN的传播同步,max_commit_propagation_delay表示SCN同步所允许的最大时间。在该模式下,全局SCN并非完全同步,这在高并发的OLTP系统中,可能会对应用造成一定的影响。
(2)BroadcastonCommitscheme.该模式下,一旦任何一个实例上事务发布commit,都立即同步SCN到全局。
在10gR1下,该参数默认数值为700,即采用LamportScheme模式。而在10gR2下,该参数默认数值为0,采用BroadcastonCommitscheme模式(设置小于700的某一值,都将采用该模式)。采用何种方式,可以从alert.log中获知。该参数值需要每个节点保持一致。
------------------------------------------------------------------------------
Blog:http://blog.csdn.net/tianlesoftware
网上资源:http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1群:62697716(满);DBA2群:62697977(满)
DBA3群:63306533;聊天群:40132017
--加群需要在备注说明SGA的组成部分,否则拒绝申请
如果我们直接使用:createpfilefromspfile命令穿件pfile,那么生成的pfile文件将覆盖原有$ORACLE_HOME/dbs目录下的pfile文件。而在之前的pfile文件里面值保留了一条指向spfile存放位置的记录。这样修改之后,就会造成数据库启动时会因为找不到spfile文件而读取本地的pfile文件,而不是共享设备上的spfile文件。这样对参数管理上就会带来麻烦,也带来其他的隐患。
所以对于RAC,要慎用createpfilefromspfile来创建pfile文件,在创建的时候,尽量指定pfile的生成位置。
先来看一下$ORACLE_HOME/dbs下的pfile文件内容:
[oracle@rac1bin]$cd$ORACLE_HOME/dbs
[oracle@rac1dbs]$ls
ab_+ASM1.dathc_orcl1.datinitdw.orainitorcl1.oraorapworclorapworcl2
hc_+ASM1.datinit+ASM1.orainit.oraorapw+ASM1orapworcl1snapcf_orcl1.f
[oracle@rac1dbs]$moreinitorcl1.ora
SPFILE='+DATA/orcl/spfileorcl.ora'--本地的pfile只有一条记录
[oracle@rac1dbs]$
我们现在看一下spfile文件的内容:
[oracle@rac1bin]$exportORACLE_SID=orcl1
[oracle@rac1bin]$sqlplus/nolog
SQL*Plus:Release10.2.0.1.0-ProductiononThuSep2312:04:242010
Copyright(c)1982,2005,Oracle.Allrightsreserved.
SQL>conn/assysdba;
Connected.
SQL>showparameterspfile
NAMETYPEVALUE
-----------------------------------------------------------------------------
spfilestring+DATA/orcl/spfileorcl.ora--这里记录spfile位置
SQL>showparameter--查看所有参数
NAMETYPEVALUE
-----------------------------------------------------------------------------
O7_DICTIONARY_ACCESSIBILITYbooleanFALSE
active_instance_countinteger
aq_tm_processesinteger0
archive_lag_targetinteger0
asm_diskgroupsstring
asm_diskstringstring
asm_power_limitinteger1
audit_file_deststring/u01/app/oracle/admin/orcl/adump
audit_sys_operationsbooleanFALSE
audit_syslog_levelstring
所有参数比较多,我们把它转成pfile后在查看:
SQL>createpfile='/u01/dave.ora'fromspfile;
Filecreated.
打开dave.ora文件:
[oracle@rac1u01]$moredave.ora
orcl2.__db_cache_size=88080384
orcl1.__db_cache_size=96468992
orcl2.__java_pool_size=4194304
orcl1.__java_pool_size=4194304
orcl2.__large_pool_size=4194304
orcl1.__large_pool_size=4194304
orcl2.__shared_pool_size=79691776
orcl1.__shared_pool_size=71303168
orcl2.__streams_pool_size=0
orcl1.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'
*.cluster_database_instances=2
*.cluster_database=TRUE
*.compatible='10.2.0.1.0'
*.control_files='+DATA/orcl/controlfile/current.280.730181163','+FLASH_RECOVERY_AREA/orcl/controlfile/current.260.730181165'
*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='+FLASH_RECOVERY_AREA'
*.db_recovery_file_dest_size=3670016000
*.dispatchers='(PROTOCOL=TCP)(SERVICE=orclXDB)'
orcl2.instance_number=2
orcl1.instance_number=1
*.job_queue_processes=10
orcl2.log_archive_dest_1='LOCATION=/u02/rac2_arch'
orcl1.log_archive_dest_1='LOCATION=/u02/rac1_arch'
orcl2.log_archive_dest_2='SERVICE=orcl1'
orcl1.log_archive_dest_2='service=orcl2'
*.log_archive_dest_state_2='ENABLE'
*.open_cursors=300
*.pga_aggregate_target=59768832
*.processes=150
*.remote_listener='LISTENERS_ORCL'
*.remote_login_passwordfile='exclusive'
*.sga_target=179306496
orcl1.standby_archive_dest='/u02/rac2_arch'
orcl2.standby_archive_dest='/u02/rac1_arch'
orcl2.thread=2
orcl1.thread=1
*.undo_management='AUTO'
orcl2.undo_tablespace='UNDOTBS2'
orcl1.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/orcl/udump'
从上面的结果,我们发现参数的最前面都有一个标识符:orcl1,orcl2和*。这些符号是用来区分参数的。
如:
*.undo_management='AUTO'--所有节点通用的参数
orcl2.undo_tablespace='UNDOTBS2'--代表orcl2的参数
orcl1.undo_tablespace='UNDOTBS1'--代表orcl1的参数
因为spfile区分实例,所以我们在修改的时候要特别注意指定实例,如果不指定,就会修改所有节点的参数。
如:
altersystemsetsga_target=1024Mscope=spfilesid='orcl1';
altersystemsetsga_target=1024Mscope=spfilesid='*';
注意:参数修改完成后,需要重启才能生效。
RAC与单实例不同的一些参数:
(1)cluster_database
一般情况下,该参数在rac各实例下应该设置为true。在一些特别情况下,比如upgrade等,需要将该参数设置成false。
(2)db_name/db_unique_name/instance_name
各节点db_name需要一致,db_unique_name也需要一致(这与standby是不同的)。而instance_name配置成各个节点的实例名称。
(3)instance_number
该参数表示节点上实例的实例号。
(4)thread
该参数用来标示实例使用的redo线程。线程号与节点号/实例号没有直接关联。
(5)local_listener
该参数用来手工注册监听。为解决ORA-12514错误,可以设置该参数。
(6)remote_listener
该参数用来进行服务器端负载均衡配置。在配置RAC负载均衡的服务端均衡时需要设置该参数。具体可以参考Blog:
OracleRACLoadBalance
(7)cluster_interconnects
该参数用来指定集群中IPC通信的网络。如果集群中有多种网络用于高速互联,需要配置该参数。对于多个IP地址,用冒号将其隔开。对于集群中当前使用的互联地址,可以查询视图gv$cluster_interconnects或着oradebugipc来查看。
(8)max_commit_propagation_delay
该参数用于配置SCN的产生机制。在rac下,SCN的同步有2种模式:
(1)LamportScheme.该模式下,由GES管理SCN的传播同步,max_commit_propagation_delay表示SCN同步所允许的最大时间。在该模式下,全局SCN并非完全同步,这在高并发的OLTP系统中,可能会对应用造成一定的影响。
(2)BroadcastonCommitscheme.该模式下,一旦任何一个实例上事务发布commit,都立即同步SCN到全局。
在10gR1下,该参数默认数值为700,即采用LamportScheme模式。而在10gR2下,该参数默认数值为0,采用BroadcastonCommitscheme模式(设置小于700的某一值,都将采用该模式)。采用何种方式,可以从alert.log中获知。该参数值需要每个节点保持一致。
------------------------------------------------------------------------------
Blog:
网上资源:
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1群:62697716(满);DBA2群:62697977(满)
DBA3群:63306533;聊天群:40132017
--加群需要在备注说明SGA的组成部分,否则拒绝申请
相关文章推荐
- RAC 修改 spfile 参数
- RAC 修改 spfile 参数
- RAC 修改 spfile 参数
- RAC 修改 spfile 参数
- RAC 修改 spfile 参数
- RAC 修改 spfile 参数
- RAC 修改 spfile 参数
- RAC 修改 spfile 参数
- RAC 修改 spfile 参数
- RAC 修改 spfile 参数
- RAC 修改 spfile 参数
- RAC 修改 spfile 参数
- [oracle]初始化参数文件spfile、pfile及修改参数的两种方式
- 在Oracle关闭情况下如何修改spfile的参数
- 参数文件spfile的修改以及数据库的启动关闭
- rac模式下如何处理spfile文件参数故障(没有备份pfile)
- 对Spfile之参数错误修改之后的解决办法(FAQ)
- [Oracle][Standby][PDB]在PDB中修改参数,设置范围为 SPFILE,报 ORA-65099错误
- 11g rac 修改参数文件导致数据库无法启动 解决方案!
- 验证11gR2 RAC中ocr中的spfile信息置空之后的初始化参数读取位置