【分享】Oracle数据库SGA大小设置太小导致EAS系统慢
金蝶云社区-yangyang0283
yangyang0283
0人赞赏了该文章 1218次浏览 未经作者许可,禁止转载编辑于2014年06月06日 11:27:18

问题描述:
Oracle数据库SGA大小设置太小(数据库服务器120G物理内存,分配给ORACLE SGA大小为1.5G),导致EAS系统慢
(当前问题出现的环境:AIX系统+ ORACLE 10G)

解决方案原因分析:
1.经topas查看系统全局情况,发现计算内存%comp与非计算内存%Nocomp的已使用比率完全失调,两个使用的比率相反则为正常。ORALCE使用的是计算内存,而不是非计算内存,如果计算内存设置的太小的话,会从磁盘中读入大量数据,读取速度较慢。


2. 经查看目前配给Oracle数据库SGA的大小为1.5G,占数据库物理内存120G的1.25%,远远少于推荐的分配比率65%。以下是当前分配给Oralce数据库SGA与PGA大小的截图:


解决方法:
1. 参数备份(这一步一定要做)
2.调整SGA的大小由之前的1.5G调为80G。
3.调整db_cache最小值为30G。
4.调整shared_pool最小值为3G。

调整步骤如下所示:
停止EAS系统,进入sqlplus调整。
#su - oracle
$sqlplus / as sysdba
SQL> create pfile='/home/oracle/pfile20101207.ora' from spfile; --参数备份。
SQL> alter system set sga_max_size=80G scope=spfile;

--重启数据库。
SQL> shutdown immediate
SQL> startup

--调整其他参数:
SQL> alter system set sga_target=80G;
SQL> alter system set db_cache_size=30G;
SQL> alter system set shared_pool_size=3G;
至此调整完毕,启动EAS即可。