调整内核参数
Linux是为小文件设计的,Oracle数据库安装需要占用较多资源,要把各项参数调大。
使用vi编辑/etc/sysctl.conf文件。命令如下:
vi /etc/sysctl.conf
按i进入插入模式,把光标移到文档最后,将以下一段文字(复制自Oracle 11g官方文档)插入到文档最后。
编辑/etc/sysctl.conf文件,设置相关参数的系统默认值。如果该文件中已有相关参数的设置,则确保参数值不小于如下对应值;如果还没有相关参数的设置,则按照如下格式添加相应的参数设置行。
#-----在最后添加---------
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
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
fs.aio-max-nr = 1048576
保存后生效命令:
# /sbin/sysctl -p
创建运行oracle数据库的用户和用户组
su root #切换到root
groupadd dba #创建用户组dba
useradd -g dba -m oracle #创建oracle用户,并加入到dba用户组
passwd oracle #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登录
id oracle # 查看新建的oracle用户
对oracle用户设置限制
为了提高软件运行性能,需要对oracle用户设置限制。
执行vim /etc/security/limits.conf命令,编辑/etc/security/limits.conf文件,修改操作系统对oracle用户资源的限制(设置进程数和最大会话数)。
在该文件中添加如下行:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
编辑/etc/pam.d/login文件
将配置文件加入到登录验证模块
vim /etc/pam.d/login
加入以下语句:
session required pam_limits.so
(注意:根据最后一条session规则的注释,应该加在最后一条规则之前)
配置全局环境变量
通过 ulimit 改善系统性能, 在安装oracle的时候检查约束,要求当前可打开的文件描述符的最大数是65536。在用户下执行ulimit -a显示可打开的最大文件数。
通过修改全局环境,改善oracle用户的性能
vim /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
创建数据库软件目录和数据文件存放目录
目录的位置,根据自己的情况来定,并改变相应的权限
mkdir -p /opt/oracle/product #创建 oracle 安装目录
mkdir -p /opt/oracle/oradata #创建 oracle 数据文件存放目录
mkdir -p /opt/oracle/oraInventory #创建 oracle 数据库清单目录
chown -R oracle:dba /opt/oracle #设置 oracle 用户为目录的所有者
chmod -R 775 /opt/oracle/ #修改权限,本组用户可读可写
配置 oracle 用户的环境变量
切换到新创建的 oracle 用户下:su oracle
vim /home/oracle/.bash_profile
添加
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
#下面的 2 行,防止安装界面乱码
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LANG=en_US.UTF8
保存上面的文件退出后,在 oracle 用户下执行命令:
source /home/oracle/.bash_profile,让配置立即生效。
修改/etc/oraInst.loc文件
目录清单文件
vim /etc/oraInst.loc
inventory_loc=/opt/oracle/oraInventory
inst_group=dba
修改权限
chmod 664 /etc/oraInst.loc
安装依赖包
查看 oracle 官网,根据版本下载对应的依赖包。
https://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCGJCEA 根据我们安装的系统版本,对应的依赖包如下:
安装依赖
yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++- devel libXi libXtst make sysstat pdksh
注意:安装 ORACLE 中出现的大多数问题都是由于依赖包缺失而引发的,因此,安装完后一定要查看是否已经安装所有的依赖包。
查看命令:
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat
如果一切都正常,那么我们的准备工作就完成了。