问题描述
数据库在22点系统scheduler-SQL Tuning调用时偶尔会触发,告警“不能分配内存”,查看trace,当前进程的内存使用率在3-4G之间。
Begin automatic SQL Tuning Advisor run for special tuning task "SYS_AUTO_SQL_TUNING_TASK" Thu Mar 08 22:04:21 2018 Errors in file /home/u01/app/oracle/diag/rdbms///trace/_j002_46800.trc (incident=72524): ORA-04030: out of process memory when trying to allocate 432 bytes (kxs-heap-c,kprbalo temp memory) Incident details in: /home/u01/app/oracle/diag/rdbms///incident/incdir_72524/_j002_46800_i72524.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Errors in file /home/u01/app/oracle/diag/rdbms///trace/_j002_46800.trc (incident=72525): ORA-04030: out of process memory when trying to allocate 169040 bytes (pga heap,kgh stack) ORA-04030: out of process memory when trying to allocate 432 bytes (kxs-heap-c,kprbalo temp memory) Incident details in: /home/u01/app/oracle/diag/rdbms///incident/incdir_72525/_j002_46800_i72525.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Thu Mar 08 22:04:28 2018 Dumping diagnostic data in directory=[cdmp_20180308220428], requested by (instance=2, osid=46800 (J002)), summary=[incident=72525]. Errors in file /home/u01/app/oracle/diag/rdbms///incident/incdir_72524/_j002_46800_i72524.trc: ORA-04030: out of process memory when trying to allocate 169040 bytes (pga heap,kgh stack) ORA-04030: out of process memory when trying to allocate 432 bytes (kxs-heap-c,kprbalo temp memory) Errors in file /home/u01/app/oracle/diag/rdbms///trace/_j002_46800.trc (incident=72526):
专家解答
1、job使用大量内存,物理内存基本耗尽,导致分配失败
2、相关任务的自动SQL优化,建议可以关闭:
BEGIN
dbms_auto_task_admin.disable(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
/
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。