灌溉梦想,记录脚步
« »
2013年4月18日技术合集

ORA-00445错误一则

数据库在运行中突然出现如下错误,导致服务不可用。
ORA-00445: background process “m000” did not start after 120 seconds
ORA-32701: Possible hangs up to hang ID=0 detected
DIA0 terminating blocker (ospid: 14288486 sid: 4370 ser#: 7549) of hang with ID = 129
requested by master DIA0 process on instance 1
Hang Resolution Reason: Automatic hang resolution was performed to free a
critical database process.
by terminating session sid: 4370 ospid: 14288486
DIA0 successfully terminated session sid:4370 ospid:14288486 with status 31.
ORA-00445: background process “J000” did not start after 120 seconds
ORA-00445: background process “W005” did not start after 120 seconds
ORA-00445: background process “J000” did not start after 120 seconds
ERROR: Unable to normalize symbol name for the following short stack (at offset 311):

初步判断由于相应资源分配不足,导致进程无法启动,进一步分析日志,share_pool内存资源不足造成。

当前数据库为Oracle 11gR2版本,业务为OLAP系统,数据量以TB计算,表即使分区后仍然很大,最终导致问题的是这条SQL语句:

ALTER TABLE ZBA_WWW.WWW_D_PRD_AL_USER_LIST_010 MODIFY DEFAULT ATTRIBUTES FOR
PARTITION PART201304_089 TABLESPACE TBS_ZB_WWW_03 COMPRESS ;

此语句在在线状况下压缩一张分区表,占用大量内存,使得share_pool没有足够的内存给予请求,促使数据库hang起。

通过调整sga大小可初步解决问题。不过问题的原因还是由于对本月正在使用的分区表进行压缩,从而导致了这个分区和用户争抢内存使用造成,这个就不应该了。

日志信息 »

该日志于2013-04-18 15:31由 kevin 发表在技术合集分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

发表回复