单独修改pga的话可以不用关闭再重启数据库,直接 alter system set pga_aggregate_target=40000M scope=both; 可以修改; 如果还需要修改sga那么不重启库无法将sga_target修改到超过上次启动时设置的sga_max_size值, 如果这个值够大,则同样可以 alter system set sga_target=10000M scope=both; 否则就需要关闭修改参数文件再重启动以配置sga到合适的大小。经验值是数据仓库除操作系统分配4G内存外,其他60%分配给pga,40%分配给sga; OLTP系统则80%分配给sga,20%分配给pga。
-- 如果系统只有数据库,没有其他应用程序的话,可以指定:pga 10g, sga 50g -- 剩余 4G 留给系统其他应用服务就够啦....idle> conn / as sysdba; 已连接。 sys@SZTYORA> show parameter pgaNAME TYPE VALUE ------------------------------------ ---------------------- ------------------------------ pga_aggregate_target big integer 10G sys@SZTYORA> show parameter sgaNAME TYPE VALUE ------------------------------------ ---------------------- ------------------------------ lock_sga boolean FALSE pre_page_sga boolean FALSE sga_max_size big integer 50G sga_target big integer 50G
sys@SZTYORA> alter system set pga_aggregate_target=256M scope=both;系统已更改。已用时间: 00: 00: 00.07sys@SZTYORA> alter system set sga_max_size=1G scope=spfile;系统已更改。已用时间: 00: 00: 00.07 sys@SZTYORA> alter system set sga_target=1G scope=spfile;系统已更改。已用时间: 00: 00: 00.07
1、数据缓冲区:
db_cache_size 数据缓冲区DEFAULT区域大小,也是默认的大小
db_keep_cache_size 数据缓冲区keep区域大小,几乎不会被替换掉的内存区
db_recycle_cache_siez 数据recycle区域大小,几乎用完就回收掉的内存区2、共享池
shared_pool_size
内部保存SQL信息、数据字典、控制信息,其实这部分最好不用自己去控制,它自己管理就行。里面有个参数:shared_pool_reserved_size适当的时候也可以配置一下。如果你要用rman相关的东西,要配置一下大池,如果没有JAVA PROD在ORACLE内部,JAVA池几乎无用,做Stream复制,就设置一下stream池。PGA一般设置一个最大值就行,内部它一般自己去调节(PGA内部一般有一段内存和一些后台进程组成),分专用模式还是共享模式的区别(MTS系统中),内部有些细节参数会根据CPU去配置的(如DBWR最多可以20个,最少是1个,可根据CPU的个数设置,但是一个INSTANCE最多20个),另外可以设置内部的SORT_AREA_SIZE、hash_area_size等等用于用户进程查询时产生的内存开销(超过这个值就会到临时表空间去做了),
alter system set pga_aggregate_target=40000M scope=both;
可以修改;
如果还需要修改sga那么不重启库无法将sga_target修改到超过上次启动时设置的sga_max_size值,
如果这个值够大,则同样可以
alter system set sga_target=10000M scope=both;
否则就需要关闭修改参数文件再重启动以配置sga到合适的大小。经验值是数据仓库除操作系统分配4G内存外,其他60%分配给pga,40%分配给sga;
OLTP系统则80%分配给sga,20%分配给pga。
-- 剩余 4G 留给系统其他应用服务就够啦....idle> conn / as sysdba;
已连接。
sys@SZTYORA> show parameter pgaNAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
pga_aggregate_target big integer 10G
sys@SZTYORA> show parameter sgaNAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 50G
sga_target big integer 50G
sys@SZTYORA> alter system set sga_target=1G scope=spfile;系统已更改。已用时间: 00: 00: 00.07
-- 这种情况是 DBA 的严重失职,我是老板的话,我会直接 pass 这个 DBA 的!