sga_target调整大小
2013-07-17 13:10
344 查看
sga_target是动态参数,可以调整后马上生效的
但是前提是当前分配的sga_max_size下必须能够承载分配的内存量
这个参数的值只有0和非零两种选择,非零时时和sga_max_size大小保持一致的
所以如果要吧sga_target改成大于sga_max_size的值就必须按照静态参数的改法,重新启动实例
重启后默认的sga_max_size会自动调整到和sga_target一样大小的
---------------------
版本
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release10.1.0.2.0 - Prod
PL/SQL Release 10.1.0.2.0 - Production
CORE 10.1.0.2.0 Production
TNS for 32-bit Windows: Version 10.1.0.2.0 - Production
NLSRTL Version 10.1.0.2.0 - Production
使用spfile
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string F:\ORACLE\PRODUCT\10.1.0\DB_1\
调整前
SQL> set wrap off
SQL> set linesize 159
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 300M
sga_target big integer 0
调整为小于sga_max_size值
SQL> alter system set sga_target=200m;
System altered.
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 300M
sga_target big integer 300M
调整为大于sga_max_size值
SQL> alter system set sga_target=500m;
alter system set sga_target=500m
*
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
按照静态参数的方式调整
SQL> alter system set sga_target=500m scope=spfile;
System altered.
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 300M
sga_target big integer 300M
重启验证
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 524288000 bytes
Fixed Size 789672 bytes
Variable Size 145486680 bytes
Database Buffers 377487360 bytes
Redo Buffers 524288 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 500M
sga_target big integer 500M
但是前提是当前分配的sga_max_size下必须能够承载分配的内存量
这个参数的值只有0和非零两种选择,非零时时和sga_max_size大小保持一致的
所以如果要吧sga_target改成大于sga_max_size的值就必须按照静态参数的改法,重新启动实例
重启后默认的sga_max_size会自动调整到和sga_target一样大小的
---------------------
版本
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release10.1.0.2.0 - Prod
PL/SQL Release 10.1.0.2.0 - Production
CORE 10.1.0.2.0 Production
TNS for 32-bit Windows: Version 10.1.0.2.0 - Production
NLSRTL Version 10.1.0.2.0 - Production
使用spfile
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string F:\ORACLE\PRODUCT\10.1.0\DB_1\
调整前
SQL> set wrap off
SQL> set linesize 159
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 300M
sga_target big integer 0
调整为小于sga_max_size值
SQL> alter system set sga_target=200m;
System altered.
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 300M
sga_target big integer 300M
调整为大于sga_max_size值
SQL> alter system set sga_target=500m;
alter system set sga_target=500m
*
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
按照静态参数的方式调整
SQL> alter system set sga_target=500m scope=spfile;
System altered.
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 300M
sga_target big integer 300M
重启验证
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 524288000 bytes
Fixed Size 789672 bytes
Variable Size 145486680 bytes
Database Buffers 377487360 bytes
Redo Buffers 524288 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 500M
sga_target big integer 500M
相关文章推荐
- sga_target大小调整
- sga_target memory_target 调整大小
- Oracle如何调整SGA的大小
- 在Windows上调整SGA大小遭遇ora-27100、ora-27102错误的处理方法
- 调整oracle sga的大小导致 ORA-00851和ORA-00844错误
- Oracle如何调整SGA和PGA的大小
- Oracle 调整SGA、PGA大小
- Oracle如何调整SGA的大小
- Oracle 调整SGA、PGA大小
- 如何查看oracle SGA各组件大小,以及调整db_cache,shared_pool,PGA大小
- Oracle如何调整SGA的大小
- 关于SGA与memory_target 大小冲突照成数据库无法挂载问题
- 2017-04-13 DBA日记,当sga_target=0 和memory_target=0还会自动调整内存的研究
- 调整SGA大小
- 如何在RAC下调整SGA大小 [待验证]
- Oracle 调整SGA、PGA大小
- 在Windows上调整SGA大小遭遇ORA-27100、ORA-27102错误的处理方法
- 调整SGA大小
- Oracle 10g 如何调整 sga_max_size 与 sga_target
- 深入讲解调整Oracle SGA大小的解决方法