数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

ORACLE SGA分配


发布日期:2019年10月06日
 
ORACLE SGA分配

ORACLE X 版本

SGA=((db_block_buffers * block size)+(shared_pool_size+large_pool_size+log_buffers)+MB

ORACLE X 版本

SGA=((db_block_buffers * block size)+(shared_pool_size+large_pool_size+java_pool_size+log_buffers)+MB

理论上SGA可占OS系统物理内存的/——/我们可以根据需求调整

我推荐SGA=*(OS RAM)

假设服务器运行ORACLE X 版本 OS系统内存为G MEM db_block_size 是 bytes 除了运行ORACLE数据库外 没有其它的应用程序或服务器软件

这样SGA合计约为M ( *M )

设shared_pool_size M (** bytes)

设database buffer cache M (* bytes)

initorasidora文件里具体各参数如下:

shared_pool_size =

# M

db_block_buffers =

# M

log_buffer =

# k (K*CPU个数)

large_pool_size =

# M

java_pool_size =

# M

sort_area_size =

# k (kM)

sort_area_retained_size =

# MTS 时 sort_area_retained_size = sort_area_size

SUN Solaris里/etc/system文件里的几个参数同样跟内存分配有关

ORACLE安装时缺省的设置: 建议修改的设置:

set shmsys:shminfo_shmmax=

set shmsys:shminfo_shmmin=

set shmsys:shminfo_shmmni=

set shmsys:shminfo_shmseg=

set semsys:seminfo_semmns=

set semsys:seminfo_semmni=

set ulimit=

set semsys:seminfo_semmni=

set semsys:seminfo_semmsl=

set semsys:seminfo_semmns=

set semsys:seminfo_semopm=

set semsys:seminfo_semvmx=

set shmsys:shminfo_shmmax=

set shmsys:shminfo_shmmni=

set shmsys:shminfo_shmseg=

set shmsys:shminfo_shmmin=

其中这些参数的含义

shmmax 共享内存段的最大字节数建议设大点甚至可以大过物理内存的字节数

shmmin 共享内存段的最小尺寸

shmmni 共享内存段的最大数目

shmseg 每个进程可分配的最大共享内存段数目

shmall 最大的并发共享内存段数目比SGA还要大

semmns 信号灯的最大数量跟ORACLE的PROCESS数有关

semmsl 每个信号灯集合中最多的信号灯数目

上一篇:ORACLE入门之如何增加ORACLE连接数

下一篇:Oracle参数绑定性能实践