Oracle 11G 调整内存启动后 报ORA-00844和ORA-00851的解决办法

当Oracle数据库内存参数调整后,启动时遇到ORA-00844和ORA-00851错误。问题源于memory_target值小于sga_max_size。解决方案包括使用pfile启动,创建新spfile,调整memory_target值,然后重启数据库以应用新的内存配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库服务器内存由16G增加为64G,为充分利用内存资源,对Oracle内存参数做了如下调整:

SQL>alter system set sga_max_size=40960M scope=spfile;
SQL>alter system set sga_target=40960M scope=spfile;
SQL>alter system set pga_aggregate_target=10240M scope=spfile;

在重启数据库时出现如下报错:

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 42949672960 cannot be set to more than MEMORY_TARGET 6979321856.

该问题是由于memory_target小于sga_max_size导致的,通常memory_target值需为sga+pga内存的和,因此需将memory_target值调大。

先备用的pfile启动Oracle,重新创建spfile,并重启数据库。

C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on 星期日 11月 11 17:22:34 2018

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

已连接到空闲例程。

SQL> startup pfile=‘E:\app\admin\orcl\pfile\in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值