Chinaunix首页 | 论坛 | 博客
  • 博客访问: 309219
  • 博文数量: 214
  • 博客积分: 4258
  • 博客等级: 上校
  • 技术积分: 2021
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-02 09:16
个人简介

http://blog.csdn.net/ly21st http://ly21st.blog.chinaunix.net

文章分类

全部博文(214)

文章存档

2018年(16)

2015年(1)

2014年(2)

2012年(22)

2011年(173)

分类: 系统运维

2012-08-29 10:11:51

unix数据库安装前共享内存参数设置问题总结

我们知道,数据库是与操作系统紧密相关的软件,所以很多数据库功能的实现均需要操作系统支持,尤其是现在主流数据库都在运行中创建大容量的缓冲内存,提供数据库的查询或操作的命中率,那么操作系统的内存无疑是一个很大的瓶颈,在此我们更多的是讨论,在主流的unix平台系统中主要是hp-ux和solaris安装数据库需要设置的共享内存的内核参数问题,适用于所有的RDBMS数据库。
基本参数介绍:
shared memory:共享内存段: 
  一个内存区域,可以被不同的进程读取。
  1. 使用单个共享内存段。 
  2. 使用连续多个共享内存段。 
  3. 使用多个不连续共享内存段。 
database优先使用的一种方法,如果成功,则继续初始化,不成功则使用第二种方法,再不成功则使用第三种方法。如果再不成功,则初始化失败,database报告错误代码。 
   Semaphore: 
可以看作一个标记。可以有On和Off两种状态。database使用semaphores来实现服务器进程对共享缓冲内存的存取控制。 
Shared memory 和semaphore 是database在Unix上运行的重要资源。如果database实例得不到所需要的资源,实例启动就会失败。 
其细化具体参数项的含义和字段解释如下:
shmmax 
含义:这个设置并不决定究竟database数据库或者操作系统使用多少物理内存,只决定了最多可以使用的内存数目。这个设置也不影响操作系统的内核资源。
设置方法:通常保证0.5*物理内存,各unix平台的参数名称:
      solaris:shminfo_shmmax
[size=3]       [size=2]HP-UX[/size]:shnmax[/size]
  shmmin 
  含义:共享内存的最小大小。 
  设置方法:一般都设置成为1。 
  shmmni 
  含义:系统中共享内存段的最大个数。
       solaris : shminfo_shmmin
        HP-UX:shmmin
 shmseg 
   含义:每个用户进程可以使用的最多的共享内存段的数目。 
         solaris:shminfo_shmseg
         HP-UX:shmseg
  semmni 
  含义:系统中semaphore identifierer的最大个数。 
  设置方法:把这个变量的值设置为这个系统上的所有database的实例的相关processes的那个值加10。
       solaris: seminfo_semmni
       HP-UX:semni (等于nproc)
     semmns
     含义:系统中emaphores的最大个数。 
     设置方法:这个值可以通过以下方式计算得到:各个database实例的的processes的值的总和(除去最大的     Processes参数)+最大的那个Processes×2+10×database processes的个数。 
  solaris:seminfo_semmns
       HP-UX:semmns
      semmsl: 
     含义:一个set中semaphore的最大个数。 
    设置方法:设置成为10+所有database最大的Processes的值。 
        solaris:seminfo_semmsl
         HP-UX:semmsl
       至于具体的修改在solaris一般修改/etc/system文件,solaris 10版本或以上动态修改projmod,HP-UX可以通过/usr/sbin/kcweb -F[font=宋体][size=10.5pt]命令修改,也可以通过sam修改,但是修改后请记住需要重启系统以让修改生效。[/size][/font]

阅读(448) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~