在某些情况下,有时我们需要在64位的系统下来安装32的oracle软件(如,客户的变态要求)。虽然在理论上,这种方式是可行的,但在实际的安装过程中确往往是错误百出,为了避免不必要的错误,也为了方便以后的工作查找,记录安装过程。
本示例以redhat4——64位操作系统,oracle 10g为数据库,安装过程中,仅仅使用了最小的安装包,以便尽可能多的发现问题。由于问题主要出现在软件包的安装和兼容性上,安装过程的其他方面不过多涉及。
首先,配置yum使用本地光盘作为源,并配置同时安装32位和64位的软件:
[root@localhost ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=0
plugins=1
installonly_limit=3
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
#同时安装 32 和 64
multilib_policy=all
在实际的操作过程中,由于源的问题,yum的效果并不明显。
根据oracle官方文档,安装相应的软件包(实际安装过程中,只有部分包的32位被安装上了,其他的没有(n标记),)
binutils-2.15.92.0.2-10.EL4 n
compat-db-4.1.25-9
control-center-2.8.0-12 n
gcc-3.4.3-9.EL4 n
gcc-c++-3.4.3-9.EL4 n
glibc-2.3.4-2
glibc-common-2.3.4-2 n
gnome-libs-1.4.1.2.90-44.1 32位的安装比较费劲,但还是装上了
libstdc++-3.4.3-9.EL4
libstdc++-devel-3.4.3-9.EL4
make-3.80-5 n
pdksh-5.2.14-30 n
sysstat-5.0.5-1 n
xscreensaver-4.18-5.rhel4.2 n
启动安装界面是,包libXp等错误,在redhat4 下可以安装 xorg-x11-deprecated-libs来解决。
官方没有指出在redhat4下要安装libaio,libaio-devel包,不按照该报会检测不通过。
安装过程中报如下错误
信息: 开始从衍生进程输出:
信息: ----------------------------------
信息:
信息: /u01/product/10.2.0/db_1/bin/genclntsh
信息: /
信息: usr
信息: /
信息: bin
信息: /
信息: ld
信息: :
信息:
信息: skipping
信息:
信息: incompatible
信息:
信息: /
信息: u01
信息: /
信息: product
信息: /
信息: 10.2.0
信息: /
信息: db_1
信息: /
信息: lib
信息: /
信息: libxml10.a
信息:
信息: when
信息:
信息: searching
信息:
信息: for
信息:
信息: -
信息: lxml10
信息:
信息: /
信息: usr
信息: /
信息: bin
信息: /
信息: ld
信息: :
信息:
信息: cannot
信息:
信息: find
信息:
信息: -
信息: lxml10
信息:
信息: collect2:
信息: ld returned 1 exit status
信息:
信息: genclntsh: Failed to link libclntsh.so.10.1
信息: make: *** [client_sharedlib] 错误 1
信息: 终止从衍生进程输出。
信息: ----------------------------------
信息: 操作中出现异常错误: make
异常错误名: MakefileException
异常错误字符串: 调用 makefile '/u01/product/10.2.0/db_1/network/lib/ins_net_client.mk' 的目标 'client_sharedlib' 时出错。请参阅 '/u01/oraInventory/logs/installActions2014-11-03_06-51-01PM.log' 以了解详细信息。
异常错误严重级: 1
随后报大量错误,安装至此终止。
结论:不建议在64位linux系统上安装32位oracle
本示例以redhat4——64位操作系统,oracle 10g为数据库,安装过程中,仅仅使用了最小的安装包,以便尽可能多的发现问题。由于问题主要出现在软件包的安装和兼容性上,安装过程的其他方面不过多涉及。
首先,配置yum使用本地光盘作为源,并配置同时安装32位和64位的软件:
[root@localhost ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=0
plugins=1
installonly_limit=3
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
#同时安装 32 和 64
multilib_policy=all
在实际的操作过程中,由于源的问题,yum的效果并不明显。
根据oracle官方文档,安装相应的软件包(实际安装过程中,只有部分包的32位被安装上了,其他的没有(n标记),)
binutils-2.15.92.0.2-10.EL4 n
compat-db-4.1.25-9
control-center-2.8.0-12 n
gcc-3.4.3-9.EL4 n
gcc-c++-3.4.3-9.EL4 n
glibc-2.3.4-2
glibc-common-2.3.4-2 n
gnome-libs-1.4.1.2.90-44.1 32位的安装比较费劲,但还是装上了
libstdc++-3.4.3-9.EL4
libstdc++-devel-3.4.3-9.EL4
make-3.80-5 n
pdksh-5.2.14-30 n
sysstat-5.0.5-1 n
xscreensaver-4.18-5.rhel4.2 n
启动安装界面是,包libXp等错误,在redhat4 下可以安装 xorg-x11-deprecated-libs来解决。
官方没有指出在redhat4下要安装libaio,libaio-devel包,不按照该报会检测不通过。
安装过程中报如下错误
信息: 开始从衍生进程输出:
信息: ----------------------------------
信息:
信息: /u01/product/10.2.0/db_1/bin/genclntsh
信息: /
信息: usr
信息: /
信息: bin
信息: /
信息: ld
信息: :
信息:
信息: skipping
信息:
信息: incompatible
信息:
信息: /
信息: u01
信息: /
信息: product
信息: /
信息: 10.2.0
信息: /
信息: db_1
信息: /
信息: lib
信息: /
信息: libxml10.a
信息:
信息: when
信息:
信息: searching
信息:
信息: for
信息:
信息: -
信息: lxml10
信息:
信息: /
信息: usr
信息: /
信息: bin
信息: /
信息: ld
信息: :
信息:
信息: cannot
信息:
信息: find
信息:
信息: -
信息: lxml10
信息:
信息: collect2:
信息: ld returned 1 exit status
信息:
信息: genclntsh: Failed to link libclntsh.so.10.1
信息: make: *** [client_sharedlib] 错误 1
信息: 终止从衍生进程输出。
信息: ----------------------------------
信息: 操作中出现异常错误: make
异常错误名: MakefileException
异常错误字符串: 调用 makefile '/u01/product/10.2.0/db_1/network/lib/ins_net_client.mk' 的目标 'client_sharedlib' 时出错。请参阅 '/u01/oraInventory/logs/installActions2014-11-03_06-51-01PM.log' 以了解详细信息。
异常错误严重级: 1
随后报大量错误,安装至此终止。
结论:不建议在64位linux系统上安装32位oracle