oracle 下划线参数,oracle 中带双下划线的参数如(*.__shared_pool_size=)

平台:AIX6.1,数据库版本:11.2.0.3(psu5)在一次单机转RAC过程中,在修改原有参数文件,启动rac库时遇到了如下问题,由此问题引出了本篇的标题所要讲的问题。

平台:AIX6.1,数据库版本:11.2.0.3(psu5)

在一次单机转RAC过程中,在修改原有参数文件,,启动rac库时遇到了如下问题,由此问题引出了本篇的标题所要讲的问题。

1.备份原单实例库参数文件

create pfile='/data01/initegap.ora' from spfile;(在单实例数据库上执行)

pfile文件如下:

--注意:发现参数文件中有两处配置了pga和sga参数,开始以为带双下划线的参数同不带双下划线一样,所以在rac的参数文件中就

只保留了带双下划线部分,也正是这个改动,导致了后面数据库无法启动

2.根据原库参数文件修改后生成rac参数文件

--修改后的rac的参数文件如下

--所有参数值都未作修改,只是添加了rac所需的参数

egap.__db_cache_size=27648851968

egap.__java_pool_size=67108864

egap.__large_pool_size=67108864

egap.__oracle_base='/apps/oracle'#ORACLE_BASE set from environment

egap.__pga_aggregate_target=10334765056

egap.__sga_target=30937186304

egap.__shared_io_pool_size=0

egap.__shared_pool_size=2952790016

egap.__streams_pool_size=0

*.audit_file_dest='/apps/oracle/admin/egap/adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/data01/egap/control01.ctl','/data01/egap/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_file_name_convert='/data01/egapdb','/data01/egap'

*.db_name='egap'

*.diagnostic_dest='/apps/oracle'

*.fal_client='primary'

*.fal_server='standby1','standby2'

*.log_archive_config='DG_CONFIG=(egap,egapdb)'

*.log_archive_dest_1='location=/archlog/egap'

*.log_archive_dest_2='SERVICE=standby1 LGWR ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

DB_UNIQUE_NAME=egapdb'

*.log_archive_format='egap_%t_%s_%r.arch'

*.log_file_name_convert='/data01/egapdb','/data01/egap'

*.open_cursors=300

*.pga_aggregate_target=10307502080

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=30922506240

*.standby_file_management='AUTO'

*.undo_tablespace='UNDOTBS1'

2.根据原库参数文件修改后生成rac参数文件

--修改后的rac的参数文件如下

--所有参数值都未作修改,只是添加了rac所需的参数

egapdb2.__db_cache_size=27648851968

egapdb1.__db_cache_size=27648851968

egapdb2.__java_pool_size=67108864

egapdb1.__java_pool_size=67108864

egapdb2.__large_pool_size=67108864

egapdb1.__large_pool_size=67108864

*.__oracle_base='/apps/oracle'#ORACLE_BASE set from environment

egapdb2.__pga_aggregate_target=10334765056

egapdb1.__pga_aggregate_target=10334765056

egapdb2.__sga_target=30937186304

egapdb1.__sga_target=30937186304

egapdb2.__shared_io_pool_size=0

egapdb1.__shared_io_pool_size=0

egapdb2.__shared_pool_size=2952790016

egapdb1.__shared_pool_size=2952790016

egapdb2.__streams_pool_size=0

egapdb1.__streams_pool_size=0

*.audit_file_dest='/apps/oracle/admin/egapdb/adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/data01/egapdb/control01.ctl','/data01/egapdb/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.DB_FILE_NAME_CONVERT='/data01/egap','/data01/egapdb'

*.db_name='egap'

*.DB_UNIQUE_NAME='egapdb'

*.diagnostic_dest='/apps/oracle'

egapdb1.FAL_CLIENT='standby1'

egapdb2.FAL_CLIENT='standby2'

*.FAL_SERVER='primary'

*.cluster_database=TRUE

*.cluster_database_instances=2

egapdb1.instance_name='egapdb1'

egapdb2.instance_name='egapdb2'

egapdb1.instance_number=1

egapdb2.instance_number=2

egapdb1.thread=1

egapdb2.thread=2

*.undo_management='AUTO'

egapdb1.undo_tablespace='UNDOTBS1'

egapdb2.undo_tablespace='UNDOTBS2'

egapdb1.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.96.3)(PORT=1521))))'

egapdb2.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.96.4)(PORT=1521))))'

*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(egap,egapdb)'

egapdb1.log_archive_dest_1='location=/archlog/egapdb1'

egapdb2.log_archive_dest_1='location=/archlog/egapdb2'

*.log_archive_dest_2='SERVICE=primary LGWR ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

DB_UNIQUE_NAME=egap'

*.log_archive_format='egapdb_%t_%s_%r.arch'

*.LOG_FILE_NAME_CONVERT='/data01/egap','/data01/egapdb'

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.STANDBY_FILE_MANAGEMENT='AUTO'

3.用新的pfile启动数据库(然后进行添加redo,undo,实例等操作)

SQL> startup pfile='/data01/pfile';

ORA-00371: not enough shared pool memory, should be atleast 395251753 bytes

--用修改后的rac参数文件启动时报如下错误,修改时我对参数值进行改动,只是添加了rac所需要的一些参数,按理说是不应该会报参数值过小这类

错误的,因为原来的单实例库用的就是同样的参数。

4.问题发生的原因

后来发现是因为我在修改原参数文件时,去掉了*.pga_aggregate_target=和*.sga_target=

只保留了如下参数

egapdb2.__pga_aggregate_target=10334765056

egapdb1.__pga_aggregate_target=10334765056

egapdb2.__sga_target=30937186304

egapdb1.__sga_target=30937186304

--后来在参数文件中加上*.pga_aggregate_target=和*.sga_target=参数以后能够正常启动

5.带双下划线的参数的意义

这里我们来说一下参数文件中带双下划线的参数的意义(带单下划线的参数为隐含参数),带双下划线的参数在自动内存管理中才会出现(asmm)。如果使用了spfile的话,asmm会在实例shutdown之前将当前实际的内存组件大小(oracle认为最优的,实际上可能不是最优的)保存到spfile中,你用strings命令可以在spfile文件中查看到带双下划线的参数(asmm所涉及到的参数)。这些在spfile保存的组件大小会在下次启动时被沿用,已达到将已实践得出的“最佳值”记住的目的,这样下次就不用逐渐调整了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值