|
一:查看当前SGA,PGA设置 show parameter sga; show parameter pga;

oracle推荐OLTP(on-line Transaction Processing)系统oracle占系统总内存的80%,然后再分配80%给SGA,20%给PGA。也就是 SGA=system_total_memory*80%*80% PGA=system_total_memory*80%*20%
二:调整SGA,PGA
(1).确认数据库参数为spfile
SELECT NAME, VALUE, display_value FROM v$parameter WHERE NAME = 'spfile'; 查询结果如下: 
(2).调整SGA,PGA: alter system set sga_target=10G scope=spfile;
alter system set pga_aggregate_target=2G scope=spfile; (3).重启数据库使修改生效: 关闭数据库:shutdown immediate 启动数据库:startup 注意:如果修改的SGA,PGA过大,会导致内存不足,数据库启动失败,如下图所示: 
此时需要先在Oracle的admin目录下找到pfile文件 find . -name init.ora* 如下图所示: 
然后根据此pfile文件,重新启动数据库: startup pfile='' 如下图所示: 
此时数据库启动开后不能直接修改PGA,SGA,需要先创建spfile文件: create spfile from pfile='启动的那个文件目录/init.ora.*' 然后重启数据库,此时重启就不用pfile文件重启了,正常重启就可以。 
此时的SGA,PGA会变回调整之前的大小。 然后,重新修改SGA,PGA即可。
|