【错误描述】
错误信息如下:
ora-04030:在尝试分配1049100字节(kxs-heap-w,……)时进程内存不足,……。
【特别提示】
使用我的方法,注意问题描述、基础环境等情况一致性,才可能解决你的问题。
【问题解决】
根据信息,显然是内存不足的问题,但原因可能有多种:oracle获准使用的内存不足;oracle向操作系统没有申请到需要的内存;……。
一、查看相关信息
打开sqlplus,执行以下脚本。
conn / as sysdba
banner
--------------------------------------------------------------------------------
oracle database 11g enterprise edition release 11.2.0.1.0 - production
pl/sql release 11.2.0.1.0 - production
core 11.2.0.1.0 production
tns for 32-bit windows: version 11.2.0.1.0 - production
nlsrtl version 11.2.0.1.0 - production
sql>
sql> col name format a20
sql> col value format a20
sql> col value_mb format 999999
sql> select name,value,value/1024/1024 value_mb from v$parameter where name in ('sga_max_size','sga_target','pga_aggrega
te_target','memory_target');
name value value_mb
-------------------- -------------------- --------
sga_max_size 943718400 900
sga_target 0 0
memory_target 943718400 900
pga_aggregate_target 0 0
sql>
sql> select sum(value)/1024/1024 pga_size_mb from v$sesstat s,v$statname n where n.statistic#=s.statistic# and name='session pga memory';
pga_size_mb
-----------
22.2314224
看到sga_max_size的值为900mb,小于提示信息中的数值,应为oracle内存设置的问题,需要修改oracle的参数。
二、修改参数
执行以下脚本。执行完后,可以使用上面的脚本检查一下参数值。其中的内存值,需跟进实际情况进行修改。
sql> alter system set sga_max_size=1400m scope=spfile;
系统已更改。
sql> alter system set memory_target=1400m scope=spfile;
系统已更改。
sql>
sql> shutdown immediate
数据库已经关闭。
已经卸载数据库。
oracle 例程已经关闭。
sql>
sql> startup
oracle 例程已经启动。
total system global area 1464717312 bytes
fixed size 1377108 bytes
variable size 771755180 bytes
database buffers 679477248 bytes
redo buffers 12107776 bytes
数据库装载完毕。
数据库已经打开。
三、特别情况
(一)如果修改时,只修改了sga_max_size参数,没有修改memory_target,当memory_target
create pfile='c:\1.txt' from spfile;
(二)由spfile创建pfile。也就是c:\1.txt,打开编辑,修改memory_target的值大于或等于sga_max_size,保存。再由pfile创建spfile,执行下面语句。oracle应该就能正常启动了。
create spfile from pfile='c:\1.txt';
startup
相关推荐
如果内存块仍然不够满足需求,那么就会出现ora- 04031错误。这些错误同样可能发生在asm的实例中。默认的共享池的大小基本能够满足大部分的环境,但是如果遇到ora-04031错误的时候可能就需要增大。 当遇到这个错误的...
blog_【故障处理】oracle_lhr_ora-19809错误处理.pdfblog_【故障处理】oracle_lhr_ora-19809错误处理.pdf
在运行查询select * from v$session 会出现ora-29275:部分多字节字符的错误,这是什么原因开始我不得其解,网上也没有介绍什么好办法。本文给出答案。
归档日期满了报 ora-00257 archiver error. connect internal only, until freed 错误的处理方法
oracle数据库发生ora-04031错误原因浅析及处理.pdf
oracle9i exp遇见exp-00008 ora-00942 exp-00024错误的解决方法,详细描述了问题处理的过程和步骤,共享在此,希望能有所帮助
max # extents (string) reached in table string.string的错误提示,分析及解决办法如下
问题处理过程
ora-00001: 违反唯一约束条件 (.) ora-00017: 请求会话以设置跟踪事件 ora-00018: 超出最大会话数 ora-00019: 超出最大会话许可数 ora-00020: 超出最大进程数 () ora-00021: 会话附属于其它某些进程;无法转换会话 ...
告警日志里这两天一直显示这个错误: ora-00600:internalerrorcode,arguments:[kcblasm_1],[103],[],[],[],[],[],[] tueaug1209:20:17cst2014 errorsinfile/u01/app/oracle/admin/orcl/udump/orcl_ora_29974.trc: ...
闪回区爆满问题也是经常会遇到的问题,最关键的是闪回设置大小以及归档被默认存放在了闪回目录,恰巧今天又遇到了这个问题,就记录下处理步骤,仅供遇到这类问题的人参考。 一、错误现象描述 1)应用端错误信息 ...
ora-01034: oracle not available ora-27101: shared memory realm does not exist 进程 id: 0 会话 id: 0 序列号: 0
在环境维护过程中,我们有时会遇到系统报后台包失效ora04068的错误,但是在后台查询的时候发现它有没有问题,但想解决这类问题,你就要重新编译 此包体以及关联包体,本片分享文就是讲述这个事情的...
以下内容均以错误码,错误名,错误原因,修改建议形式介绍。 ora-00903 无效的表名 试图在不存在的表中创建的索引。设置正确的表名。 ora-00904 无效的标识符 试图在不存在的列中创建的索引。检查表中的列名,...
–在用pl/sql导入表数据的时候报错 ora-02298: 无法验证 (pnet.post_clob_fk) – 未找到父项关键字 --发现是启用外键约束时报的错 alter table dm_volrev enable constraint vr_volid_fk; /*原因分析: 你要插入...
oracle-tts迁移后ora3113错误处理,,发现该库近期实施了oracle数据库迁移,由原有9i环境迁移至了新ibm小型机的11g环境。问题发生在迁移完成之后。
其实给的是一种解决问题的思路,也不一定这个方法就100%能解决您的问题
oracle错误码一览表,这里仅提供查询,供分享参考。
ora-00001:违反唯一约束条件(主键错误) ora-00028:无法连接数据库进程 ora-00900:无效sql语句 ora-00904:字段名写错或是建表时最后一个字段有逗号 ora-00907:缺少右括号 ora-00911:无效字符 ora-00917:...