zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Django之POST GET与前后端交互
    Django中用户权限模块
    Django运算表达式与Q对象/F对象
    Django中Middleware中间件
    Form表单 JSON Content-type解析
    浅析ajax原理与用法
    浅析Django之session与cookie
    浅谈HTTP协议
    Django 项目搭建(ubuntu系统)
    h5 和之前版本的区别
  • 原文地址:https://www.cnblogs.com/hh09cnblogs/p/14515238.html
Copyright © 2011-2022 走看看