求助:10g RAC 由于修改了spfile,导致一个例程,启动不起来?
服务器描述: AIX ,10g RAC 双机,存储。
数据库描述: 数据库名orac, ;双例程 orac1,orac2;双例程的初始化参数文件都用同一个在存储上的 '+ORAC/orac/spfileorac.ora' 。
问题描述:前天要调整数据库参数,我就在orac2这台机器上,用以下命令修改了数据库参数
system用户下:
ALTER SYSTEM SET db_block_buffers= 10240 scope=spfile;
ALTER SYSTEM SET sort_area_size=20971520 scope=spfile;
ALTER SYSTEM SET java_pool_size=2097152 scope=spfile;
ALTER SYSTEM SET timed_statistics=false scope=spfile;
数据库重启后,orac1的例程启动起来了,而orac2的例程没起来。用crs_stat -t 查看如下
Name Type Target State Host
--------------------------------------------------------
ora.orac.db application ONLINE ONLINE orac1
ora....c1.inst application ONLINE ONLINE orac1
ora....c2.inst application ONLINE OFFLINE
ora....SM1.asm application ONLINE ONLINE orac1
ora....C1.lsnr application ONLINE ONLINE orac1
ora.orac1.gsd application ONLINE ONLINE orac1
ora.orac1.ons application ONLINE ONLINE orac1
ora.orac1.vip application ONLINE ONLINE orac1
ora....SM2.asm application ONLINE ONLINE orac2
ora....C2.lsnr application ONLINE ONLINE orac2
ora.orac2.gsd application ONLINE ONLINE orac2
ora.orac2.ons application ONLINE ONLINE orac2
ora.orac2.vip application ONLINE ONLINE orac2
我自己在orac2机器上用sqlplus /nolog 以sys as sysdba连接上后,单独startup例程orac2,结果显示
SQL> startup
ORA-00381: cannot use both new and old parameters for buffer cache size specification 。
我发现修改的参数db_block_buffers,在10g里和db_cache_size系列参数有旧新参数冲突,基本被10g废弃了,但却遗留在spfile中,我想将 存储上的 '+ORAC/orac/spfileorac.ora'这个文件中的db_cache_size注释或者删除,怎么操作呢?
orac2上不能操作create,我就在orac1机器上,执行的create pfile='/opt/init2.ora' from spfile; 修改删除db_block_buffers后,再create spfile='+ORAC/orac/spfileorac.ora' from pfile='/opt/init2.ora' ,提示我的错误是:
ERROR at line 1:
ORA-32002: cannot create SPFILE already being used by the instance
那么,我现在应该怎么办?才能修改存储上的spfile成功呢?请高手指点,公司的数据库,比较急
-------------------------------------------------------------------------------
可以在orac1上,把新加的那个几个参数reset了就OK了,注意sid应当选择orac2
alter system reset db_block_buffers scope=spfile sid='orac2';
alter system reset sort_area_size scope=spfile sid='orac2';
alter system reset java_pool_size scope=spfile sid='orac2';
alter system reset timed_statistics scope=spfile sid='orac2';
如果要加这些参数,记住把sid带上,使用*代表所有的节点,例如:
alter system set timed_statistics=false scope=spfile sid='*';
另外,在oracle10g中,db_block_buffers已经废弃了;
如果设置了sga_target,那么java_pool_size最好不要设置,让oracle自己管理最好不过了;
如果设置了pga_target,那么sort_area_size参数会被忽略,设置了也没用
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13165828/viewspace-606988/
,如需转载,请注明出处,否则将追究法律责任。