Solaris 10上为Oracle 11G安装设置内核参数

来源:互联网 发布:linux下载ed2k链接 编辑:程序博客网 时间:2024/06/04 19:57

                                                                   Solaris 10上为Oracle 11G安装设置内核参数

如果使用Solaris系统缺省的内核参数,会导致创建数据库时出现Out of memory错误。

Solaris 10以前的版本是在/etc/system中设置系统参数,这种方式在Solaris 10/OpenSolaris中已经不用。

取而代之的是基于project的配置方式。

a. 修改 /etc/system,在其中添加 (Solaris 10 这种方式已不使用)
#/etc/system
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=256 
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=100

b. 以root用户身份,添加group.dba项目

#projadd -U oracle -p 100 group.dba
              
c. 修改/etc/user_attr,在其中添加            
oracle::::project=group.dba

d. 切换到oracle用户环境,用id -p命令检验b、c两步的正确性。
#su oracle
$id -p  uid=100(oracle) gid=100(dba) projid=100(group.dba)  
注意:如果id -p命令结果是oracle用户的默认project是新建的group.dba,则说明b、c两步操作正确。         

e. 查看项目group.dba的资源配置        
#prctl -n project.max-shm-memory -i project group.dba
project: 100: oracle  NAME                                   PRIVILEGE      VALUE      FLAG      ACTION      RECIPIENT                        project.max-shm-memory                privileged        2.00GB        -               deny         

f. 调整项目group.dba的资源分配 
#prctl -n project.max-shm-memory -v 4gb -r -i project group.dba 
#projmod -sK "project.max-shm-memory=(privileged,4294967295,deny)" group.dba  

第一命令动态调整项目group.dba资源配置值,第二命令将调整值写入/etc/project文件中,使系统重启后调整值依然有效。  
注意:为了调整项目group.dba的资源配置,必须保证系统此时至少有一个会话是以oracle用户身份登录的。
即为了调整oracle用户的项目group.dba的资源,必须至少另开一个终端,以su oracle切换到oracle用户身份。   

查看调整后的结果:
#cat /etc/project
system:0::::
user.root:1::::
noproject:2::::
default:3::::
group.staff:10:::: 
group.dba:100::::project.max-shm-memory=(privileged,4294967295,deny)
#

备注:
shmsys:shminfo_shmmax = 2147483648
//  该参数定义了共享内存段的最大尺寸(以字节为单位)。其值应>=sag_max_size初始化参数的大小,否则SAG由多个内存段构成,效率降低,
还要不小于物理内存的一半,默认情况下在32位x86系统中,Oracle SGA最大不能超过1.7GB.
缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G ,或者一般为物理内存的一半

 

原创粉丝点击