1、查看SGA相关参数:
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 176M
sga_target big integer 176M
sga_target 是动态参数,是软上限;sga_max_size 是静态参数,是硬上限。如果sga_target 不为0,则表示动态管理(动态管理的值,只能调大,不能调小)。
SQL> show parameter pool
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
buffer_pool_keep string
buffer_pool_recycle string
global_context_pool_size string
java_pool_size big integer 0
large_pool_size big integer 0
olap_page_pool_size big integer 0
shared_pool_reserved_size big integer 3565158
shared_pool_size big integer 0
streams_pool_size big integer 0
此时通过show parameter pool命令可以发现,show parameter pool,large_pool_size 等几个参数的值都为0,这说明用这个命令是看不到他们的具体值的。
有两种方法可以获得他们的值:
SQL> select COMPONENT ,CURRENT_SIZE/1024/1024 MB FROM v$sga_dynamic_components;
COMPONENT MB
---------------------------------------------------------------- ----------
shared pool 68
large pool 4
java pool 4
streams pool 4
DEFAULT buffer cache 92
KEEP buffer cache 0
RECYCLE buffer cache 0
DEFAULT 2K buffer cache 0
DEFAULT 4K buffer cache 0
DEFAULT 8K buffer cache 0
DEFAULT 16K buffer cache 0
另一个方法是查看spfile文件,strings spfileorcl2:
rac1-> strings spfileorcl2.ora
orcl2.__db_cache_size=96468992
orcl2.__java_pool_size=4194304
orcl2.__large_pool_size=4194304
orcl2.__shared_pool_size=71303168
orcl2.__streams_pool_size=4194304
为什么要把这些参数的值写进spfile文件呢?他们不是动态管理的么。如果实例重新启动时,可以参考这些值用来给这些参数分配内存。
现在将sga-target改为0,启动手动管理
SQL> alter system set sga_target=0m;
SQL> show parameter pool
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
buffer_pool_keep string
buffer_pool_recycle string
global_context_pool_size string
java_pool_size big integer 4M
large_pool_size big integer 4M
olap_page_pool_size big integer 0
shared_pool_reserved_size big integer 3565158
shared_pool_size big integer 68M
streams_pool_size big integer 4M
此时使用how parameter pool可以查看到这些参数的相关值。
我们还可以查看PGA相关的参数:
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 58M
SQL> show parameter policy
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
workarea_size_policy string AUTO
workarea_size_policy指定PGA的管理方式。如果要变为手动管理,使用一下命令:
SQL> alter system set workarea_size_policy=manual;