Oracle官方并未说明支持ubuntu安装,因此环境要调整准备,才能成功安装。Ps,本人重试多次但12c未安装成功,因此安装了11g。
环境准备
ubuntu14.04桌面64位
我的desktop是gnome,中文版。
jdk准备(我的是jdk1.7.60)
配置系统环境变量:
(用于保证安装时一些脚本正常执行,在有sudo权限的用户下执行)
$sudoln-s/usr/bin/awk /bin/awk$sudoln-s/usr/bin/rpm /bin/rpm$sudoln-s/usr/bin/basename /bin/basename# 直接链接这个目录过来,不建议使用参考文章1的中链接多个文件的方式$sudoln-s/usr/lib/x86_64-linux-gnu /usr/lib64$cd/lib64$sudoln-s/lib/x86_64-linux-gnu/libgcc_s.so.1.
安装必要包
请参看下面参考文章1和2中列出的安装包,也可以先跳过本步,需要时再装。
建立oracle用户组及安装目录
我还是使用参考文章2的方式,使用独立的oracle用户来安装oracle。
$sudogroupadd oinstall$sudogroupadd dba$sudomkdir -p /opt/oracle#目录修改为自己机器的实际目录$sudouseradd -g oinstall -G dba-s/bin/bash oracle$sudopasswd oracle$sudochown -R oracle:oinstall /opt/oracle
设置系统参数
请参看下面参考文章1,主要是sysctl和limit的配置。
设置用户环境变量
根据oracle官方,不建议在安装前先配置.profile或.bashrc,这一点可不用效仿参考文章。可以在安装成功后再配置.profile或.bashrc以用来启用oracle。建议只配置以下变量:
$su- oracle$vi.profile# Oracle SettingsTMP=/tmp;exportTMPTMPDIR=$TMP;exportTMPDIR# 直接生效$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$sudochown -R oracle:oinstall /data/downloads/database
执行安装
我采用的参考文章1中,指定jre的方式(installer是Java写的界面),不然安装界面是乱码,就算用export LANG=C等方式可以调出英文,但界面还是不友好。有两种方式可以打开安装界面,一是直接切换到oracle用户并登录到desktop,另一种是不切换当前界面,执行如下命令:
$xhost+$su- oracle$exportDISPLAY=: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权限的账户执行安装:
$sudodpkg -i libstdc++5_3.3.6-27.2ubuntu1_amd64.deb
问题2:在执行’链接二进制文件’时如果遇到错误(一些makefile)
解决办法是,开个控制台,执行下面的脚本,可以根据弹出错误对就在.mk文件来执行对应的脚本,然后重试,也可第一次出现错误时一起执行,然后重试。
$exportORACLE_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.profileexportORACLE_HOSTNAME=localhost;exportORACLE_BASE=/opt/oracle;exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;exportORACLE_SID=orcl;exportPATH=$PATH:$ORACLE_HOME/binexportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/libexportNLS_LANG="Simplified chinese_china.al32utf8"# 配置直接生效$source.profile
启动oracle
其实安装完成后,oracle数据已经启用成功。但重启服务器后,库未自动重启加载(自启动读者可自行配置),下面介绍一下手工操作。
启动/停止监听
# 登录到oracle用户$su- oracle# 启动# 可以使用netstat -lntp看一看1521商品是否打开$lsnrctlstart# 停止$lsnrctlstop# 也可使用$dbstart$ORACLE_HOME$dbshut$ORACLE_HOME# 可用以下命令配置监听,注意必须进入图形界面$exportLANG=C# hostname处尽量填主机名称,不用IP,用IP也要更换端口$netmgr
开启/关闭库
$sqlplus/ as sysdba# 启动SQL>startup;# 停止SQL>shutdown immediate;
启动/关闭em
EM可用web来管理数据库服务器,还算方便,如果需求也可启用。
# 前提是ORACLE_HOSTNAME要设置正确(命令中也有提示)$emctlstop dbconsole
访问地址:
https://localhost:1158/em
参考文章
参考文章1
参考文章2
原文地址:http://blog.csdn.net/zhyhang/article/details/44453669