在Ubuntu 12.04 LTS中安装Oracle 11G时出现问题

时间:2013-09-09 02:08:00

标签: oracle11g installation ubuntu-12.04 libstdc++

我正在遵循从this web page

在Ubuntu 12.04 LTS(x64)中安装Oracle 11G的说明

Oracle 11g还需要32位版本的libstdc ++ 5,而不是Ubuntu Pangolin提供的,所以我按照这些说明操作:

mkdir /tmp/libstdc++5
cd /tmp/libstdc++5

wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_amd64.deb
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb


sudo dpkg --force-architecture -i libstdc++5_3.3.6-17ubuntu1_i386.deb
sudo mv /usr/lib/libstdc++.so.5* /usr/lib32/

但执行此命令时:

sudo dpkg -i libstdc++5_3.3.6-17ubuntu1_amd64.deb

我收到此错误:

dpkg: error al procesar libstdc++5_3.3.6-17ubuntu1_amd64.deb (--install):
 libstdc++5: 1:3.3.6-17ubuntu1 (Multi-Arch: no) is not co-installable with  libstdc++5:i386 1:3.3.6-17ubuntu1 (Multi-Arch: no) which is currently installed
Se encontraron errores al procesar:
 libstdc++5_3.3.6-17ubuntu1_amd64.deb

我该如何处理这个安装问题?

1 个答案:

答案 0 :(得分:3)

有几种方法可以解决这个问题。我没有使用奔腾处理器,所以我不担心特定的包装模型。一些11gR2 make文件适用于旧版本的linux内核,因此gcc编译器也较旧。

让我们深思熟虑,Oracle Enterprise基于Red Hat。 Red Hat 5上最新版本的内核“开箱即用”就像~2.6那样?!因此,文件将使用当时相对于内核的gcc版本。与其子女项目Fedora不同,Red Hat在内核版本方面是一个相当缓慢的进化生物。

我使用过libstc ++ 5_3.3.6-25.deb软件包(i386和amd64)。该特定封装集(3.3.6-17)适用于i686 P6微架构。哪个是Intel Pentium类的cpu。

我不知道你在使用11g或者是什么,但如果你的CPU不是Pentium,我列出的软件包将会起作用。我使用过企业管理器,数据库,sqlplus和SQL Developer。我甚至下载了Data Modeler并使用它。但那是关于如何让小狗跑步的另外5000字的细节。回到手头的问题:

  1. 如果尚未完成;创建Oracle用户,以及dba,oper和oinstall组。

  2. 将/mnt_pt/././目录提供给oracle用户和带有-R privleges的oinstall组

  3. 〜$ sudo mkdir -p / mnt_pt / app(即经常使用opt目录或创建一个) 〜$ sudo useradd -g oinstall -G dba -d / mnt_pt / app -s / bin / bash oracle 〜$ sudo passwd oracle 〜$ sudo chown -R oracle:oinstall / mnt_pt / app

    3.1下载synaptic包管理器。 $ sudo apt-get install synaptic -y 3.2下载mlocate(应该安装)$ sudo apt-get install mlocate -y

    4.1转到用户和用户组应用:系统设置>用户和帐户。将oracle帐户类型设置为administrator。

    4.2退出您的帐户,进入oracle帐户。

    4.3从oracle帐户打开Synaptic Package Manager。搜索libstdc ++ 5(3.3.6-25)文件。不要安装它们!!!!

    4.4标记安装中的两个包。不要安装它们!!!

    4.5在Synaptic应用程序的“包”菜单上,禁用“自动安装”功能。

    4.6打开synaptic的“文件”菜单,选择“生成脚本”选项,然后选择您创建的目录作为保存目标。 (在你的情况下是/ tmp / libstdc ++ 5)

    4.7退出而不应用更改。

    5.1手动打开保存脚本的文件。右键单击libstdc ++ 5脚本,然后选择在终端中运行。

    5.2这将提供两个.deb包。将您的forcearch代码从3.3.6-17更改为3.3.6-25

    6.1通过运行以下代码找出库(libstdc ++。so.5)的位置: $ sudo updatedb $ locate libstdc ++。so.5 .......(.so代表库)

    6.2你在寻找5和5.07。现在运行以下代码行将其移动到您想要的位置(文件是存储它们的父目录) sudo mv /file/lib/libstdc++.so.5* / usr / lib32 /

    我安装了Fedora 19只是为了试着看看我在哪里犯错误,以及我是否可以获得这些软件包。这是一次学习经历。该特定封装集适用于i686 P6微架构。这是一个很难找到的人! Fedora 19极其锋利,但我开始使用Ubuntu,这就是我所做的!顺便说一下,最艰难的部分就在那之后!

    不再有问题让我知道!

    P.S。如果您正在使用奔腾我建议您使用fedora进行第二次安装,从noarch存储库中获取包,将这些包转移到USB,切换回Ubuntu,并在安装alien和rpm之后,从命令行运行通过它们所在的目录(或右键单击包)对包进行外来命令,然后执行dpkg-forcearchitecure。