您的位置:首页 > 数据库 > Oracle

Oracle 调整SGA、PGA大小

2012-08-10 15:09 441 查看
SQL> show parameter sga;

SQL> alter system set sga_max_size=4096M scope=spfile;

System altered.

SQL> alter system set sga_target=4096M scope=spfile;

System altered.

如果是RAC环境,需要这样增加sid='*':

alter system set sga_target=20G scope=spfile sid='*';

重启使更改生效:

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 4294967296 bytes

Fixed Size 2026296 bytes

Variable Size 805307592 bytes

Database Buffers 3472883712 bytes

Redo Buffers 14749696 bytes

Database mounted.

Database opened.

SQL> show parameter sga;

NAME TYPE VALUE

----------- ------------------------------

lock_sga boolean FALSE

pre_page_sga boolean FALSE

sga_max_size big integer 4G

sga_target big integer 4G

SQL> show parameter pga;

不用重启DB,直接在线修改。

SQL> alter system set workarea_size_policy=auto scope=both;

System altered.

SQL> alter system set pga_aggregate_target=512m scope=both;

System altered.

SQL> show parameter workarea

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

workarea_size_policy string AUTO --这个设置成AUTO

SQL> show parameter pga

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

pga_aggregate_target big integer 536870912

SELECT * FROM V$PGASTAT;

aggregate PGA auto target 477379584 bytes --当前可用于自动分配了的PGA大小,应该比PGA_AGGREGATE_TARGET 小

over allocation count 1118 --实例启动后,发生的分配次数,如果这个值大于0,就要考虑增加pga的值

1 查看 SGA大小 show parameter sga_max_size db_cache_size的尺寸受 SGA的影响为能大于SGA

2 查看 show parameter shared_pool_size 尺寸

一般来说 shared_pool_size+db_cache_size=SGA_MAX_SIZE*70%左右

经过计算再修改db_cache_size

sql>alter system set db_cache_size= 大小M scope=spfile sid='数据库SID';

sql>shutdown immediate

sql>startup

sql>show parameter db_cache_size

就可以看到修改后的效果了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: