Ubuntu16安装Oracle 11g XE

Author Avatar
Sarience 4月 25, 2017
  • 在其它设备中阅读本文章

在学习JavaEE过程中需要用到数据库,而老师用的是Windows下的oracle XE,我用的是Ubuntu,又不想装虚拟机,所以便到oracle官网下载了安装包,并参考了一些文章,记录一下安装过程,以此作为以后的参考笔记。

Tips:什么是Oracle 11g XE呢?

Oracle Database Express Edition 是Oracle Database的简装版,只有一个数据库实例XE,因此也叫Oracle Database XE。它拥有正式版的所有功能,只是在内存和数据大小上做了限制。适合初学者用来学习Oracle。

安装包下载与转换

  1. 从官网下载Oracle 11g XE安装包(需要创建账户登录后才能下载),下载的文件是oracle-xe-11.2.0-1.0.x86_64.rpm.zip也可以下载我提供的下载好的安装包

  2. 转换deb包(若下载了deb安装包,跳过此步骤:deb安装包地址
    由于官方只为Linux提供了rpm安装包(适用于CentOS,Redhat,Fedora),所以需要先转化deb包。

    1. 解压到当前目录
      unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

    2. 安装.deb与.rpm包转换工具:alien
      sudo apt-get install alien

    3. 生成deb包
      sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

    4. 安装依赖类库
      sudo apt-get install libaio1 unixodbc

    5. 创建配置文件
      新建chkconfig文件
      Oracle XE在Red Hat上安装时需要依赖/sbin chkconfig文件,Ubuntu没该文件安装时会报错。
      sudo gedit /sbin/chkconfig
      把下面内容贴进去

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      #!/bin/bash
      # Oracle 11gR2 XE installer chkconfig hack for Ubuntu
      file=/etc/init.d/oracle-xe
      if [[ ! `tail -n1 $file | grep INIT` ]]; then
      echo >> $file
      echo '### BEGIN INIT INFO' >> $file
      echo '# Provides: OracleXE' >> $file
      echo '# Required-Start: $remote_fs $syslog' >> $file
      echo '# Required-Stop: $remote_fs $syslog' >> $file
      echo '# Default-Start: 2 3 4 5' >> $file
      echo '# Default-Stop: 0 1 6' >> $file
      echo '# Short-Description: Oracle 11g Express Edition' >> $file
      echo '### END INIT INFO' >> $file
      fi
      update-rc.d oracle-xe defaults 80 01
    6. 给chkconfig添加执行权限
      sudo chmod 755 /sbin/chkconfig

    7. 配置内核参数
      新建60-oracle.conf
      sudo gedit /etc/sysctl.d/60-oracle.conf
      输入下面内容

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      # Oracle 11g XE kernel parameters
      fs.file-max=6815744
      net.ipv4.ip_local_port_range=9000 65000
      kernel.sem=250 32000 100 128
      kernel.shmmax=4163487744
      net.core.rmem_default=262144
      net.core.rmem_max=4194304
      net.core.wmem_default=262144
      net.core.wmem_max=1048576
      fs.aio-max-nr=1048576
    8. 加载内核参数:
      sudo service procps start
      执行以下语句看看内核参数是否修改成功
      sudo sysctl -q fs.file-max
      如果返回结果是fs.file-max = 6815744就说明修改成功了。如果不是该数值的话,可能是安装依赖库的问题。(最好重启一下计算机)

安装、配置端口等

  1. 安装Oracle XE,在deb安装包所在目录的终端下执行下面的命令
    sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb

  2. 配置xe端口、密码等,注意要输入数据库密码。
    sudo /etc/init.d/oracle-xe configure

配置环境变量

  1. 打开shell配置文件,Ubuntu默认shell是bash,配置文件是.bashrc。
    sudo gedit ~/.bashrc

  2. 将以下内容复制到shell的配置文件中进去,如果原先配置过PATH环境变量的话,将现在的加进去就可以。

    1
    2
    3
    4
    5
    6
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
    export ORACLE_SID=XE
    export NLS_LANG="`$ORACLE_HOME/bin/nls_lang.sh`"
    export ORACLE_BASE=/u01/app/oracle
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export PATH=$ORACLE_HOME/bin:$PATH

启动服务

  1. 安装完成后,oracle-xe服务是默认启动的,并且会开机自启,可以通过sysv-rc-conf这个软件来设置。(建议关机前手动关掉oracle-xe服务,不然关机会很慢)
    sudo service oracle-xe start
    (启动完毕也重启一下计算机)

检查端口监听

卸载

1
2
3
apt-get remove --purge oracle-xe
rm /etc/default/oracle-xe
rm –rf /u01