How to modify SHMMAX on Various Solaris Platform

在Solaris平台上安装Oracle可以说是最简单的,几乎不需要打任何操作系统Patch,仅仅是需要设置一下操作系统内核参数,比如共享内存最大值等。 在Solaris8中,需要在/etc/system文件中添加如下行: set shmsys:shminfo_shmmax=4294967296 set shmsys:shminfo_shmmin=1 set shmsys:shminfo_shmseg=10 set shmsys:shminfo_shmmni=100 set semsys:seminfo_semmns=1000 set semsys:seminfo_semmni=100 set semsys:seminfo_semmsl=250 在Solaris9中,需要在/etc/system文件中添加如下行: set shmsys:shminfo_shmmax=4294967296 set shmsys:shminfo_shmmni=100 set semsys:seminfo_semmns=1000 set semsys:seminfo_semmni=100 set semsys:seminfo_semmsl=250 在Solaris10中,不需要修改/etc/system,而是使用projmod命令。 $ su – root # projmod -sK “project.max-shm-memory=(privileged,4G,deny)” group.dba # cat /etc/project # su – oracle $ prctl -n project.max-shm-memory -i process $$ 关于更详细的System V IPC参数信息,可以参看:System V…

Tuning VMM kernel parameter in AIX for Oracle

Updated@2013-01-30 对于运行Oracle数据库的AIX操作系统VMM(Virtual Memory Management)层面的系统内核参数如何进行调整,这是一个很古老的话题。这篇文章力图解释一些概念,同时与时俱进地提出一些设置的建议。 通常对VMM系统内核调优的目的,在于最大限度的保护计算内存页(computational memory)不被page-out到paging space中,因为对于计算内存页(特定于Oracle数据库来说就比如是SGA和PGA)来说被page-out出去的内存页总在之后的某一时刻又会被重新page-in,通常这样会对系统性能产生负面影响。另外对于像Oracle数据库这样拥有自己的数据缓存机制(data buffer cache)的数据库应用来说,保护计算内存页更显得格外重要。 在IBM AIX 5.3 ML1之前,对于作为Oracle Database Server用途并且使用裸设备作为Datafile存储的的AIX操作系统内核参数调优的经验通常如下: maxperm%=maxclient%=(通常是一个很低的值,小于20或者30) 设置较小maxperm%值的原因在于,如果文件内存页在内存中的比例高过该参数值,那么VMM换页算法将只从文件内存页中进行偷页。将maxperm%值降低就意味着有更大的机会让VMM只从文件内存页中偷页。 minperm%=5(通常是一个比maxperm%更低的值) lru_file_repage = 1(这是默认值) 比如以下的VMM参数设置就符合该种调优方式。 root@hostname:/> vmo -a |grep “maxclient%” maxclient% = 15 root@hostname:/> vmo -a |grep “maxperm%” maxperm% = 15 root@hostname:/> vmo -a |grep “minperm%” minperm% = 10 root@hostname:/> vmo -a |grep “lru_file_repage” lru_file_repage = 1 但是实际上在AIX…

OpenSolaris

既然Solaris已然成为Oracle麾下产品,那么想要熟悉一下的朋友可以去这里下载OpenSolaris 2008.11 VMware Image。