28.2.3 安装前的配置
在安装Oracle 11g前,需要手工更改系统的内核参数以及创建oracle用户和用户组,具体操作步骤如下所述。
(1)创建oracle用户和oinstall、dba用户组,命令如下所示。
# /usr/sbin/groupadd oinstall //创建用户组oinstall
# /usr/sbin/groupadd dba //创建用户组dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle //创建用户oracle
# id oracle //查看用户oracle的属性
uid=512(oracle) gid=1005(oinstall) groups=1005(oinstall),1006(dba) cont-
ext=user_u:system_r:unconfined_t
(2)设置oracle用户的口令,命令如下所示。
# passwd oracle //设置oracle用户的口令
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is too simplistic/systematic
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
//口令更改成功
(3)创建Oracle的安装目录。
# mkdir -p /u01/app/oracle //创建/u01/app/oracle目录
# chown -R oracle:oinstall /u01/app //更改目录的所有者和属组
# chmod -R 775 /u01/app //更改目录的权限
(4)更改系统的核心参数,以满足Oracle 11g的安装要求。
# cat >> /etc/sysctl.conf <<EOF //修改/etc/sysctl.conf文件中的核心参数
> kernel.shmmni = 4096 //设置kernel.shmmni参数值为4096
> kernel.sem = 250 32000 100 128 //设置kernel.sem参数值为250 32000 100 128
> fs.file-max = 65536 //设置fs.file-max参数值为65536
net.ipv4.ip_local_port_range = 1024 65000//设置net.ipv4.ip_local_port_
range参数值为1024 65000
> net.core.rmem_default=4194304 //设置net.core.rmem_default参数值为4194
304
> net.core.wmem_default=262144 //设置net.core.wmem_default参数值为262144
> net.core.rmem_max=4194304 //设置net.core.rmem_max参数值为4194304
> net.core.wmem_max=262144 //设置net.core.wmem_max参数值为262144
> EOF
# /sbin/sysctl –p //使更改后的内核参数生效
net.ipv4.ip_forward = 0 //该命令会同时输出更改后的内核参数的值
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
…省略部分输出…
%注意:上述的内核参数值只是Oracle 11g数据库的最小要求,用户可以根据实际情况把参数值增大,执行以下命令可查看上述内核参数的当前值。
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
/sbin/sysctl -a | grep rmem_default
/sbin/sysctl -a | grep rmem_max
/sbin/sysctl -a | grep wmem_default
/sbin/sysctl -a | grep wmem_max
(5)为oracle用户设置可使用的文件和进程数限制。
# cat >> /etc/security/limits.conf <<EOF
//更改/etc/security/limits.conf文件
> oracle soft nproc 2047 //设置oracle用户的进程数限制
> oracle hard nproc 16384
> oracle soft nofile 1024 //设置oracle用户的文件数限制
> oracle hard nofile 65536
> EOF
# cat >> /etc/pam.d/login <<EOF //更改/etc/pam.d/login文件
> session required /lib/security/pam_limits.so
> EOF
(6)更改bash、ksh及cshell的默认profile文件的内容。
# cat >> /etc/profile <<EOF
> if [ /$USER = "oracle" ]; then
> if [ /$SHELL = "/bin/ksh" ]; //如果当前SHELL为ksh
> then
> ulimit -p 16384 //更改进程数限制为16384
> ulimit -n 65536 //更改文件数限制为65536
> else //否则执行以下代码
> ulimit -u 16384 -n 65536
> fi
> umask 022 //设置umask的值
> fi
> EOF
# cat >> /etc/csh.login <<EOF //cshell的配置
> if ( /$USER == "oracle" ) then
> limit maxproc 16384 //更改进程数限制为16384
> limit descriptors 65536 //更改文件数限制为65536
> umask 022 //设置umask的值
> endif
> EOF
把上述内容加入到/etc/profile后,用户每次登录都会自动执行上述代码。
(7)允许所有客户端连接X服务器。
# xhost +