linux安装Oracle的详解
1、用户环境准备
1.1 组创建
[root@localhost ~]# groupadd dba
[root@localhost ~]# groupadd oinstall
1.2 用户创建
[root@mayi ~]# useradd -g oinstall -G dba oracle
[root@mayi ~]# passwd oracle
2、创建安装目录
创建目录
路径自己定
[root@mayi ~]cd /
[root@mayi ~]mkdir -R oracle/oracleDB/database
//oracle目录用与存放oracle相关软件
//oracleDB存放数据库软以及数据库
//database存放安装包解压后文件。
修改目录所属用户与组
[root@mayi ~]# chmod 777 /oracle #个人原因 设置可以省去这个这个目录的创建
[root@mayi ~]# cd /oracle
[root@mayi ~]# chown -R oracle:oinstall oracleDB
3、依赖包软件安装
配置Linux7与repo 的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
安装依赖
yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-*
compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat*
unixODBC-* pdksh-*
4、系统环境准备
修改用户shell环境
[root@mayi ~]# vim /etc/security/limits.conf //限制用户使用环境的数量
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
直接复制执行
echo oracle soft nproc 2047 >>/etc/security/limits.conf
echo oracle hard nproc 16384 >>/etc/security/limits.conf
echo oracle soft nofile 1024 >>/etc/security/limits.conf
echo oracle hard nofile 65536 >>/etc/security/limits.conf
添加pam认证
[root@mayi ~]# vim /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
修改os系统标识
[root@mayi ~]# vim /etc/redhat-release
redhat-7
修改内核参数
cat>> /etc/sysctl.conf <<EOF
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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
EOF
使用 sysctl -p 进行加载 sysctl.conf 配置文件使其生效
添加环境变量
cat >> /home/oracle/.bash_profile <<!
export ORACLE_BASE=/oracle/oracleDB #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
#下面的编码格式设置
export LANG=EN_US
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
!
下环境变量地址与安装地址之间的关系。【你设置什么安装时读取什么】
关闭SElinux
[root@mayi oracleDB]# vim /etc/selinux/config
SELINUX=disabled 【将之前的 enforcing 改为 disabled 】
[root@mayi oracleDB]# setenforce 0
[root@mayi oracleDB]# getenforce
Permissive
[root@mayi oracleDB]#
5、安装数据库
su - oracle
cd /oracle/oracleDB/database
./runInstaller
进入图形化界面安装
可能会报错:关于DISPLAY的
>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
注意
在安装到68%的时候会有报错,直接忽视两次。
安装过程中连接库时,在进度68%时会出现两个错误:
第一个:
/lib64/libstdc++.so中memcpy@GLIBC_2.4找不到。
问题:glibc是2.17的库,连接找的是2.14的库。
解决办法:改成静态链接。
查看 /usr/lib64/libc.a是否存在。
修改oracle安装目录下:ORACLEHOME/ctx/lib/insctx.mkctxhx:(CTXHXOBJ)
(LINKCTXHX)(CTXHXOBJ) (INSOLINK)修改为:ctxhx:(CTXHXOBJ)
-static (LINKCTXHX)(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
然后点击retry通过。
第二个:
问题:undefinied reference symbol’B_DestroyKeyObject’,查看日志,实际就是没有找到nnz11这个库。
解决办法:
修改ORACLEHOME/sysman/lib/insemagent(MK_EMAGENT_NMECTL)
修改为:
$(MK_EMAGENT_NMECTL) -lnnz11
然后点击retry通过。