暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Windows环境下的ORA-7445: [ACCESS_VIOLATION]和ORA-4030错误

老杨 2019-04-18
473

问题描述

客户Windows环境下32位的Oracle 10.2.0.3,在告警日志中发现多次ORA-7445和ORA-4030错误信息。
详细信息为:

Mon Aug 01 15:06:06 2011
Errors IN file e:\oradata\acscnprd\trc\usr\acscnprd_ora_3356.trc:
ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [unable_to_trans_pc] [PC:0x605033BB] [ADDR:0x4] [UNABLE_TO_WRITE] []
Mon Aug 01 15:06:06 2011
Errors IN file e:\oradata\acscnprd\trc\usr\acscnprd_ora_3356.trc:
ORA-04030: OUT OF process memory WHEN trying TO allocate 753120 bytes (pga heap,kco buffer)
ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [unable_to_trans_pc] [PC:0x605033BB] [ADDR:0x4] [UNABLE_TO_WRITE] []


专家解答

仅从数据库的配置和错误信息分析,导致问题的原因多半是内存不足所致。这时一个32位的数据库,因此SGA分配一般而言不能超过1.7G,而当前数据库还没有配置到极限值,SGA总共配置了1.2G左右,而PGA只配置了400M左右,而数据库的连接数则超过了200。根据这些不难判断,Oracle的内存配置偏低。
而查询metalink,发现与当前问题最为接近的是ID 763705.1,问题影响的版本同样是10.2.0.3,同样包括ORA-4030和ORA-7445 [ACCESS_VIOLATION] [unable_to_trans_pc] [PC:XXXXXXX] [ADDR:XXX] [UNABLE_TO_WRITE]错误,唯一的区别在于,metalink上的这个问题发生在64位Windows环境中Oracle,而当前的Windows环境是32位。不过这篇文章中描述问题出现的原因同样和内存不足有关,那么很可能这个错误在32位环境中同样会出现。
接近这个问题的方法就是根据主机可用内存和32位系统的限制,来提高SGA和PGA的内存分配,保证Oracle日常操作有足够的内存可以使用。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论