标题本身不仅仅是自我解释。我只需要一种在最新版本的Ubuntu中安装Oracle 11g R2的方法,我使用的是32位操作系统,并且我需要知道如何安装x86版本。我也有64位桌面,并且需要安装x86_64版本。谁能帮我?
标题本身不仅仅是自我解释。我只需要一种在最新版本的Ubuntu中安装Oracle 11g R2的方法,我使用的是32位操作系统,并且我需要知道如何安装x86版本。我也有64位桌面,并且需要安装x86_64版本。谁能帮我?
Answers:
对于Oracle 11g R2,应安装一些附加功能,因为默认情况下未提供这些附加功能。但是,我们很快就会讲到这些内容,虽然其中的许多内容不是完全必要的,但是它们会使它变得更容易。(例如ssh!)
注意:可以复制和粘贴所有终端命令,但是在终端中粘贴需要按键ctrl + shift + v,而在其他任何地方都可以使用ctrl + v。
现在,这里是文件,分为两部分并以.zip格式。这是针对x86的。您应该可以毫无问题地打开它们,如果没有,则该网站上有一个解压缩实用程序。解压缩实用程序下载不会在我的终端上加载,因此另一种方法是使用ctrl + alt + t打开终端,然后输入以下命令。
sudo apt-get install unzip
然后:
unzip {file}
当然,将{File}替换为.zip存档。
现在,在为笔记本电脑安装x86版本时,您可以按照此处链接的Oracle的安装说明进行操作。
现在,当使用台式机和x86_64 OS时,您可以在此处找到使用与上述相同的解压缩方法的安装文件。老实说,Ubuntu默认值不应该有问题,但是Linux并非总是如此,因此拥有备份始终是一件好事。
现在快速获得一个简单的安装指南,它是x86。
只要知道您当前的计算机规格,过程就不会太长,很多说明主要是强制检查您的系统是否满足x要求。
请享用!
我克服了你的错误。尽我所能告诉,错误是它击中了-lons而不是-leons。我不知道它们是什么,但是删除-lons并放入-leons似乎可以解决问题。我最终要做的是手工编译出错误的部分。这是我手动执行的操作,但是您必须更改路径以匹配您的路径(我以root身份执行过):
# cat sysliblist
-ldl -lm -lpthread -lnsl -lirc -lipgo -lsvml -lnnz11 -lclntsh -locrb11 -lasmclnt11 -leons
# cat ldflags
-lnbeq11 -lnhost11 -lnus11 -lnldap11 -lldapclnt11 -lnsslb11 -lntcp11 -lntcps11 -lnsslb11 -lntcp11 -lntns11
gcc -o tnslsnr -m64 -L/database/app/oracle/product/11.2.0/dbhome_1/network/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/stubs/ /database/app/oracle/product/11.2.0/dbhome_1/network/lib/s0nsgl.o /database/app/oracle/product/11.2.0/dbhome_1/network/lib/snsglp.o -lclntsh `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lztkg11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lmm -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lnnetd11 -lvsn11 -lcommon11 -lgeneric11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/lib,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/network/lib/ -lm `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm -L/database/app/oracle/product/11.2.0/dbhome_1/lib -lnl11 -ln11 -lnlsnr11 -lnlsnrc11 -lnsgr11 -lnms -lncm11 -lnmsp -lpeer -lnro11 -ln11 -lnl11 -lnlsnr11 -lnlsnrc11 -lnms -lncm11 -lnmsp -ln11 -lm -leons
编译正确后,您必须编辑makefile以避免它试图重新编译它并破坏刚构建的文件。使network / lib / ins_net_server.mk看起来像这样:
#tnslsnr: $(S0NSGL) $(SNSGLP) $(NSGLPNP)
# $(SILENT)$(ECHO) " - Linking $(TNSLSNR)"
# $(RMF) $@
# $(TNSLSNR_LINKLINE)
#itnslsnr: tnslsnr
itnslsnr:
这只是要摆脱tnslsnr部分,但让其余部分继续下去。
我遇到的下一个问题是链接“ oracle”时。我收到此错误:
INFO: /database/app/oracle/product/11.2.0/dbhome_1/lib//libocrutl11.so: undefined reference to `lfifcp'
这件事也是一样。我手动运行:
gcc -o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/oracle -m64 -L/database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/ -L/database/app/oracle/product/11.2.0/dbhome_1/lib/stubs/ -Wl,-E /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/opimai.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ssoraed.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ttcsoi.o -Wl,--whole-archive -lperfsrv11 -Wl,--no-whole-archive /database/app/oracle/product/11.2.0/dbhome_1/lib/nautab.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naeet.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naect.o /database/app/oracle/product/11.2.0/dbhome_1/lib/naedhs.o /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/config.o -lclntsh -lserver11 -lodm11 -lcell11 -lnnet11 -lskgxp11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lvsn11 -lcommon11 -lgeneric11 -lknlopt `if /usr/bin/ar tv /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap11" ; fi` -lslax11 -lpls11 -lrt -lplp11 -lserver11 -lclient11 -lvsn11 -lcommon11 -lgeneric11 `if [ -f /database/app/oracle/product/11.2.0/dbhome_1/lib/libavserver11.a ] ; then echo "-lavserver11" ; else echo "-lavstub11"; fi` `if [ -f /database/app/oracle/product/11.2.0/dbhome_1/lib/libavclient11.a ] ; then echo "-lavclient11" ; fi` -lknlopt -lslax11 -lpls11 -lrt -lplp11 -ljavavm11 -lserver11 -lwwg `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lmm -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lztkg11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `if /usr/bin/ar tv /database/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo11"; fi` -L/database/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -lctxc11 -lctx11 -lzx11 -lgx11 -lctx11 -lzx11 -lgx11 -lordimt11 -lclsra11 -ldbcfg11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -locr11 -locrb11 -locrutl11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -lasmclnt11 -lcommon11 -lcell11 -lskgxp11 -lgeneric11 -lcommon11 -lgeneric11 -loraz -llzopro -lorabz2 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lsnls11 -lunls11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lasmclnt11 -laio `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/database/app/oracle/product/11.2.0/dbhome_1/lib -lm `cat /database/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm -L/database/app/oracle/product/11.2.0/dbhome_1/lib
然后,您必须破解rdbms / lib / ins_rdbms.mk来注释掉705和706行:
# $(RMF) $@
# $(ORACLE_LINKLINE)
之后,安装程序将一直进行。希望这可以帮助。
从如何在Linux(非VM)上安装Oracle 11g中添加一些其他技巧。
如果您不介意使用10g XE版本(足以满足学习目的),则可以添加Oracle Open Source Software APT存储库并用于apt-get
安装它。
加 deb http://oss.oracle.com/debian unstable main non-free
例如
echo "deb http://oss.oracle.com/debian unstable main non-free" | sudo tee /etc/apt/sources.list.d/virtualbox.list
然后
添加密钥并安装 oracle-xe
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -
apt-get update && apt-get install oracle-xe
启动,停止和配置: /etc/init.d/oracle-xe {start|stop|configure}
有关更多信息,请参见在Debian,Ubuntu和Kubuntu上安装Oracle Database XE;-)
Oracle Linux {5,6}(也是免费的)使安装Oracle Database 11g,12c更加容易,因为Oracle正式提供了预安装的RPM软件包来安装所有dep并对系统进行必要的更改。
预安装RPM软件包
oracle-validated
oracle-rdbms-server-11gR2-preinstall
12coracle-rdbms-server-12cR1-preinstall
如果您确实想要Oracle Database 11g,12c企业版,请尝试从此处的vagrantboxes