一、sga的查询
--总的sga受sga_max_size影响
1、select * from v$sga;
2、show sga;
--单个共享内存段
/proc/sys/kernel/shmmax --重启失效
/etc/sysctl.conf --永久化
kernel.shmmax
sga的值要小于“单个共享内存段”否则oracle会在系统中分成多个段。
--查询内存
ipcs -sa
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 3014657 root 644 52 2
0x00000000 3047427 root 644 16384 2
0x00000000 3080196 root 644 268 2
0x59403d28 3244038 oracle 660 419463168 29
注意里面用户为oracle的,如有多个很可能就是分配在多少内存段里了,这时为了在一个内存段中,要么增大"单个共享内存段",要么减小sga。
二、sga建议
1、
SQL> show parameter db_cache_ad
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_advice string ON
2、
select id,name,block_size,size_for_estimate sfe,size_factor sf,
estd_physical_read_factor eprf,
estd_physical_reads epr --物理读
from v$db_cache_advice
;
--总的sga受sga_max_size影响
1、select * from v$sga;
2、show sga;
--单个共享内存段
/proc/sys/kernel/shmmax --重启失效
/etc/sysctl.conf --永久化
kernel.shmmax
sga的值要小于“单个共享内存段”否则oracle会在系统中分成多个段。
--查询内存
ipcs -sa
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 3014657 root 644 52 2
0x00000000 3047427 root 644 16384 2
0x00000000 3080196 root 644 268 2
0x59403d28 3244038 oracle 660 419463168 29
注意里面用户为oracle的,如有多个很可能就是分配在多少内存段里了,这时为了在一个内存段中,要么增大"单个共享内存段",要么减小sga。
二、sga建议
1、
SQL> show parameter db_cache_ad
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_advice string ON
2、
select id,name,block_size,size_for_estimate sfe,size_factor sf,
estd_physical_read_factor eprf,
estd_physical_reads epr --物理读
from v$db_cache_advice
;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24805255/viewspace-721463/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24805255/viewspace-721463/