Oracle错误,ORA-04030,ORA-07445,今天早上发现数据库无法连不上了,查看服务器发现数据库关闭了。查看日志,发现凌晨3:09产生错误关闭的。ORA-04030: 在尝试分配 64544 字节 (sort subheap,sort key) 时进程内存不足,ORA-07445: exception encountered: core dump
今天早上发现数据库无法连不上了,查看服务器发现数据库关闭了。
查看日志,发现凌晨3:09产生错误关闭的。
----alter.log
Incident details in: D:\ORACLE\diag\rdbms\eas\eas\incident\incdir_168803\eas_m000_9824_i168803.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Fri Apr 14 03:10:32 2023
Process m000 died, see its trace file
...
Fri Apr 14 09:00:06 2023
Adjusting the default value of parameter parallel_max_servers
+++
查看trc文件,发现报错:
--先报错误
2023-04-14 03:09:47.682
ORA-04030: 在尝试分配 64544 字节 (sort subheap,sort key) 时进程内存不足
Incident 165060 created, dump file: D:\ORACLE\diag\rdbms\eas\eas\incident\incdir_165060\eas_ora_1512_i165060.trc
ORA-04030: 在尝试分配 824504 字节 (pga heap,kco buffer) 时进程内存不足
ORA-04030: 在尝试分配 64544 字节 (sort subheap,sort key) 时进程内存不足
--后报错误
2023-04-14 03:10:31.329
Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x8] [PC:0x3435F4E, lmmhpfree()+94]
DDE: Flood control is not active
Incident 168803 created, dump file: D:\ORACLE\diag\rdbms\eas\eas\incident\incdir_168803\eas_m000_9824_i168803.trc
ORA-07445: exception encountered: core dump [lmmhpfree()+94] [ACCESS_VIOLATION] [ADDR:0x8] [PC:0x3435F4E] [UNABLE_TO_READ] []
环境:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Windows NT Version V6.2
CPU : 32 - type 8664, 32 Physical Cores
Process Affinity : 0x0x0000000000000000
Memory (Avail/Total): Ph:21955M/49151M, Ph+PgF:3217M/196594M
VM name : VMWare Version (6)
Instance name: xxx
Redo thread mounted by this instance: 1
Oracle process number: 32
机器内存:48G,
+++
解决办法:
调整自动内存改为自动共享内存方式,并修改两个隐含参数。
(参见:oracle几种内存管理方式:手工内存管理,自动共享内存管理,自动内存管理,和参数sga_max_size,sga_target和memory_max_target,memory_target的关系)
--删除自动内存管理设置
alter system set memory_target=0 scope=spfile;
--调整最大SGA内存
alter system set sga_max_size =32G scope=spfile;
--调整SGA,PGA
alter system set sga_target=18G scope=spfile;
alter system set pga_aggregate_target =6G scope=spfile;
--调整两个隐含参数
alter system set "_use_realfree_heap"=TRUE scope=spfile;
alter system set "_realfree_heap_pagesize_hint"=200000 scope=spfile;
--原值65536
修改后,查看日志,没有错误了。
...
查找资料:
详细讲解ORA-04030的产生原因及解决方法
https://blog.csdn.net/ky000/article/details/6662845
...
https://www.cnblogs.com/summer520/p/3204774.html
项目中遇到的ORA error 及解决办法 ---ora-07445
https://www.cnblogs.com/jerryxing/archive/2012/08/02/2619300.html
(情况不太一样)
...
oracle ORA-07445: exception encountered: core dump [UNABLE_TO_READ] 故障处理
https://www.cnblogs.com/hmwh/p/12168390.html
..
ORA-04030 私有内存超出
https://cloud.tencent.com/developer/article/1863280
Tag: Oracle错误 ORA-04030 ORA-07445