Oracle官方并未说明支持Ubuntu安装,因此环境要调整准备,才能成功安装。Ps,本人重试多次但12c未安装成功,因此安装了Oracle 11g。
环境准备
- ubuntu14.04桌面64位
我的desktop是gnome,中文版。 - jdk准备(我的是jdk1.7.60)
- 配置系统环境变量:
(用于保证安装时一些脚本正常执行,在有sudo权限的用户下执行)
$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 SettingsTMP=/tmp;export TMPTMPDIR=$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执行即可。# 执行第1个,如果安装界面有提示,就sudo它# 执行第2个脚本,根据安装界面给出的路径$sudo /opt/oracle/product/11.2.0/dbhome_1/root.sh- 最后安装程序会执行建立监听(1521),创建样例库,启动em等,请耐心等待,界面有可能是乱码,不用管它,最后的弹出界面点最下面的按钮。
完善用户环境变量
完成对oracle环境变量的配置,在oracle主目录下执行:
$vi .profileexport 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/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/libexport NLS_LANG="Simplified chinese_china.al32utf8"# 配置直接生效$source .profile启动oracle
其实安装完成后,oracle数据已经启用成功。但重启服务器后,库未自动重启加载(自启动读者可自行配置),下面介绍一下手工操作。
# 登录到oracle用户$su - oracle# 启动# 可以使用netstat -lntp看一看1521商品是否打开$lsnrctl start# 停止$lsnrctl stop# 也可使用$dbstart $ORACLE_HOME$dbshut $ORACLE_HOME# 可用以下命令配置监听,注意必须进入图形界面$export LANG=C# hostname处尽量填主机名称,不用IP,用IP也要更换端口$netmgr$sqlplus / as sysdba# 启动SQL>startup;# 停止SQL>shutdown immediate;启动/关闭em EM可用web来管理数据库服务器,还算方便,如果需求也可启用。
# 前提是ORACLE_HOSTNAME要设置正确(命令中也有提示)$emctl stop dbconsole访问地址:
https://localhost:1158/em
参考文章1、64位 Ubuntu 安装 Oracle 11G http://www.linuxidc.com/Linux/2011-09/43254.htm2、参考文章2更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址