64位Linux系统上安装64位Oracle10gR2及Oracle11g所需的依赖包

在64位Linux系统上安装64位Oracle 10gR2,到底需要装哪些包?

这不是一个完整的安装教程,仅仅探讨在64位CentOS 5.8系统上安装64位Oracle 10gR2,到底需要装哪些RPM包.

实验环境
VMWare Workstation 8.0
Linux发行版: CentOS 5.8 x86_64
Kernel版本: 2.6.18-308.el5
Oracle Database版本: 10201_database_linux_x86_64.cpio.gz

为了避免受其他rpm包的干扰,笔者在安装Linux的时候选择了最小化安装,即文字模式下安装,去掉所有可选的包,结果总共仅安装了232个rpm包.算是一个很小的Linux系统了;

装过ORACLE的人都知道,在装ORACLE之前要先装一些RPM包,在官方安装指南中,ORACLE并没有告知在RHEL 5.x系列下应该装哪些包;如果参照RHEL 4.x系列来装,必出错;

网上搜一下也有很多在RHEL 5.x系列上安装ORACLE的教程,但大多都是32位的平台;若照抄到64位平台也必出错;

经过笔者反复测试 , 发现以下 10 个 RPM 包是必装的 :
这里我省略了RPM包的主、次版本号,因为我相信现在的Linux发行版中的RPM包的版本号绝对会比ORACLE 10g要求的版本号高;
binutils.x86_64
compat-libstdc++-33.x86_64
gcc.x86_64
glibc-devel.x86_64
glibc-devel.i386
libaio.x86_64
libXp.i386
libXt.i386
libXtst.i386
make.x86_64

为什么说是必装的呢?下面分别说明一下:
binutils.x86_64
gcc.x86_64
libaio.x86_64
make.x86_64
这4个包是OUI预检时必查的,少了任何一个都会预检不通过;

compat-libstdc++-33.x86_64
如果少了这个包,则安装过程中会报以下错:
Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/product/10.2.0/db_1/rdbms/lib/ins_rdbms.mk'

glibc-devel.x86_64
如果少了这个包,则安装过程中会报以下错:
Error in invoking target 'ntcontab.o' of makefile '/u01/app/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk'

glibc-devel.i386
如果少了这个包,则安装过程中会报以下错:
Error in invoking target 'install' of makefile '/u01/app/oracle/product/10.2.0/db_1/ctx/lib/ins_ctx.mk'
补装后又报Error in invoking target 'agent nmo nmb' of makefile '/u01/app/oracle/product/10.2.0/db_1/sysman/lib/ins_sysman.mk'
退出,重装ORACLE就OK了;

libXp.i386
libXt.i386
libXtst.i386
如果少了这3个包,则OUI起不来,分别报如下错:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-07-16_12-22-25PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-07-16_12-26-27PM/jre/1.4.2/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-07-16_12-29-27PM/jre/1.4.2/lib/i386/libawt.so: libXtst.so.6: cannot open shared object file: No such file or directory

笔者在仅安装了这10个包以后,顺利的装上了ORACLE软件,并用DBCA顺利的创建了数据库;

可能需要的依赖包 :
如果用rpm命令装的话,可能还需要手动装以下的依赖包;
如果用yum命令来装的话就可以忽略以下的依赖包了,因为yum会自动安装这些依赖包;
glibc-headers.x86_64 //glibc-devel.x86_64,glibc-devel.i386都依赖它;
kernel-headers.x86_64 //glibc-headers.x86_64依赖它;
cpp.x86_64 //gcc.x86_64依赖它;
libgomp.x86_64 //gcc.x86_64依赖它;
libICE.i386 //libXt.i386依赖它;
libSM.i386 //libXt.i386依赖它;

最后想补充一点的是,某些教程中喜欢用./runInstaller -ignoreSysPrereqs命令来跳过操作系统检查,笔者测试了一下,这样做虽然可以顺利启动OUI,但在后续的安装过程中会出现一些莫名的错误,所以不建议这么做.
笔者的解决方法是修改/etc/redhat-release文件,清空该文件里的内容(注意是清空,而不是注释掉),并加入 redhat-4 这句即可.

安装oracle11G所需要的依赖包

安装oracle11G 前,需要在Linux系统中检查是否安装以下依赖包。

binutils----------------2.20.0-0.79

gcc ----------------4.3-62.198 N

gcc-c++ ----------------4.3-62.198 N

glibc ----------------2.11.1-0.17.4

glibc-devel ------------2.11.1-0.17.4 N

ksh ------------93t-9.9.8

libaio -------------0.3.109-0.1.46

libaio-devel------------0.3.109-0.1.46 N

libgcc43----------------4.3.4-20091019-0.7.35

libstdc++33-------------3.3.3-11.9

libstdc++43-------------4.3.4_20091019-0.7.35

libstdc++-devel---------4.3-62.192 N

libstdc++43-devel-------4.3.4_20091019-0.7.35 N

make--------------------3.81-128.20

orarun------------------1.9-172.20.21.54 N

sysstat-----------------8.1.5-7.9.56 N

On SUSE 11L 可不安装

unixODBC-32bit-2.2.12 (32-bit) or later

unixODBC-devel-32bit-2.2.12 (32 bit) or later

unixODBC-devel

相关推荐
Z21-X5 分钟前
云原生运维笔记:硬核拆解OpenStack计算与存储——从主机聚合到Cinder挂载全流程
运维·笔记·学习·云原生·openstack
邪修king10 分钟前
Re:Linux系统篇(三十八):进程间通信ChapterSystem V 信号量深度解析|同步互斥、内核源码、C 指针多态、实战代码
java·linux·c语言
开开心心就好10 分钟前
电脑语音实时转文字工具,会议记录很省事
运维·服务器·前端·c#·ocr·perl·1024程序员节
坤坤子吖11 分钟前
Linux网络编程基础:从 MAC 到 IP,理解网络数据是怎么传输的
linux·网络·笔记·学习
波力海苔夹心脆67519 分钟前
C# 固高 GTS 运动控制卡入门:伺服上下电、Jog 点动与二维插补(WinForms 实战)
服务器·开发语言·c#·运动控制·伺服电机·winforms·固高
一只鹿鹿鹿26 分钟前
医院绩效管理体系方案
大数据·运维·安全·web安全·制造
java_logo30 分钟前
Docker 部署 Portainer CE 中文版:轻松搭建容器管理平台
运维·docker·容器·portainer·容器管理·轩辕镜像·portainer ce
山东孙燕姿32 分钟前
前端框架升级:不敢动的组件怎么办
大数据·运维·服务器·网络·人工智能·前端框架
古法老登瞎折腾9 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
琥珀.9 小时前
mysql中json数组转列表查询
linux·运维·服务器