Sun Solaris运行Oracle数据库所需的内核参数

2014-11-24 17:38:46 · 作者: · 浏览: 1

  一些预备知识


  shared memory:(共享内存段)


  一个内存区域,可以被不同的进程读取。Oracle使用它来构成SGA。Oracle使用以下三种方法来创建一个SGA区:


  1.使用单个共享内存段。


  2.使用连续多个共享内存段。


  3.使用多个不连续共享内存段。


  Oracle优先使用的第一种方法,如果成功,则继续初始化,不成功则使用第二种方法,再不成功则使用第三种方法。如果再不成功,则初始化失败,Oracle报告错误代码。


  Semaphore:(信号量)


  可以看作一个标记。可以有On和Off两种状态。Oracle使用semaphores来实现服务器进程对SGA区的存取控制。


  Shared memory 和semaphore 是Oracle在Unix上运行的重要资源。如果Oracle 实例得不到所需要的资源,实例启动就会失败。


  参数:


  对于运行一个Oracle实例的Solaris系统,改变/etc/system文件中的一些关于共享内存的参数,以使Oracle实例可以正常运行。如果有多个实例的话,还需根据下面方法重新计算某些值。


  共享内存:


  shmmax


  含义:这个设置并不决定究竟Oracle数据库或者操作系统使用多少物理内存,只决定了最多可以使用的内存数目。这个设置也不影响操作系统的内核资源。max shared memory segment size (SHMMAX) bytes


  设置方法:0.5*物理内存


  例子:Set shmsys:shminfo_shmmax=10485760


  shmmin


  含义:共享内存的最小大小。


  设置方法:一般都设置成为1。


  例子:Set shmsys:shminfo_shmmin=1:


  shmmni