SGA_MAX_SIZE参数值小于MEMORY_TARGET参数值错误解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SGA_MAX_SIZE参数值小于MEMORY_TARGET参数值错误解决相关的知识,希望对你有一定的参考价值。

C:\windows\system32>net start oracleserviceorcl
OracleServiceORCL 服务正在启动 ......
OracleServiceORCL 服务已经启动成功。


C:\windows\system32>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 6月 23 15:08:47 2010

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> show sga

Total System Global Area  535662592 bytes
Fixed Size                  1375792 bytes
Variable Size             260047312 bytes
Database Buffers          268435456 bytes
Redo Buffers                5804032 bytes
SQL> alter session set sga_max_size=761647104 scope=spfile;
alter session set sga_max_size=761647104 scope=spfile
                  *
第 1 行出现错误:
ORA-02095: 无法修改指定的初始化参数


SQL> alter system set sga_max_size=761647104 scope=spfile;

系统已更改。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 763363328 cannot be set to more than MEMORY_TARGET 750780416.
SQL> startup nomount
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 763363328 cannot be set to more than MEMORY_TARGET 750780416.
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开

C:\windows\system32>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 6月 23 15:27:53 2010

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

已连接到空闲例程。

SQL> create pfile ‘d:\pfile.txt‘ from spfile;
create pfile ‘d:\pfile.txt‘ from spfile
             *
第 1 行出现错误:
ORA-00923: FROM keyword not found where expected


SQL> create pfile=‘d:\pfile.txt‘ from spfile;

文件已创建。

SQL> exit
已断开连接

C:\windows\system32>notepad d:\pfile.txt

C:\windows\system32>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 6月 23 15:29:33 2010

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

已连接到空闲例程。

SQL> create spfile from pfile=‘d:\pfile.txt‘;

文件已创建。

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  761647104 bytes
Fixed Size                  1377304 bytes
Variable Size             486542312 bytes
Database Buffers          268435456 bytes
Redo Buffers                5292032 bytes
数据库装载完毕。
数据库已经打开。
SQL>

以上是关于SGA_MAX_SIZE参数值小于MEMORY_TARGET参数值错误解决的主要内容,如果未能解决你的问题,请参考以下文章

深入解析Oracle 10g中SGA_MAX_SIZE和SGA_TARGET参数的区别和作用

Oracle 启动失败,错误 “SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.”

Oracle 启动失败,错误 “SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.”

Oracle 启动失败,错误 “SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.”

Oracle分配内存的基本单位:Granule(粒度)

SGA_MAX_SIZE设置过大,超过MEMORY_TARGET值,数据库无法启动,导致ora-00844和ora-00851错误