W
e
l
c
o
m
e
: )

CentOS7安装oracle 11g流程

CentOS7安装oracle 11g流程

安装准备工作

安装依赖包

操作用户:root。

执行如下命令安装依赖包。

yum -y install xz wget gcc-c++ ncurses ncurses-devel \
cmake make perl openssl openssl-devel gcc* libxml2 \
libxml2-devel curl-devel libjpeg* libpng* freetype* \
make gcc-c++ cmake bison perl perl-devel  perl perl-devel \
glibc-devel.i686 glibc-devel libaio readline-devel \
zlib.x86_64 zlib-devel.x86_64 libcurl-* net-tool*  \
sysstat lrzsz dos2unix telnet.x86_64 iotop unzip \
ftp.x86_64 xfs* expect vim psmisc openssh-client* \
libaio bzip2  epel-release automake binutils bzip2 \
elfutils expat gawk gcc  ksh less make openssh-server \
rpm sysstat unzip unzip cifs-utils libXext.x86_64  \
glibc.i686 binutils compat-libstdc++-33 \
elfutils-libelf elfutils-libelf-devel \
expat gcc gcc-c++ glibc glibc-common \
glibc-devel glibc-headers libaio \
libaio-devel libgcc libstdc++ libstdc++-devel \
make sysstat unixODBC unixODBC-devel libnsl

创建oracle用户

操作用户:root

groupadd -g 502 oinstall
groupadd -g 503 dba
groupadd -g 504 oper
groupadd -g 505 asmadmin
useradd -u 502 -g oinstall -G oinstall,dba,asmadmin,oper -s /bin/bash -m oracle
passwd oracle

解压oracle数据库安装包

操作用户:oracle

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

修改系统核心参数

操作用户:root

修改用户的SHELL的限制

修改/etc/security/limits.conf文件

输入命令:vi /etc/security/limits.conf 将下列内容加入该文件。

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

修改/etc/pam.d/login 文件

输入命令:vi /etc/pam.d/login,将下列内容加入该文件。

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

修改linux内核,修改/etc/sysctl.conf文件

输入命令: vi /etc/sysctl.conf ,将下列内容加入该文件

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 = 4194304
 
net.core.rmem_max = 4194304
 
net.core.wmem_default = 262144
 
net.core.wmem_max = 1048576

要使 /etc/sysctl.conf 更改立即生效,输入:sysctl -p

编辑 /etc/profile

输入命令: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

创建数据库软件目录和数据文件存放目录

目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:

mkdir /home/oracle/app
mkdir /home/oracle/app/oracle
mkdir /home/oracle/app/oradata
mkdir /home/oracle/app/oracle/product

更改目录属主为Oracle用户所有

输入命令:

chown -R oracle:oinstall /home/oracle/app

配置oracle用户的环境变量

首先,切换到新创建的oracle用户下

su - oracle

然后输入vi .bash_profile,增加以下内容

export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

在终端输入source ~/.bash_profile使环境变量生效

安装过程

上述操作全部完成后,系统完全注销,在图形界面以oracle用户登录。

首先进入安装包解压之后的目录database,cd database

执行安装

  1. 在database目录下执行./runInstaller
  2. 出现图形化安装界面之后,取消勾选,这里不输入Email,点击nextimage-20210310233044584
  3. 选在第一个选项,Create and configure a database,点击nextimage-20210310234538872
  4. 默认,下一步image-20210310234601208
  5. 目录是之前设置的目录,填个密码下一步image-20210310234648912
  6. 默认选项,下一步image-20210310234706728
  7. 这时,在安装之前,安装程序应该会提醒你缺少一些依赖包。这时因为我们用的是64位系统,而缺少的这些都是32位的包所导致的。不过不用担心,暂时不会出现问题。选在右上角的Ignore All,直接开始安装image-20210310234747167如果出现了错误,详见下方注意事项。
  8. 这个时候千万不要点okimage-20210311000153576现在打开终端,切换到root用户,执行这两个文件
  9. 这个时候就算安装成功了image-20210311000326655
  10. 执行lsnrctl status查看监听器状态image-20210311000418188
  11. 这个时候再去看看安装好应该做些什么事情吧。

注意事项

  • 系统语言建议选择英语,不然oracle安装程序中的文字都会变成方块(火星语十级的无视)。
  • 中间还有输密码的桥段,记得大小写字母加数字或者符号什么的,只要包含三种就行了。
  • 安装过程中,会出现错误,但请不要担心,会有解决的办法。我接下来会给出解决方案,如果没有你所遇到的,可以自己根据提示的错误代码,自己查询解决方案。
  • 安装过程中,在link binaries阶段出现2个错误

第一个是关于ins_ctx.mk

log显示:

/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'

原因据说是由于本机的glibc版本高于2.14(实际为2.17)。

解决方法:

yum install glibc-static该软件包包含一个静态链接库:/usr/lib64/libc.a

修改/app/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk

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

点击Retry继续

第二个错误是Error in invoking target 'agent nmhs' of makefile'/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.

解决方法,在makefile中添加链接libnnz11库的参数:

修改/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,将

$(MK_EMAGENT_NMECTL)
修改为:
$(MK_EMAGENT_NMECTL) -lnnz11

点击Retry即可

安装完成后

oracle启动监听器

  • 切换到oracle用户 su - oracle
  • 启动监听器 lsnrtcl start
  • 查看监听器状态 lsnrtcl status
  • 停止监听器 lsnrtcl stop

这里我们要把监听器启动起来,然后进行下一步

启动数据库

[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 10 17:04:13 2021

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn /as sysdba
Connected.
SQL> startup

这里安装完之后,可能已经启动了,启动会报错,但请不要担心,进行下一步。

开放1521端口

基于需求,我们要进行远程连接数据库,但连接的时候后说TNS:连接超时,这是因为没有开放1521端口的原因

输入以下命令:

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

这就算OK了。(记得切换到root用户)

这时候应该就可以愉快的玩耍了,有其他的问题根据错误代码与日志自行解决。

测试

  • 使用navicat连接测试一下

    image-20210311000804114

参考文章:

Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作

【Oracle】CentOS7/CentOS8命令行安装Oracle 11G R2

CentOS 7 命令行安装 Oracle 11gR2

posted @ 2021-03-11 00:11  未来科技C级员工  阅读(294)  评论(0编辑  收藏  举报