我们知道,数据库与操作系统密切相关的软件,许多功能都需要实现对数据库的操作系统的支持,尤其是现在主流的数据库缓冲区内存在操作创建一个大容量,命中率提供了查询数据库的操作,那么操作系统内存无疑是一大瓶颈。我们在UNIX系统平台的更多讨论,主流主要是HP-UX和Solaris需要安装数据库共享内存集的内核参数,适用于所有的RDBMS数据库。



基本参数介绍:



共享内存:共享内存段:



可以通过不同进程读取的内存区域。



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



2。使用连续的共享内存段。



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



数据库的首选方法之一,如果成功,继续初始化,第二个方法没有成功使用,第三个方法被使用没有成功。如果它不成功,初始化失败,数据库报告错误代码。



Semaphore:



它可以被看作是一个标志,可以有两个状态和关闭。数据库使用信号量来实现服务器进程的访问控制对共享内存缓冲区。



共享内存和信号量是数据库在UNIX上运行的重要资源。如果数据库实例没有所需的资源,实例启动就会失败。



其详细参数术语的含义和字段解释如下:



SHMMAX



意思:这个设置并不能决定数据库数据库或操作系统中使用了多少物理内存,并且只决定了可以使用最多的内存数量。



设置方法:通常保证0.5 *物理内存,每个UNIX平台的参数名是:



Solaris:shminfo_shmmax



{ 3 } {大小尺寸= = 2 } {或}:HP-UX大小shnmax { /尺寸}



数



意思:共享内存的最小大小。



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



shmmni



意义:系统中共享内存段的最大数量。



Solaris:shminfo_shmmin



HP-UX:数



SHMSEG



意思:每个用户进程可以使用的共享内存段的个数。



Solaris:shminfo_shmseg



HP-UX:SHMSEG



SEMMNI



意义:系统中信号量identifierer最多。



set方法:将此变量的值设置为该系统上所有数据库实例关联进程值的10。



Solaris:seminfo_semmni



HP-UX:SEMNi(等于nproc)



SEMMNS



意义:在系统emaphores最多。



设置这个值可以通过以下方式获得:计算过程的不同的数据库实例的值的总和(过程最大去除)+ 210times最大数量的processestimes;数据库;过程。



Solaris:seminfo_semmns



HP-UX:SEMMNS



Semmsl:



一个集合中最大数量的信号量。



设置:设置10 +所有数据库进程的最大值。



Solaris:seminfo_semmsl



HP-UX:semmsl



对于一般的具体变化修改 / /系统文件等在Solaris,修改projmod Solaris版本10或更多的动态,HP-UX的 / usr / sbin / kcweb F { } {大小字体=,= 10.5pt }命令修改,也可以修改山姆,但修改后记得需要重启系统进行更改。{ } { / /大小字体}