问oracle进程内存占用一直增加达到G左右的时候就会连接失败监听进程死掉或者CPU达到%如何解决?
Peak Wong
Oracle性能调优一直是一个很有意思的命题增强硬件配置是一种方法但我们平时遇到的最多的问题是如何在没办法增强硬件配置的情况下将数据库性能优化这里给出一个思维流程希望对各位有益
PATCH是否都打了ORACLE系统内存参数是否太大超出OS的MEMORY
查查是不是程序没有关闭连接导致连接数不断上升引起的你是什么操作系统?
服务器都作了什么设置呢?比如sga的分配是什么情况呢?
要进行调优及参数设置
启动Enterprise Management Console以SYS/**** as SYSDBA身份进入系统
ORACLEi调优只涉及如下几个参数
a) processes = ;
b) open_links = ;
c)open_cursors = ;
d)sessions=;
e) parallel_automatic_tuning=true
f) undo_retention=
g) undo_management=AUTO
请确保在SPFILE中保存在Oraclei缺省的启动参数是spfile不要用pfile文件启动数据库
物理内存大于G以上的通用设置:
启动Enterprise Management Console以SYS/**** as SYSDBA身份进入系统
配置SGA和PGA大小方法如下
物理内存大于G以上的通用设置
中文名 参数名 参数值 设置方法
SGA的最大大小 Sga_max_size M 例程> 配置> 内存项卡
日志缓沖区 Log_buffer 例程> 配置> 一般信息选项卡> 所有初始化参数
大型池 Large_pool_size M 例程> 配置> 内存项卡
Java池 Java_pool_size M 例程> 配置> 一般信息选项卡> 所有初始化参数
共享池 Shared_pool_size M 例程> 配置> 内存项卡
数据缓沖区高速缓存 Db_cache_size M 例程> 配置> 内存项卡
Keep池 Db_keep_cache_size M 例程> 配置> 一般信息选项卡> 所有初始化参数
Pga自动管理 workarea_size_policy AUTO 例程> 配置> 一般信息选项卡> 所有初始化参数
总计pga目标 pga_aggregate_target M 例程> 配置> 内存项卡
说明:
此内存设置不包含在数据库服务器上的其它应用程序的物理内存的大小如果有其它的应用程序可以参照下面的计算: sga_max_size+ pga_aggregate_target+应用程序物理内存+OS物理内存 <= 系统物理内存*%如果服务器上只有Oracle服务器在G以上物理内存的服务器上Oracle内存参数都可以参照上面的设置如果服务器上有其它的应用而服务器总的物理内存大于请自己计算后再选择的方案
sga_max_size+ pga_aggregate_target <=G在bit操作系统上有这个限制
Log_buffer的大小为M但是在设置的时候必须输入换算后的 其他的参数支持M的输入