调整SGA_MAX_SIZE无法启动实例的问题的解决

用oracle用户在sqlplus下面startup时,系统提示如下:
 
ORA-00824: cannot set sga_target due to existing internal settings, see alert log for more information
 
    看来是sga_target这个参数设置的有问题。在网上查了查sga_target参数的信息(具体可见我的另外一篇转载的文章:ORACLE10--SGA_MAX_SIZE与SGA_TARGET),了解到它是oracle10里新的内存参数,用于动态调整SGA内存的各组成部分。它的内容同样是存储在spfile中。
 
    在此之前,在另一片文章ORACLE9i——优化SGA最大值超过1.7G后导致实例无法启动 中,通过pfile和spfile之间的关系解决了因调整SGA_MAX_SIZE无法启动实例的问题,那么利用这种关系同样可以解决今天sga_target的问题。
而且,经过实践我发现,上次使用的方法太过于繁琐,今天通过实践找到一个简便方法。
    但是思路都是一样的:想办法把sga_target的值修改到正常阀值内,然后再启动数据库实例
按照这种思路:
1、我们完全可以先用pfile的配置参数启动数据库实例
2、通过pfile重建spfile文件(create spfile from pfile)
3、关闭数据库实例
4、正常启动数据库实例
 
具体的操作如下:
[oracle@redhat pfile]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Oct 20 00:20:19 2009
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup pfile='/home/oracle/admin/zgz/pfile/init.ora.82220096537'
--“通过pfile文件启动oracle实例”
ORACLE instance started.
Total System Global Area  285212672 bytes
Fixed Size      1218968 bytes
Variable Size     88082024 bytes
Database Buffers   188743680 bytes
Redo Buffers      7168000 bytes
Database mounted.
Database opened.
SQL> create spfile from pfile='/home/oracle/admin/zgz/pfile/init.ora.82220096537';--“通过pfile重建spfile文件”
File created.
SQL> shutdown immediate  --"关闭数据库实例"
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup  --"通过spfile文件正常启动oracle实例"
ORACLE instance started.
Total System Global Area  285212672 bytes
Fixed Size      1218968 bytes
Variable Size     88082024 bytes
Database Buffers   188743680 bytes
Redo Buffers      7168000 bytes
Database mounted.
Database opened.
SQL> 
 

非原创

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值