Oracle 10g 如何调整 sga_max_size 与 sga_target

sga_max_size是相对于操作系统来讲的,当启动oracle时,一次性分配给oracle实例的sga不会超过sga_max_size值;而sga_target是相对于oracle这个正在运行的应用软件来说的,在系统已经分配了sga_max_size值的内存给oracle的前提下,对sga_target值进修改。对sga_max_size修改时,scope只对spfile生效。
  第一次启动oracle时,sga_target与sga_max_size数值一样。

SQL> show parameter sga;

NAME  
                         TYPE          VALUE 
------------------------------------ ---------------------------------------------
lock_sga                         boolean        FALSE 
pre_page_sga                     boolean         FALSE
sga_max_size                     big integer     892M
sga_target                       big integer     892M


一、对sga_max_size提高、降低的限制

1、用户调高sga_max_size,不对sga_target进行修改,重启oracle时,sga_max_size会相应变化

SQL> alter system set sga_max_size=1024mscope=spfile;

System altered.

SQL> show parameter sga;

NAME                            TYPE          VALUE
------------------------------------ ---------------------------------------------
lock_sga                         boolean       FALSE 
pre_page_sga                    boolean       FALSE
sga_max_size                    big integer    892M
sga_target                      big integer    892M
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 1073741824 bytes
Fixed Size 2026296 bytes
Variable Size 377488584 bytes
Database Buffers 687865856 bytes
Redo Buffers 6361088 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    1G
sga_target              

你可能感兴趣的:(oracle)