ORA-00821: Specified value of sga_target 3072M is too small, needs to be at least 12896M

在测试PlateSpine克隆的数据库服务器时,由于资源有限,克隆过来的数据库服务器只给了9G的内存,结果在测试时,老是会出现OOMkiller导致宕机,即out of memory killer,是linux下面当内存耗尽时的的一种处理机制。当内存较少时,OOM会遍历整个进程链表,然后根据进程的内存使用情况以及它的oom score值最终找到得分较高的进程,然后发送kill信号将其杀掉。 于是调整了一下sga_target和sga_max_size这两个参数,结果重启的时候悲剧了:

[[email protected] ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.5.0 - Production on Thu Dec 15 09:28:11 2016

 

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

 

Connected to an idle instance.

 

SQL> startup

ORA-00821: Specified value of sga_target 3072M is too small, needs to be at least 12896M

SQL> startup nomount

ORA-00093: _shared_pool_reserved_min_alloc must be between 4000 and 0

SQL>

出现这个这个错误,突然想起来这个服务器设置过shared_pool_size参数,于是生成pfile,检查initGSP.ora,如下所示,

SQL> create pfile=‘/u01/app/oracle/product/10.2.0/db_1/dbs/initGSP.ora‘ from spfile;

File created.

手工将.shared_pool_size设置为0, 然后启动数据库实例,问题解决。如下所示:

 
SQL> startup pfile=‘/u01/app/oracle/product/10.2.0/db_1/dbs/initGSP.ora‘

ORACLE instance started.

 

Total System Global Area 3221225472 bytes

Fixed Size                  2099752 bytes

Variable Size             637535704 bytes

Database Buffers         2533359616 bytes

Redo Buffers               48230400 bytes

Database mounted.

Database opened.

SQL> exit

时间: 2024-10-04 16:05:21

ORA-00821: Specified value of sga_target 3072M is too small, needs to be at least 12896M的相关文章

ORACLE数据库修改sga_max_size和sga_target后重启报ORA-00821错

故障背景: 为服务器进行操作系统重启,因硬件问题,服务器重启后128GB内存丢失一半,导致应用进程处理数据缓慢.Oracle软件版本为10.2.0.5.特别之处在于,数据库数据文件使用共享卷组裸设备,spfile是共享卷组上裸设备. 紧急决定,将此服务器上历史数据库SGA内存配置减少一般. 突发问题: 修改sga_max_size和sga_target后,重启数据库实例,报错提示ORA-00821. 应急处置: 在shutdown状态下,由spfile生产pfile.编辑pfile文件,调小sg

CENTOS 6.4 安装oracle 10g,手工建库及升级到10.2.0.5

一. 数据库软件安装 参照官方手册 1.安装rpm包 注这里的yum直接用163的yum yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio li

同时丢失参数文件、控制文件及redo log file的不完全恢复(有数据文件的热备和归档)

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/30839817 ##########恢复前的准备工作 1.做个热备 select 'alter tablespace '||tablespace_name|| ' begin backup;' ||chr(10)|| 'host cp '||file_name||' /backup' ||chr(10)|| 'alter tablespace '||tablespace_name|| '

oracle初始参数设置错误导致数据库无法启动报ORA-00821的解决方案

今天为了修改数据库配置,将sga_max_size设置为了20G,但是sga_target没改,仍然为10G 结果改完后重启数据库就启动不了了,报ORA-00821错误 ORA-00821: Specified value of sga_target *** is too small, needs to be at least *** 而直接alter system set sga_target=20800M是不行的,因为数据库已经启动不了了,根本没法直接修改数据库参数,所以只能手动修改spfi

[20190409]pre_page_sga=true与连接缓慢的问题.txt

--//曾经遇到11g下设置pre_page_sga=true启动缓慢的问题(没有使用hugepages).--//链接:http://blog.itpub.net/267265/viewspace-2295412/--//实际上这样系统也会遇到连接缓慢的情况,通过测试说明问题. 1.建立pfile:$ cat initxxxx.oradb_name=xxxxinstance_name=xxxxsga_target=20G#sga_target=0sga_max_size=20Gpre_page

Oracle 用脚本安装第二个数据库

安装第二个数据库: 登录oracle用户进入家目录,添加配置环境变量: vi .bash_profier ORACLE_SID=prod2 临时环境变量: $export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 $export ORACLE_SID=prod2 创建第二个数据库文件目录: $mkdir -p /u01/app/oracle/oradata/prod2 创建sys用户密码文件: $cd /u01/app/oracle/prod

ORACLE无法调整SGA_TARGET值的案例记录

在一数据库版本为(标准版)Oracle Database 10g Release 10.2.0.4.0 - 64bit Production 的服务器上调整 sga_target时,遇到命令执行了非常久都没有执行完成的异常情况,觉得非常诧异.不解,因为一般调整sga_targt命令非常快速,检查了告警日志,并没有任何异常错误,等了好几分钟都没有执行完成,于是执行了CTRL+C命令结束了SQL命令,具体过程如下: $ sqlplus / as sysdba   SQL*Plus: Release

ora 00600 [kcratr_nab_less_than_odr] [4194]错误

业务场景:公司电缆被挖断,突然断电导致的宕机. [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Mon Apr 17 11:09:59 2017 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release

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

今天Linux服务器机子重启了下,Oracle启动不起来,提示:解决ORA-00824: cannot set sga_target due to existing 看了很多解决方法,发现下面这个特别好,特别简单 转:http://blog.chinaunix.net/uid-22448653-id-388649.html 按照这种思路: 1.我们完全可以先用pfile的配置参数启动数据库实例 2.通过pfile重建spfile文件(create spfile from pfile) 3.关闭数