Oracle10.2.0.1 For CentOS6.0 安装文档(二)

创建相关的组及用户

[root@localhost 桌面]# groupaddoinstall

[root@localhost 桌面]# groupadddba

[root@localhost 桌面]# useradd-g oinstall -G dba -d /home/oracle oracle

[root@localhost 桌面]# idoracle

uid=501(oracle) gid=501(oinstall) 组=501(oinstall),502(dba)

[root@localhost 桌面]# passwdoracle

[root@localhost 桌面]# idnobody      创建nobody用户之前先看一下该用户是否已经存在

uid=99(nobody) gid=99(nobody) 组=99(nobody)

 

用户资源限制

向/etc/security/limits文件中,添加如下参数

[root@localhost 桌面]# vi/etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

 

PS:limits.conf 配置 limits.conf文件实际是 Linux PAM(插入式认证模块)中 pam_limits.so 的配置文件,而且只针对于单个会话

第一行规则(软)定义用户oracle的最大进程数为2047

第二行规则(硬)定义用户oracle的最大进程数为16384

第三行规则(软)定义用户oracle打开文件的最大数目为1024

第四行规则(硬)定义用户oracle打开文件的最大数目为65536

soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高

 

向/etc/pam.d/login文件中,添加如下参数

[root@localhost 桌面]# vi/etc/pam.d/login

session    required    /lib/security/pam_limits.so
session    required    pam_limits.so

 

PS:这个涉及到linux高级安全部分

 

[root@localhost 桌面]# vi /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

 

PS:
/etc/profile这个文件是每个用户登录时都会运行的环境变量设置

即:如果oracle用户的shell环境是/bin/ksh,那么限制管道缓冲区的大小为16384K,可以打开的最大文件数是65536个

                                    反之,限制oracle用户最多可以使用16384个进程,最多可以打开65536个文件

 

操作系统资源限制

修改内核参数及相关配置文件

[root@localhost 桌面]# vi/etc/sysctl.conf              添加下列行

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

 

参数说明:

kernel.shmall

    Totalamount of shared memory available (bytes or pages)

kernel.shmmax

    Maximumsize of shared memory segment (bytes)

    建议大于等于SGA

kernel.shmmni

    Maximumnumber of shared memory segments system-wide

kernel.shmall*kernel.shmmni = 能够分配的内存大小

kernel.sem = SEMMSL SEMMNS SEMOPMSEMMNI

    SEMMSLMaximum number of semaphores per set

        每个信号对象集的最大信号对象数;

    SEMMNSMaximum number of semaphores system-wide

        系统范围内最大信号对象数;

    SEMOPM

        每个信号对象支持的最大操作数;

    SEMMNIMaximum number of semaphore identifiers

        系统范围内最大信号对象集数。

其中 SEMMNS的值等于 SEMMSL*SEMMNI

fs.file-max

    系统中所允许的文件句柄最大数目。

net.ipv4.ip_local_port_range

    应用程序可使用的IPv4端口范围。

net.core.rmem_default

    套接字接收缓冲区大小的缺省值

net.core.rmem_max

    套接字接收缓冲区大小的最大值

net.core.wmem_default

    套接字发送缓冲区大小的缺省值

net.core.wmem_max

    套接字发送缓冲区大小的最大值

 

部分详解:

shmmax该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降

kernel.shmall该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,如果要调整SGA大于8G,就要调大该参数。Linux 共享内存页大小为4KB, 共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是 16GB/4KB=16777216KB/4KB=4194304 (页),也就是64Bit 系统下16GB 物理内存,设置kernel.shmall = 4194304 才符合要求

kernel.shmmni这个内核参数用于设置系统范围内共享内存段的最大数量(注意这个参数不是 shmmin,是shmmni, shmmin 表示内存段最小大小) 。shmmni 缺省值 4096 ,一般肯定是够用了

sem:该参数表示设置的信号量

 

使上述参数生效

[root@localhost 桌面]# sysctl-p

 

 

设置oracle环境变量

[root@localhost 桌面]# vi/etc/hosts

192.168.181.132   Oracle11gR2

127.0.0.1 Oracle11gR2 localhost

 

 

oracle@localhost ~]$ vi .bash_profile

umask=022

export ORACLE_BASE=/home/oracle

export ORACLE_HOME=$ORACLE_BASE/11gR2

export ORACLE_CRS_HOME=$ORACLE_BASE/crs

exportORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin

export ORACLE_SID=aniya

export ORACLE_TERM=xterm

exportPATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:${PATH}:$HOME/bin

exportPATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

exportPATH=${PATH}:$ORACLE_BASE/common/oracle/bin

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS10=$ORACLE_HOME/nls/data

exportLD_LIBRATY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/oracm/lib:$oracle_home/lib

exportLIBPATH=$LIBPATH:$ORA_CRS_HOME/lib:$ORACLE_HOME/lib

exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/JRE

export THREADS_FLAG=native

export TEMP=/tmp

export TMPDIR=/tmp

exportNLS_LANG=american_american.WE8ISO8859P1

export DISPLAY=192.168.181.132:0.0

export EDITOR=vi

 

加载上述配置

         oracle用户注销重新登录 或 source.bash_profile

 

关闭SeLinux

[root@localhost 桌面]# vi/etc/selinux/config

SELINUX=disabled

你可能感兴趣的:(Oracle10.2.0.1 For CentOS6.0 安装文档(二))