Ubuntu 16.04下安装Oracle 11g

1. 前言

本篇只是简单安装,满足学习Oracle的使用

2. 环境

​ Ubuntu:16.04

​ Oracle: linux.x64_11gR2_database

​ JDK: jdk-8u144-linux-x64.tar

​ 这些东西我会放在文末的百度云中,有需要可以自取

3. 安装Oracle前的准备

  1. 安装并配置JDK

    安装JDK之前我需要先下载一个vim,方便我们编辑文档。

    使用命令:sudo apt-get install vim等待它自动安装即可

    使用命令mkdir softwaremkdir module创建两个文件夹,然后将jdk拖到software中

    使用命令tar -zxf software/jdk-8u144-linux-x64.tar.gz -C module/安装JDK

    在家目录下使用命令vim .bash_profile在英文状态下按i进入编辑模式后在里面添加如下内容

    1
    2
    3
    4
    5
    6
    7
    8
    #将lzm改成你自己的用户名
    export JAVA_HOME=/home/lzm/module/jdk1.8.0_144

    export JRE_HOME=${JAVA_HOME}/jre

    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

    export PATH=${JAVA_HOME}/bin:$PATH

    添加好后esc,在英文状态下输入:wq进行保存

    然后使用命令source .bash_profile来是配置生效

    使用命令java -version如果出现如下的信息就代表配置成功了

  2. 安装依赖

    因为依赖是32位的所以需要换源安装,并且需要以管理员模式来操作

    su

    cd /etc/apt/sources.list.d

    echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" > ia32-libs-raring.list

    apt update

    apt-get -y install lesstif2 lesstif2-dev

    这样我需要安装的依赖就安装好了,现在我们需要将其还原

    rm -rf ia32-libs-raring.list

    apt update

    现在我们可以退出管理员账户了使用命令exit

    然后我们安装其余的依赖

    sudo apt-get -y install automake autotools-dev binutils bzip2 elfutils expat gawk gcc gcc-multilib g++-multilib lib32ncurses5 lib32z1 ksh less lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386 libelf-dev libltdl-dev libxm4 libodbcinstq4-1 libodbcinstq4-1:i386 libpth-dev libpthread-stubs0-dev libstdc++5 make openssh-server rlwrap rpm sysstat unixodbc unixodbc-dev unzip x11-utils zlibc

![](https://cdn.jsdelivr.net/gh/WhyYouStarted/PhotoGallery@master/images/Hadoop/截屏2020-03-07上午10.31.34.png)

![](https://cdn.jsdelivr.net/gh/WhyYouStarted/PhotoGallery@master/images/Hadoop/截屏2020-03-07上午10.55.08.png)

等待安装就行了
  1. 配置环境

    使用下面的命令查询参数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /sbin/sysctl -a | grep sem

    /sbin/sysctl -a | grep file-max

    /sbin/sysctl -a | grep aio-max

    /sbin/sysctl -a | grep ip_local_port_range

    /sbin/sysctl -a | grep rmem_default

    /sbin/sysctl -a | grep rmem_max

    /sbin/sysctl -a | grep wmem_default

    /sbin/sysctl -a | grep wmem_max

    /sbin/sysctl -a | grep shmall

    /sbin/sysctl -a | grep shmmax

    /sbin/sysctl -a | grep shmmni

    将查询出来的参数填入下面对应的地方

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    kernel.sem = 32000 1024000000 500 32000
    fs.file-max = 242293
    fs.aio-max-nr = 65536
    net.ipv4.ip_local_port_range = 32768 60999
    net.core.rmem_default = 212992
    net.core.rmem_max = 212992
    net.core.wmem_default = 212992
    net.core.wmem_max = 212992
    kernel.shmall = 18446744073692774399
    kernel.shmmax = 18446744073692774399
    kernel.shmmni = 4096

    如果版本一样可以直接复制

    修改sysctl.conf文件,使用命令sudo vim /etc/sysctl.conf

    将上面的内容添加到文件中

    更新内核参数

    sysctl –p

    如果这里报sysctl: cannot stat /proc/sys/–p可以参考一下··········

    添加用户的内核限制(我的用户名是lzm)

    sudo vim /etc/security/limits.conf

    1
    2
    3
    4
    5
    lzm soft nproc 2047
    lzm hard nproc 16384
    lzm soft nofile 1024
    lzm hard nofile 65536
    lzm soft stack 10240

    创建文件夹

    mkdir module/oracle11g

    配置Oracle的环境变量

    vim .bash_profile

    将下面内容添加到文件中

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    export ORACLE_BASE=/home/lzm/module/oracle11g

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

    export ORACLE_SID=orcl

    export ORACLE_UNQNAME=orcl

    export NLS_LANG=.AL32UTF8

    export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64

    然后使用命令source .bash_profile来是配置生效

    欺骗oracle的安装设置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sudo mkdir /usr/lib64
    sudo ln -s /etc /etc/rc.d
    sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
    sudo ln -s /usr/bin/awk /bin/awk
    sudo ln -s /usr/bin/basename /bin/basename
    sudo ln -s /usr/bin/rpm /bin/rpm
    sudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
    sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
    sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
    sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/

    切换root账户

    su

    echo 'Red Hat Linux release 5' > /etc/RedHat-release

    exit

4. 安装Oracle

  1. 解压

    将压缩包拖到software中

    使用命令

    unzip -d module/oracle11g software/linux.x64_11gR2_database_1of2.zip

    unzip -d module/oracle11g software/linux.x64_11gR2_database_2of2.zip

  2. 安装(这里要在虚拟机内进行,shell工具不行)

    cd module/oracle11g/database/

    LANG=en_US ./runInstaller

./runInstaller -jreLoc ~/module/jdk1.8.0_144/jre

cd /tmp/CVU_11.2.0.1.0_lzm/

sudo ./runfixup.sh

sudo sed -i ‘s/^(TNSLSNR_LINKLINE.*$(TNSLSNR_OFILES)) ($(LINKTTLIBS))/\1 -Wl,–no-as-needed \2/g’ tool/oracle11g/product/11.2.0/dbhome_1/network/lib/env_network.mk

sudo sed -i ‘s/^(ORACLE_LINKLINE.*$(ORACLE_LINKER)) ($(PL_FLAGS))/\1 -Wl,–no-as-needed \2/g’ tool/oracle11g/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk

sudo sed -i ‘s/^($LD $LD_RUNTIME) ($LD_OPT)/\1 -Wl,–no-as-needed \2/g’ tool/oracle11g/product/11.2.0/dbhome_1/bin/genorasdksh

sudo sed -i ‘s/^(\s*)($(OCRLIBS_DEFAULT))/\1 -Wl,–no-as-needed \2/g’ tool/oracle11g/product/11.2.0/dbhome_1/srvm/lib/ins_srvm.mk