zoukankan      html  css  js  c++  java
  • Centos7.6安装Oracle11gR2

    Centos7.6安装Oracle11gR2

     

      Windows下安装Oracle比较容易,参考博客:https://www.cnblogs.com/ggll611928/p/5972816.html ;但是在linux下就需要安装桌面环境。

      安装环境:

        系统:CentOS7.6  8核64G  磁盘1T(建议最小2核2G,50G)

        Oracle软件版本:linux.x64_11gR2_database_1of2.zip

                linux.x64_11gR2_database_2of2.zip

    1 下载Oracle

      官方下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 

      linux.x64_11g下载地址:https://www.oracle.com/technetwork/cn/java/112010-linx8664soft-100572.html

      官网下载时需要登陆Oracle账号,没有的可以注册一个。

    2 基础环境准备

    2.1 关闭防火墙和selinux

      测试环境,为了方便快速稳定部署,生产环境不建议关闭防火墙和selinux。建议提前做好系统优化,优化参考脚本→点击进入

    1
    2
    3
    4
    5
    6
    7
    8
    9
    systemctl status firewalld 
    systemctl disable firewalld
    systemctl disable firewalld
    #firewall-cmd --zone=public --add-port=1521/tcp --permanent #如果打开防火墙的话,需放开Oracle1521端口
    #firewall-cmd --reload #增加新的配置需重新加载
    sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config
    setenforce 0
    getenforce

    2.2 创建运行Oracle用户和用户组

      创建的这些用户组的说明,请参考:https://blog.csdn.net/qq_32786873/article/details/82187346

    1
    2
    3
    4
    5
    6
    7
    8
    9
    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba oracle
    id oracle
    mkdir -p /home/data/oracle          #创建oracle安装目录
    mkdir -p /home/data/database        #创建oracle解压目录
    mkdir -p /home/data/oraInventory    #创建oracle配置文件目录
    chown -R oracle:oinstall /home/data    #设置oracle用户为目录的所有者
    chmod -R 775 /home/data

    2.3 修改Oracle用户限制

      执行vim /etc/security/limits.conf文件,修改操作系统对oracle用户资源的限制。

    1
    2
    3
    4
    oracle soft nproc 4096
    oracle hard nproc 16384
    oracle soft nofile 2048
    oracle hard nofile 65536

      要使limits.conf文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中。编辑文件:vim /etc/pam.d/login

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

      为了能让每个用户在每次登陆系统之后,都能自动设置其最大可启动进程数与最多可开启文件数,设置 /etc/profile

    1
    2
    3
    4
    5
    6
    7
    8
    if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
            ulimit -n 65536
        else
            ulimit -u 16384 -n 65536
        fi
    fi

      配置完成source /etc/profile使之生效。

    2.4 配置内核参数和资源限制

      编辑/etc/sysctl.conf文件,设置相关参数的系统默认值。每次操作系统启动时,便会自动设置这些内核参数。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ####oracle
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 536870912
    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

      执行sysctl -p 查看并生效:(-p:从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载)

    2.5 配置Oracle用户环境变量

      设置用户环境变量,将下列设置添加到 /home/oracle/.bash_profile文件中;注意:要写到原有“PATH=PATH:PATH:HOME/bin”变量上面,否则会提示“bash: sqlplus: command not found”

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    umask 022
    export ORACLE_BASE=/home/data/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID=orcl
    export ORACLE_TERM=xterm
    export PATH=$ORACLE_HOME/bin:/user/sbin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export LANG=C
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
    PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
    export PATH

      切换oracle用户,执行source /home/oracle/.bash_profile 或 . .bash_profile使之生效。使用echo $ORACLE_HOME 来显示是否生效

    2.6 配置主机名监听

      增加主机名,若不执行此步,则配置监听时会出错,系统无法识别监听。

    1
    2
    3
    4
    5
    6
    7
    8
    hostnamectl set-hostname oracle
    cat /etc/sysconfig/network
    # Created by anaconda
    hostname=oracle
    cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 oracle
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.10.16.245 oracle

    2.7 安装指定jdk

      在linux下安装oracle时,由于执行 runInstaller脚本时, 部分提示框显示不全,也有显示正常的,为保险起见还是安装好1.8jdk,直接执行install_jdk.sh脚本

     View Code

      安装jdk参考另一篇博客:https://www.cnblogs.com/qianjingchen/p/9547815.html

    3 安装Oracle11g2R

    3.1 安装相关依赖包

      安装系统依赖包,这一步也是最关键出错的地方,所以一定要注意:

    1
    2
    3
    yum -y install binutils-* compat-libcap1-* gcc-* gcc-c++-* glibc-* glibc-devel-* glibc-headers-* libstdc* elfutils-libelf-devel* libaio-devel* unixODBC-* pdksh-* libaio-* libgcc-* libXi-* libXtst-* make-* sysstat-* ld-linux.so.2 libc.so.6*
    wget ftp://ftp.icm.edu.pl/vol/rzm3/linux-redhat/linux/6.1/en/os/i386/RedHat/RPMS/pdksh-5.2.14-1.i386.rpm #默认pdksh会无法安装,使用rpm安装
    rpm -ivh pdksh-5.2.14-1.i386.rpm

    3.2 安装图形化桌面 

       安装oracle之前,Centos需要安装桌面环境,如果你的机器一开始就已经装好了桌面环境,可以忽略此步骤。我这里安装完系统,默认是命令行界面,这时就需要手动来安装用户图形界面了。

       查看一下当前的运行级别和可以安装的group:

    1
    2
    systemctl get-default
    yum grouplist

      用命令行安装GNOME包,这需要等待很长一段时间:

    1
    yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

      如果是centos6,安装命令是 yum install "X Window System"。在centos7里面的默认运行级别可以查看到有两种:multi-user.target和graphical.target。 

      更新系统的运行级别为graphical.target,设置默认启动图形界面:

    1
    2
    3
    systemctl set-default graphical.target
    ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
    systemctl get-default  #检查一下

      重启系统reboot,然后开机就能进入图形界面,按照提示设置普通用户登录密码,语言和时区等。

    3.3 解压缩包并安装

      将下载好的Oracle安装文件上传到CentOs上去,我这里放到了/home/soft目录下;

     

       执行解压命令到指定目录:

    1
    2
    unzip linux.x64_11gR2_database_1of2.zip -d /home/data/ 
    unzip linux.x64_11gR2_database_2of2.zip -d /home/data/

      /home/oracle/database 有执行权限,将该目录赋予oracle帐号所有,并拥有执行权限:

    1
    2
    chmod -R 700 /home/data/database
    chown -R oracle:oinstall /home/data/database

      切换为oracle 用户,以静默方式执行安装脚本:注意此步骤一定要在图形桌面上执行

    1
    2
    3
    4
    5
    6
    7
    8
    #切换到root用户执行
    # xhost +SI:localuser:oracle
    #登录回oracle用户:
    # su - oracle
    $ cd /home/oracle/database
    $ source /home/oracle/.bash_profile
    $ export DISPLAY=10.10.16.245:0.0
    $ ./runInstaller  -jreLoc /usr/java/jdk1.8.0_60/ #如果是中文字符集乱码,就执行:unset LANG LANGUAGE,再次执行安装脚本。这里指定jdk版本是因为后面会有窗口显示不全问题。

     

      取消选中这个界面上的I wish to receive security updates via My Oracle Support 复选框,点击Next

      直接默认yes,点击下一步,默认创建和配置一个数据库:

      选择服务类:

      选择单实例数据库:

      我这里选择典型安装,也可以选择高级安装,安装步骤更多:

      选择典型安装Oracle基本配置:最好保持和ORACLE_BASE&&ORACLE_HOME配置环境变量一致,点击yes

      选择清单目录、即Oracle配置文件存放目录:用户组选择默认

       先决条件检查:查看缺失的依赖包

     

      最好不要选择右上角“Igrnore all”(全部忽略),如下图显示,有些包还没有安装,里面显示是需要32位(i386)的,相关文件已经打包好。下载地址:链接: https://pan.baidu.com/s/1Wr_csyUtsg0UFulXE5qoNA  提取码: v2e5 

      使用方法:在root用户下,解压后直接./oracle_rpm_setup.sh即可自动安装全部的包。

    1
    2
    3
    unzip oracle_rpm_setup.zip
    cd oracle_rpm_setup/
    ./oracle_rpm_setup.sh

     点击"Check Again"后,之前提示包全部完成,剩下的可以忽略。

      直接下一步,在Summary界面,保持默认,点击Finish,开始安装:

      安装过程中,差不多需要15—30分钟左右,其中会有一些错误提示,不过不影响,我们选择continue和默认即可。

     

      安装完成后会提示需要执行两个脚本, 使用root账户执行两个脚本即可完成所有安装步骤。

      登录root用户,到下面的两个目录下执行脚本即可。

    1
    2
    3
    4
    cd /home/data/oraInventory/
    sh orainstRoot.sh
    cd /home/data/oracle/product/11.2.0/db_1
    sh root.sh

     

      点击close,至此完成Oracle的配置和安装:

     4 启动oracle和配置监听

      linux下的Oracle在安装结束后是处于运行状态的。端口号1521,运行top -u oracle可以看到以Oracle用户运行的进程。在图形化界面下,运行$ORACLE_HOME/sqldeveloper/sqldeveloper.sh可以出现Oracle自带的免费Oracle管理客户端SQL Developer。试着连接刚安装的Oracle,连接成功。

    4.1 以oracle用户登录

      以oracle身份登录数据库,进入Sqlplus控制台:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    # su - oracle
    $ sqlplus /nolog      --进入Sqlplus控制台
    SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 4 17:48:39 2019
     
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
     
    SQL> connect / as sysdba    --以系统管理员登录
    Connected.
    SQL> startup    --启动数据库实例
    ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
    SQL> shutdown immediate    --关闭数据库实例
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> exit        --退出sqlplus控制台
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    4.2 启动监听服务

      以oracle身份登录数据库,前提是首先启动数据库,也可以用dbstart和dbshut启动和关闭数据库实例

    1
    2
    3
    4
    5
    6
    $ dbstart $ORACLE_HOME #重启oracle实例
    $ dbshut $ORACLE_HOME  #关闭oracle实例
    $ lsnrctl status #查看监听状态
    $ lsnrctl stop   #关闭监听,1521端口关闭
    $ lsnrctl start    #启动监听,1521端口开启
    $ dbca        #创建数据库实例orcl,图形界面操作

      

  • 相关阅读:
    DES加密/解密类。
    断言与单元测试
    空对象模式和扩展方法的NULL验证
    防御性判断
    行为型-观察者模式、基于事件的观察者
    【Python学习日记】B站小甲鱼:继承,super和多重继承
    【Python学习日记】B站小甲鱼:类和对象
    【Python学习日记】B站小甲鱼:图形界面入门easygui
    【Python学习日记】B站小甲鱼:丰富的else语句
    【Python学习日记】B站小甲鱼:永久储存(pickle模块)和异常处理(exception)
  • 原文地址:https://www.cnblogs.com/ityunwei/p/13646786.html
Copyright © 2011-2022 走看看