ORA-00824: cannot set sga_target due to existing 问题解决


今天下班到家,接到一同事电话,说是用Oracle9i的客户端连接Oracle10g后,修改某些参数后,导致Oracle10无法正常启动,小机重启了好几次都不行。

远程连接之后,用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>

瞧!和上次的方法比起来是不是很简便,完全在命令行下就可以完成。

学习就是这样,同样一个问题,要不断掌握更简便的方法,才是进步!

但是在具体的解决过程中,当我用shutdown immediate来关闭数据库时,系统突然报以下错误:ORA-03113: end-of-file on communication channel

以前没有遇到过,在网上搜了搜,造成这个错误的原因有很多,大部分是网络连接不好造成的,结果我关掉现在的SSH窗口,重新建立一个SSH连接,问题解决。

相关内容

    暂无相关文章