CentOS7.6.1810下安装Oracle11.2.0.1.0

430 阅读3分钟

1、很多安装不成功都是版本未对应,所以老规矩,先上版本号:

cat /etc/centos-release

显示信息,如下

CentOS Linux release 7.6.1810 (Core) 

2、创建oracle用户与组,最好组名与用户名不要换,后面很多地方包括自启动都要用到

groupadd oinstall

groupadd dba

useradd -g oinstall -g dba -m oracle

passwd oracle

id oracle

3、为oracle创建安装安装目录并授权

mkdir -p /usr/local/oracle

mkdir -p /usr/local/oraInventory

chown -R oracle:oinstall /usr/local/oracle

chown -R oracle:oinstall /usr/local/oraInventory

4、修改/home/oracle/.bash_profile

vi /home/oracle/.bash_profile

添加如下内容

# ORACLE_BASE与上面授权的安装目录对应即可
export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

使配置立即生效

source /home/oracle/.bash_profile

5、对oracle用户进行限制 据说为了提高软件运行性能,需要对oracle用户设置限制。对,进行限制,提高性能?别问我,我也不懂……

vi /etc/security/limits.conf

添加如下内容

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

6、修改/etc/pam.d/login

vi /etc/pam.d/login

添加如下内容

session required pam_limits.so

7、修改/etc/profile

vi /etc/profile

添加如下内容

if [ $USER = "oracle" ]; then  
    if [ $SHELL = "/bin/ksh" ]; then  
       ulimit -u 16384   
       ulimit -n 65536  
    else  
       ulimit -u 16384 -n 65536  
    fi  
fi

8、修改OS系统标识 oracle老大哥说了,俺不支持CentOS……没办法,骗下她吧……

vi /etc/redhat-release

将原信息注释,并添加如下内容

redhat-7

9、修改内核参数

vi /etc/sysctl.conf

添加如下内容

kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
kernel.shmmax = 2079272960
kernel.shmmni = 4096
fs.aio-max-nr = 1048576

立即生效吧,阿门~

sysctl -p

10、将IP地址与主机名进行映射

# 查看主机名
hostname

修改/etc/hosts

vi /etc/hosts

添加如下内容

10.5.25.104 hadoop

11、安装依赖软件包

yum install -y gcc libaio glibc.i686 compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf-devel glibc-devel glibc-headers gcc-c++ libaio-devel libaio-devel.i686 libgcc.i686 libstdc++ libstdc++.i686 unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686 ksh

就这些吧,其实还需要安装几个i386的包,不想装,我一64位的系统干毛装32位的包,拒装……,安装过程中会弹出两个错误,但可以绕过,而且也没发现影响使用……

12、解压并对安装源目录进行授权

unzip linux.x64_11gR2_database_1of2.zip 

unzip linux.x64_11gR2_database_2of2.zip 

chown -R oracle:oinstall /opt/database

13、重启,使用oracle用户进行登录(不要用root登录再su oracle)进行安装

/opt/database/runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0

不指一下jre路径弹出窗无法展开……

(1)勾掉下面的选框

(2)不要修改安装目录(刚刚配置的权限)

(3)清单目录与所属组

(4)不要修改SID,刚才设置过

(5)忽略未安装包

14、安装过程中的两个错误 (1)/usr/local/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk中的错误

vi /usr/local/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk

通过/$(CTXHXOBJ)进行查找,并且将

ctxhx: $(CTXHXOBJ)
    $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)

修改为

ctxhx: $(CTXHXOBJ)
    -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a

点击[Retry]

(2)/usr/local/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk中的错误

vi /usr/local/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk

通过/$(MK_EMAGENT_NMECTL)进行查找,并且将

$(MK_EMAGENT_NMECTL)

修改为

$(MK_EMAGENT_NMECTL) -lnnz11

点击[Retry]

15、安装完成后,按提示执行脚本

/usr/local/oraInventory/orainstRoot.sh

/usr/local/oracle/product/11.2.0/dbhome_1/root.sh

点击[OK],安装成功!

16、在防火墙放行1521端口,并重新加载防火墙

sudo firewall-cmd --zone=public --add-port=1521/tcp --permanent

sudo firewall-cmd --reload