最近我们公司的数据库服务器的oracle每隔10天左右就当掉一次,初步估计应该是内存参数设置错误,以下是基本资料,期待各位大侠的高见..错误日志:alert.logErrors in file d:\oracle\admin\landdb\udump\landdb_ora_7288.trc:
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:14:39 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_6716.trc:
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:20:20 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_4760.trc:
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:24:18 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_7304.trc:
ORA-04030: 在尝试分配 576248 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:26:47 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_8156.trc:
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:28:16 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_7756.trc:
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:28:18 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_5236.trc:
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足
init.ora文件内容:##############################################################################
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
##############################################################################
###########################################
# MTS
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=landdbXDB)"
###########################################
# Optimizer
###########################################
hash_join_enabled=TRUE
query_rewrite_enabled=FALSE
star_transformation_enabled=FALSE
###########################################
# Job Queues
###########################################
job_queue_processes=10
###########################################
# Instance Identification
###########################################
instance_name=landdb
###########################################
# Miscellaneous
###########################################
aq_tm_processes=1
compatible=9.2.0.0.0
###########################################
# Security and Auditing
###########################################
remote_login_passwordfile=EXCLUSIVE
###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=25165824
sort_area_size=524288
###########################################
# Database Identification
###########################################
db_domain=""
db_name=landdb
###########################################
# File Configuration
###########################################
control_files=("r:\oracle\oradata\landdb\CONTROL01.CTL", "r:\oracle\oradata\landdb\CONTROL02.CTL", "r:\oracle\oradata\landdb\CONTROL03.CTL")
###########################################
# Pools
###########################################
java_pool_size=33554432
large_pool_size=8388608
shared_pool_size=50331648
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_retention=10800
undo_tablespace=UNDOTBS1
###########################################
# Diagnostics and Statistics
###########################################
background_dump_dest=d:\oracle\admin\landdb\bdump
core_dump_dest=d:\oracle\admin\landdb\cdump
timed_statistics=TRUE
user_dump_dest=d:\oracle\admin\landdb\udump
###########################################
# Processes and Sessions
###########################################
processes=150
###########################################
# Redo Log and Recovery
###########################################
fast_start_mttr_target=300
###########################################
# Cache and I/O
###########################################
db_block_size=8192
db_cache_size=25165824
db_file_multiblock_read_count=16
服务器参数:windows2003server(32bit)+oracle9i
8G内存,CPU4个
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:14:39 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_6716.trc:
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:20:20 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_4760.trc:
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:24:18 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_7304.trc:
ORA-04030: 在尝试分配 576248 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:26:47 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_8156.trc:
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:28:16 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_7756.trc:
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足Tue May 08 08:28:18 2007
Errors in file d:\oracle\admin\landdb\udump\landdb_ora_5236.trc:
ORA-04030: 在尝试分配 917536 字节 (joxcx callheap,ioc_allocate ufree) 时进程内存不足
init.ora文件内容:##############################################################################
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
##############################################################################
###########################################
# MTS
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=landdbXDB)"
###########################################
# Optimizer
###########################################
hash_join_enabled=TRUE
query_rewrite_enabled=FALSE
star_transformation_enabled=FALSE
###########################################
# Job Queues
###########################################
job_queue_processes=10
###########################################
# Instance Identification
###########################################
instance_name=landdb
###########################################
# Miscellaneous
###########################################
aq_tm_processes=1
compatible=9.2.0.0.0
###########################################
# Security and Auditing
###########################################
remote_login_passwordfile=EXCLUSIVE
###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=25165824
sort_area_size=524288
###########################################
# Database Identification
###########################################
db_domain=""
db_name=landdb
###########################################
# File Configuration
###########################################
control_files=("r:\oracle\oradata\landdb\CONTROL01.CTL", "r:\oracle\oradata\landdb\CONTROL02.CTL", "r:\oracle\oradata\landdb\CONTROL03.CTL")
###########################################
# Pools
###########################################
java_pool_size=33554432
large_pool_size=8388608
shared_pool_size=50331648
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_retention=10800
undo_tablespace=UNDOTBS1
###########################################
# Diagnostics and Statistics
###########################################
background_dump_dest=d:\oracle\admin\landdb\bdump
core_dump_dest=d:\oracle\admin\landdb\cdump
timed_statistics=TRUE
user_dump_dest=d:\oracle\admin\landdb\udump
###########################################
# Processes and Sessions
###########################################
processes=150
###########################################
# Redo Log and Recovery
###########################################
fast_start_mttr_target=300
###########################################
# Cache and I/O
###########################################
db_block_size=8192
db_cache_size=25165824
db_file_multiblock_read_count=16
服务器参数:windows2003server(32bit)+oracle9i
8G内存,CPU4个
解决方案 »
- 存储过程,求基础教程,最好是视频
- error ORA-12952
- 请问如何编写oracle代理,实现oracle客户端和服务器之间的通信?
- 新手请教一个问题:exp全库导出时为什么导不出角色呢?
- exp和imp在客户端下可以用吗?
- 问一个SQL的语句
- Oracle 8i安装好之后,默认Enterprise Manager 登陆账号和密码是什么?
- 帮忙写个SQL的Update语句
- 哪里有oracle9i教程的下载?????????
- oracle奇怪的排序问题,很奇怪,求解,是ORACLE的BUG还是怎么?
- oracle10g占用资源的太多,cpu占用从几%到几十%飘忽不定
- 请问为什么2003下oracle的setup文件点击无响应?
SELECT server,name,value/1024/1024,s.sid,s.serial#
FROM v$session s, v$sesstat st,v$statname sn
WHERE st.sid = s.sid
AND st.statistic# = sn.statistic#
AND sn.name LIKE 'session pga memory'
AND value > 10 * 1024 * 1024 --only show pga > 10M
ORDER BY value DESC
如果基本上都是默认配置的话,不太可能是配置上的原因,很可能是应用的问题
检查出现问题的时间之前附近,应用在跑什么
8G内存,CPU4个不愧是ORACLE甲骨文,稀奇古怪又让人难以琢磨的东西。
无论是2003还是9i都是成熟常用的。
8G,4CPU这么高的配置,默认参数,居然还会出分配进程内存不足问题。
这应该吗!我们公司早期是IBM NETFINITY5500 M10 CPU P2 XEON 450M *1 , 内存256M*4, 硬盘9G*4 RAID5,MSSQL7.0 ,WINNT4.0 这么低的配置也没报过内存不足这类错误,也从没自己当掉过。
后期28G的数据库,最大单表900万记录,数据处理很慢,但也只是等的时间长,没出过错。日结帐时需要insert那个900万记录的大表,只是将客户端SQL连接参数TIMEOUT调长,就都能处理过去。虽然还能维持使用,后来感觉用了5年的服务器已经够本了,就换了一台新服务器,IBM X255
MP 2.0*2 ,512M*4, 用起来感觉有质的飞跃,当时爽歪了!如今有过了3年多,正准备再换新服务器,4个双核CPU,8G内存,直接爽到顶点。当然非IBM不买,8年多5台IBM服务器从未有1台出问题,除了风扇硬是转坏了1个。在此告诉大家两个秘诀:1、必须买IBM原厂原装件,打死也不要图便宜买OEM件,虽然价格只有原厂件的十分之一,但出问题的几率高1000倍,尤其是不要被中间商骗了,拿OEM件当原厂件卖你,倒是你就哭吧!同样是一条内存OEM的200元、原厂的2000元,那质量能一样吗,动下脑筋就知道了。2、每半年一定要给服务器大清扫,把整个服务器拆开,用吹风机把灰尘吹干净。灰尘是硬件杀手,在干净的机房也会有灰尘,清理灰尘是绝对必须的,提醒一下,做raid5的,硬盘抽出时,一定要记清楚顺序,否则就费了,切记切记!
按楼主的设置看了一下:
SQL>show sgaTotal System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SGA的最大只有135338868,大概130Mb
shared_pool_size 缓存解析完成的sql,如果不够大,一般会出现ora04031错误;
large_pool_size 由于默认设置DEDICATED方式,不是MTS方式,所以主要用于保存并行查询信息或者rman的备份啥的,当前是8Mb,不是特别大,感觉上应该不是错误原因;
Data buffer 缓存dbblock,如果不够大的话,导致频繁去磁盘读取数据,也不大可能产生ora040030错误啊SQL>show parameters pgaNAME TYPE VALUE
------------------------------------ ---------------------- --------------------
----------
pga_aggregate_target big integer 25165824
PGA最大只有25165824,大概24Mb,用于排序啥的,如果内存中PGA排序空间不够的话,会使用临时表空间进行磁盘排序监控一下应用出错之前应用在进行什么操作,看看那些操作消耗了大量的内存,确定问题出现的原因,解决方案就容易出来啊
pga_aggregate_target=25165824
sort_area_size=524288
shared_pool_size=50331648
db_cache_size=25165824
请先检查应用程序,如果应用程序没有问题,请用如下配置尝试:
pga_aggregate_target=268435456
sort_area_size=8388608
shared_pool_size=314572800
db_cache_size=1073741824
shared_pool_size
pga_aggregate_target可能还有类似的参数,在 initXXX.ora 里面还有就是确认下,这个错误只是偶尔出现吧