在数据库配置过程中,sga的限制一般来自三个方面:
1.物理内存及可用的swap
2.内核参数SHMMAX
3.其他操作系统在共享内存上的限制
通常内核参数的配置会影响到sga中部分参数的配置,内核参数与init.ora的对应关系如下:
Init.ora Parameter | Kernel Parameter |
---|---|
db_block_buffers | shmmax, shmall |
db_files (maxdatafiles) | nfile, maxfiles |
large_pool_size | shmmax, shmall |
log_buffer | shmmax, shmall |
processes | nproc, semmsl, semmns |
shared_pool_size | shmmax, shmall |
通用参数说明:
maxfiles - 每个进程的软文件限制。
maxuprc - 每个用户标识的最大并发用户进程数。
nfile - 在任何给定时间全系统同时打开的文件的最大数量。
nproc - 系统中可以同时存在的最大进程数。
shmall - 此参数设置可在系统范围内使用的共享内存页面的总量。因此,shmall应始终至少为ceil(shmmax / page_size)。
shmmax - 单个共享内存段的最大大小(以字节为单位)。
SHMMIN - 单个共享内存段的最小大小(以字节为单位)。
shmmni - 共享内存标识符的数量。
shmseg - 进程可以附加的最大共享内存段数。
semmns - 系统中的信号量数。
semmni - 系统中信号量集标识符的数量; 确定任何时候都可以创建的信号量集的数量。
semmsl - 一个信号量集中可以包含的最大sempahore数。它应与最大Oracle进程数相同。