Oracle 10g 中sga_max_size 和sga_target用法
2010-09-03 12:32
513 查看
http://junmail.javaeye.com/blog/209813
2008-06-30
sga_target是自动管理内存时使用的,这样你就不用设置DB_CACHE_SIZE,SHARED_POOL_SIZE等参数,他们会根据需要自动的进行调整的。
SGA_MAX_SIZE是从oracle9i以来一直存在﹐是不可动态修改的。
SGA_TARGET是oracle10g中用于实现自动SGA内存管理而新增加的。
SGA_MAX_SIZE指的是可动态分配的最大值﹐而SGA_TARGET是当前已分配的最大sga。
SGA_MAX_SIZE是不可以动态修改的﹔而SGA_TARGET是可动态修改﹐直到SGA_MAX_SIZE的值(当然这是在实例启动前已设定SGA_MAX_SIZE>SGA_TARGET的情况) 如果在实例启动时﹐SGA_MAX_SIZE < SGA_TARGET 或SGA_MAX_SIZE没设定﹐则启动后SGA_MAX_SIZE的值会等于SGA_TARGET的值。
二、在Oracle10g中使用SGA_TARGET参数自动管理SGA
在Oracle10g中,不必再如从前一样用下列各个参数分别指定SGA的每个部分的大小.也就是说不需要首先评估SGA各组件的大小,并且在
init<SID>.ora初始参数文件中分组件指定.(当然某些组件如果不不使用是可以不指定的.比如java_pool_size).
shared_pool_size
java_pool_size
large_pool_size
db_cache_size
在10g中可用一个新参数SGA_TARGET来设定实列所需的SGA最大值,并替代以上参数.
假设,将SGA_TARGET设置为152M,则表明SGA最大为152M. 所有SGA组件如shared pool, buffer cache,large pool, java pool都需从其中分配. Oracle会自动为各组件指定初始值,并在运行过程中动态地调整各组件的大小.毋须人工干预.
这样,只要设置了SGA_TARGET, 就毋须显式地定义shared pool,buffer pool,large pool和java pool的大小.
例如:定义SGA_TARGET=152M(block size为8k).
SQL> show parameter db_block_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 8192
SQL> show parameter sga_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 152M
Oracle会自动将内存分配给各组件:
SQL> show sga
Total System Global Area 159383552 bytes
Fixed Size 1218268 bytes
Variable Size 67111204 bytes
Database Buffers 88080384 bytes
Redo Buffers 2973696 bytes
使用sga_target参数有几点需要注意:
1. 当使用sga_target时, 若未设置sga_max_size,或设置了小于sga_target,则sga_max_size将等于sga_target.
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 152M
sga_target big integer 152M
2. 当sga_target是可动态调整的,但其值不能大于sga_max_size.
SQL> alter system set sga_target=160M; alter system set sga_target=160M * ERROR at line 1: ORA-02097: parameter cannot be
modified because specified value is invalid ORA-00823: Specified value of sga_target greater than sga_max_size
2008-06-30
Oracle 10g 中sga_max_size 和sga_target用法
一、oracle 10g中的SGA_MAX_SIZE与SGA_TARGET参数sga_target是自动管理内存时使用的,这样你就不用设置DB_CACHE_SIZE,SHARED_POOL_SIZE等参数,他们会根据需要自动的进行调整的。
SGA_MAX_SIZE是从oracle9i以来一直存在﹐是不可动态修改的。
SGA_TARGET是oracle10g中用于实现自动SGA内存管理而新增加的。
SGA_MAX_SIZE指的是可动态分配的最大值﹐而SGA_TARGET是当前已分配的最大sga。
SGA_MAX_SIZE是不可以动态修改的﹔而SGA_TARGET是可动态修改﹐直到SGA_MAX_SIZE的值(当然这是在实例启动前已设定SGA_MAX_SIZE>SGA_TARGET的情况) 如果在实例启动时﹐SGA_MAX_SIZE < SGA_TARGET 或SGA_MAX_SIZE没设定﹐则启动后SGA_MAX_SIZE的值会等于SGA_TARGET的值。
二、在Oracle10g中使用SGA_TARGET参数自动管理SGA
在Oracle10g中,不必再如从前一样用下列各个参数分别指定SGA的每个部分的大小.也就是说不需要首先评估SGA各组件的大小,并且在
init<SID>.ora初始参数文件中分组件指定.(当然某些组件如果不不使用是可以不指定的.比如java_pool_size).
shared_pool_size
java_pool_size
large_pool_size
db_cache_size
在10g中可用一个新参数SGA_TARGET来设定实列所需的SGA最大值,并替代以上参数.
假设,将SGA_TARGET设置为152M,则表明SGA最大为152M. 所有SGA组件如shared pool, buffer cache,large pool, java pool都需从其中分配. Oracle会自动为各组件指定初始值,并在运行过程中动态地调整各组件的大小.毋须人工干预.
这样,只要设置了SGA_TARGET, 就毋须显式地定义shared pool,buffer pool,large pool和java pool的大小.
例如:定义SGA_TARGET=152M(block size为8k).
SQL> show parameter db_block_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 8192
SQL> show parameter sga_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 152M
Oracle会自动将内存分配给各组件:
SQL> show sga
Total System Global Area 159383552 bytes
Fixed Size 1218268 bytes
Variable Size 67111204 bytes
Database Buffers 88080384 bytes
Redo Buffers 2973696 bytes
使用sga_target参数有几点需要注意:
1. 当使用sga_target时, 若未设置sga_max_size,或设置了小于sga_target,则sga_max_size将等于sga_target.
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 152M
sga_target big integer 152M
2. 当sga_target是可动态调整的,但其值不能大于sga_max_size.
SQL> alter system set sga_target=160M; alter system set sga_target=160M * ERROR at line 1: ORA-02097: parameter cannot be
modified because specified value is invalid ORA-00823: Specified value of sga_target greater than sga_max_size
相关文章推荐
- Oracle 10g 中sga_max_size 和sga_target用法
- oracle 10g 11g中的SGA_MAX_SIZE与SGA_TARGET参数
- Oracle 10g中 sga_max_size 与 sga_target的关系
- Oracle 10g 如何调整 sga_max_size 与 sga_target
- oracle 10g中的SGA_MAX_SIZE与SGA_TARGET的使用方法
- oracle 10g 11g中的SGA_MAX_SIZE与SGA_TARGET参数
- Oracle 10g 如何调整 sga_max_size 与 sga_target
- 深入解析Oracle 10g中SGA_MAX_SIZE和SGA_TARGET参数的区别和作用
- 深入解析Oracle 10g中SGA_MAX_SIZE和SGA_TARGET参数的区别和作用
- 深入解析10g中SGA_MAX_SIZE和SGA_TARGET参数的区别和作用
- Oracle-SGA → sga_target and sga_max_size
- 深入解析Oracle 10g中SGA_MAX_SIZE和SGA_TARGET参数的区别和作用
- sga_target大于指定值的sga_max_size
- 转---Oracle10G的Sga_max_size和sga_target应该如何设置啊!
- 10g中同时设置了SGA_TARGET和SHARED_POOL_SIZE的问题
- Linux内核参数(如kernel.shmmax)及Oracle相关参数调整(如SGA_MAX_SIZE)
- SGA_MAX_SIZE与SGA_TARGET
- SGA_MAX_SIZE与SGA_TARGET 区别
- SGA_MAX_SIZE,SGA_TARGET以及PRE_PAGE_SGA参数
- oracle自动内存共享管理测试。修改 oracle 11g SGA_MAX_SIZE。