欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-02-17 21:01:16
...

如果使用Solaris系统缺省的内核参数,会导致创建数据库时出现Out of memory错误。Solaris 10以前的版本是在/etc/system中设置系统

如果使用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 ,或者一般为物理内存的一半

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2