oracle数据库的SGA和PGA,及分配指导
1.如何估算PGA,SGA的大小,配置数据库服务器的内存
ORACLE给的建议是:一个数据库服务器,分80%的内存给数据库,20%的内存给操作系统(基于服务器内存在64G以上的)
OLTP系统 PGA=(TOTAL MEMORY)*80%*20%。余下SGA
DSS系统 PGA=(TOTAL MEMORY)*80%*70%。余下SGA
混合系统 PGA=(TOTAL MEMORY)*80%*50%。余下SGA
2.启用ASMM需要将STATISTICS_LEVEL设置成TYPICAL或ALL
SQL>SHOW PARAMETERS STATISTICS_LEVEL;
查看SGA各参数内存分配情况
SQL> select component, current_size/1024/1024 size_mb from v$sga_dynamic_components;
3.PGA是私有的,每个进程连进来,会分配一个私有的PGA,那么,一个SERVER PROCESS能够分配的最大的PGA是多大呢?
SQL> SELECT SUM(PGA_USED_MEM)/1024/1024 FROM V$PROCESS; ---- 当前process一共消耗的PGA