问题描述
又一个ORA-4030引起的错误。
数据库版本10.2.0.3 for Windows 64环境。错误信息为:
Tue Mar 13 20:51:28 中国标准时间 2012 Errors IN file d:\oracle\admin\orcl\udump\orcl_ora_6136.trc: ORA-07445: 出现异常错误: 核心转储 [ACCESS_VIOLATION] [_kgscReleaseCursor+174] [PC:0x423AA92] [ADDR:0xC] [UNABLE_TO_READ] [] ORA-04030: 在尝试分配 244 字节 (kxs-heap-w,kntx.1) 时进程内存不足 Tue Mar 13 20:51:32 中国标准时间 2012 Errors IN file d:\oracle\admin\orcl\udump\orcl_ora_6136.trc: ORA-04030: 在尝试分配 82444 字节 (pga heap,control file i/o buffer) 时进程内存不足 ORA-07445: 出现异常错误: 核心转储 [ACCESS_VIOLATION] [_kgscReleaseCursor+174] [PC:0x423AA92] [ADDR:0xC] [UNABLE_TO_READ] [] ORA-04030: 在尝试分配 244 字节 (kxs-heap-w,kntx.1) 时进程内存不足
专家解答
这个ORA-7445错误非常罕见,在METALINK上都找不到任何信息,不过问题并不难判断,显然这个ORA-7445[_kgscReleaseCursor]错误是由于PGA内存不足引起的,根据错误信息Oracle在尝试分配PGA内存时由于PGA_AGGREGATE_TARGET参数设置太小导致内存分配报错,对于7445错误而言,错误发生在释放游标的函数上。
当前的PGA_AGGREGATE_TARGET只设置了300M,将其扩大,并重启数据库后,问题消失。值得注意的是,这个参数是可以动态修改的,但是动态调整后,ORA-4030和ORA-7445错误仍然出现,显然这个参数针对新创建的进程有效,而现有存在的会话仍然受修改之前的参数的限制。
最后修改时间:2019-04-14 11:05:46
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。