现在的位置: 首页 > 综合 > 正文

【安装oracle——准备工作】配置内核参数+添加用户组及用户+为oracle用户配置shell限制+创建目录结构+设置oracle环境

2013年09月08日 ⁄ 综合 ⁄ 共 3040字 ⁄ 字号 评论关闭

一、配置内核参数

为了让oracle数据服务器正常运行,必须配置一定的操作系统资源。默认情况下,这些资源的设置不足以满足oracle 10g数据库的正常启动与运行。不过好在linux操作系统允许动态修改这些参数,使得内核参数调整以后不用重新启动操作系统。

修改内核参数的方法有好几种,比如可以通过修改/proc伪文件系统的方法动态地修改内核参数。除了修改内核参数的方法以外,/proc文件系统还含有内核系统的性能及配置信息。

1.使用/proc伪文件系统配置内核参数

linux需要配置的参数包括信号量共享内存可同时打开的最大文件数以及端口号的范围。信号量参数全部保存在/proc/sys/kernel/sem文件中,分别是semmsl、semmns、semopm和semmni。这些参数的配置必须达到下面的最低标准:

参数 描述
semmsl 250 每个ID的最大信号数目
semmns 32000 系统中信号量的最大数目(必须大于或等于semmni*semmsl)
semopm 100 每次信号量调用的最大操作次数
semmnni 128 信号量识符的最大数目

 

SGA的大小由/proc/sys/kernel/shmall、/proc/sys/kernel/shmmax和/proc/sys/kernel/shmmni等文件中的共享内存参数决定,这些文件描述如下:

参数 描述
shmall 297152 系统共享内存页面的最大数目
shmmax 内存容量的1/2 共享内存段的最大尺寸
shmmni 4096 系统共享内存段的最大数目

 

除此之外,需要设置的参数还包括/proc/sys/fs/file-max/proc/sys/net/ipv4/ip_local_port_range,如下所述:

参数 描述
/proc/sys/fs/file-max 65536 linux分配的最大文件句柄数
/proc/sys/net/ipv4/ip_local_port_range 1024~6500 ip端口号,默认为1024~4999,只允许3975个向外的连接,但这不够oracle的使用

 

以上为/proc使用伪文件系统修改配置内核参数,该方法为动态地,任何时候都可以修改,但是系统每次重启时都会恢复

修改方式:

e.g.

查看当前参数值:

cat /proc/sys/kernel/shmmax

修改参数值:

echo 2147483638 > /proc/sys/kernel/shmmax

如果希望每次启动时都能自动执行上述修改参数的命令,可以将他们写入/etc/rc.local文件,该文件与shell脚本类似:

# configuration parameters for oracle

echo "2147483638" > /proc/sys/kernel/shmmax

............

每次系统启动都会执行/etc/rc.local文件,从而可以重新设置这些参数。不过,最好的方法还是修改/etc/sysctl.conf文件。

 

2.使用/etc/sysctl.conf文件配置内核参数

除了前面所说的方法,还可以将参数写入/etc/sysctl.conf文件,就可以在系统启动时设置内核参数。/etc/sysctl.conf文件中包含/proc目录下的文件及其值,如下所示:

kernel.shmall = 2098152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max=65536

net.ipv4.ip_local_port_range= 1024 65000

 

可以运行/sbin/sysctl -p 程序载入这些数据,并检查这些参数的设置是否正确。默认情况下,red hat linux启动时会读取这个文件,对于suse linux,则可以使用以下命令激活该文件:

/sbin/chkconfig boot.sysctl on

二、添加用户及用户组

oracle的账号必须属于oinstall用户组,并且必须是dba组的成员。

添加用户组:

groupadd oinstall

groupadd dba

添加用户账号:

useradd -g oinstall -G dba oracle

三、为oracle用户配置shell限制

提高oracle用户的shell限制,以便可以创建和打开大文件。完成这些工作需要修改/etc/profile文件,提高其中设置的上限。将下列内容添加到/etc/profile文件中:

if [ $USER = "oracle" ] ; then

if [ $SHELL = "/bin/ksh" ] ; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

此外,还需要在/etc/security/limits.conf 文件中加入以下几行内容,已修改单个用户允许使用的进程和文件数目:

*soft nproc 2047

*hard nproc 16384

*soft nofile 1024

*hard nofile 65536

最后,再修改/etc/pam.d/login文件,在其中添加下面一行代码:

sessionrequired/lib/security/pam_limits.so

四、创建目录结构

需要创建3个目录:

  • oracle base 此目录作为oracle的基本目录
  • oracle inventory 此目录用于oracle统一安装程序(oracle universal installer,OUI)
  • oracle home 此目录用于安装某些特定的软件,通常作为oracle base的子目录

通常使用/u01、/u02 ...作为数据文件的安装点,使用opt/oracle作为oracle home目录,而oracle inventory的目录则通常为oracle_base/oraInventory

修改oracle目录权限:oracle目录的所有者应设为oracle用户,且用户组应设为oinstall,同事权限应设置为755。

e.g.

mkdir /opt/oracle

chown -R oracle.oinstall /opt/oracle

chmod -R 755 /opt/oracle

五、设置oracle环境

在安装oracle 10g时只需要在.bash_profile文件中添加以下内容:

umask 022

这个命令用来设置默认的文件创建掩码,将掩码设置为022后,创建的文件默认权限将为644,即rw-r--r--。

如果临时目录没有足够的空间,则应设置temp和tempdir环境变量:

TEMP=/u01/temp

TEMPDIR=/u01/temp

export TEMP TEMPDIR

最后是设置oracle_base和oracle_sid环境变量:

ORACLE_BASE=/opt/oracle

ORACLE_SID=orac

export ORACLE_BASE ORACLE_SID

接下来就可以安装oracle了!

 

——摘自Edward Whalen《基于linux平台的oracle database 10g管理》

 

 

 

 

 

---------------------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

 

抱歉!评论已关闭.