欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Ubuntu 14.04 LTS 64位安装Oracle 11g

程序员文章站 2024-01-12 09:04:34
...

Oracle官方并未说明支持Ubuntu安装,因此环境要调整准备,才能成功安装。Ps,本人重试多次但12c未安装成功,因此安装了Oracle 11

Oracle官方并未说明支持Ubuntu安装,因此环境要调整准备,才能成功安装。Ps,本人重试多次但12c未安装成功,因此安装了Oracle 11g。

环境准备 $sudo ln -s /usr/bin/awk /bin/awk $sudo ln -s /usr/bin/rpm /bin/rpm $sudo ln -s /usr/bin/basename /bin/basename # 直接链接这个目录过来,不建议使用参考文章1的中链接多个文件的方式 $sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64 $cd /lib64 $sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 .
  • 安装必要包
    请参看下面参考文章1和2中列出的安装包,也可以先跳过本步,需要时再装。
  • 建立oracle用户组及安装目录
    我还是使用参考文章2的方式,使用独立的oracle用户来安装oracle。
  • $sudo groupadd oinstall $sudo groupadd dba $sudo mkdir -p /opt/oracle #目录修改为自己机器的实际目录 $sudo useradd -g oinstall -G dba -s /bin/bash oracle $sudo passwd oracle $sudo chown -R oracle:oinstall /opt/oracle
  • 设置系统参数
    请参看下面参考文章1,主要是sysctl和limit的配置。
  • 设置用户环境变量
    根据oracle官方,不建议在安装前先配置.profile或.bashrc,这一点可不用效仿参考文章。可以在安装成功后再配置.profile或.bashrc以用来启用oracle。建议只配置以下变量:
  • $su - oracle $vi .profile # Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR # 直接生效 $source .profile 下载oracle11gR2

    到oracle官方下载oracle11g的linux64位版
    共两个压缩包:

  • linux.x64_11gR2_database_1of2.zip
  • linux.x64_11gR2_database_2of2.zip
  • 解压到某个目录如:/data/downloads/database下,赋予权限。

    $cd /data/downloads/database/install $chmod +x *.sh .oui unzip $sudo chown -R oracle:oinstall /data/downloads/database 执行安装

    我采用的参考文章1中,,指定jre的方式(installer是java写的界面),不然安装界面是乱码,就算用export LANG=C等方式可以调出英文,但界面还是不友好。有两种方式可以打开安装界面,一是直接切换到oracle用户并登录到desktop,另一种是不切换当前界面,执行如下命令:

    $xhost + $su - oracle $export DISPLAY=:0

    然后再执行下面的命令,打开安装界面,开始安装。

    $cd /data/downloads/database $chmodx +x runInstaller # 修改为自己系统对应的jre路径 $./runInstaller -jreloc /usr/lib/jvm/java-7-oracle/jre/

    下一步下一步就可以了,我的建议是都使用默认选项安装,安装目录修改为自己机器上所在目录。

    安装过程中报错处理

    安装过程不会一帆风顺,一般都会有错误弹出。我的经验是,安装过程出现错误,不要急,也先别点确认取消或跳过(保持弹出框不要关闭),仔细查看错误提示,按提示的对应log文件找到具体的错误,再处理。
    我遇到的错误,在参考文章2中都得到了解决,建议弹出错误重点参考文章2。下面我简单列示。

  • 问题1:找不到memcpy@GLIBC_2.14(libstdc++5)
    解决办法是下载新libstdc++5的库。
    从这里下载,直接安压缩包打开提取,并提取到/usr/lib/x86_64-linux-gnu下覆盖掉旧文件(使用有sudo权限账户)。
    文章2中也介绍了一个下载链接,到下面找到64位版下载下来。然后切换到有sudo权限的账户执行安装:
  • $sudo dpkg -i libstdc++5_3.3.6-27.2ubuntu1_amd64.deb
  • 问题2:在执行’链接二进制文件’时如果遇到错误(一些makefile)
    解决办法是,开个控制台,执行下面的脚本,可以根据弹出错误对就在.mk文件来执行对应的脚本,然后重试,也可第一次出现错误时一起执行,然后重试。
  • $export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1 $sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk $sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk $sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk $sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh $sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk
  • 如果还有其它错误,请参见参考文章2。都处理好后,就可以安装完成。
  • 安装完成

    安装完成后,还要执行两个脚本(也可能是一个脚本,安装界面最后会有提示的),只要拿出来sudo执行即可。

    /opt/oracle/product/11.2.0/dbhome_1/root.sh
  • 最后安装程序会执行建立监听(1521),创建样例库,启动em等,请耐心等待,界面有可能是乱码,不用管它,最后的弹出界面点最下面的按钮。
  • 完善用户环境变量

    完成对oracle环境变量的配置,在oracle主目录下执行:

    $vi .profile export ORACLE_HOSTNAME=localhost; export ORACLE_BASE=/opt/oracle; export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_SID=orcl; export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib .profile 启动oracle