Bomi
分类: 系统运维
2012-02-04 00:26:55
包括Oracle在内的诸多大型应用,在安装、运行、优化等过程中都需要对系统资源(内核参数,信号量,内存空间,CPU时间等)进行调整和设置。在oracle 9之前,系统内核参数的修改是通过/etc/system文件来进行修改的。
/etc/system 内核参数示例:
set semsys:seminfo_semmni 100
set semsys:seminfo_semmns 1024
set semsys:seminfo_semmsl 256
set semsys:seminfo_semvmx 32767
set shmsys:shminfo_shmmax 4294967295
set shmsys:shminfo_shmmin 100
从Solaris 10这个版本开始系统资源的配置管理较之前的版本有了较大的变化,并且对sem,shm的配置无法通过/etc/system文件来进行修改,需要使用新方法:项目数据库(project database)对单个进程或单个项目进行资源分配设置。项目数据库的文件是/etc/project。
为oracle 用户添加项目数据库
Morpho@oracnode1:~# projadd oracle
设定oracle 用户的默认项目数据库
编辑/etc/user_attr ,在文件最后添加如下一行设置,使系统在用户oracle登录时自动授予其项目oracle的资源权限。
oracle::::project=oracle,
检查oracle用户的默认项目组
Morpho@oracnode1:~# su - oracle
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
oracle@oracnode1:~$ id -p
uid=175(oracle) gid=115(dba) projid=100(oracle)
修改oracle项目的系统资源权限
Morpho@oracnode1:~# projmod –a –K “project.max-shm-memory=(priv,4294967295,deny)” oracle
Morpho@oracnode1:~# projmod –a –K “project.max-sem-ids =(priv,100,deny)” oracle
Morpho@oracnode1:~# projmod –a –K “process.max-sem-nsems =(priv,256,deny)” oracle
Morpho@oracnode1:~# projmod –a –K “project.max-shm-ids =(priv,100,deny)” oracle
仍须在/etc/system 文件中进行的设置
set zfs:zfs_arc_max = 0x20000000
//之前提到的ZFS 内存缓存限制,设置ZFS ARC 最大可用物理内存限额为512M
set noexec_user_stack=1
set shmsys:shminfo_shmmax=4294967295
//在solaris 10上安装10g rac时,当SGA设置过大时,可能导致系统重其后有一些资源需要手工启动。
//因此,oracle官方建议把shmmax的参数也加到/etc/system文件下(可见Doc id : 399895.1 from metalink)