***********************************************声明**********************************************
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。
表述有错误之处,请您留言或邮件(hyldba@163.com)指明,不胜感激。
本文转载必须保留此处:http://blog.csdn.net/huangyanlong/article/details/39303989
深蓝的blog:http://blog.csdn.net/huangyanlong
***************************************************************************************************
足球系列导语:
既然学来几招oracle简单招式,就忍不了在人前卖弄几下。纯为茶余饭后与数朋库友的插科打诨,只为轻松中带有一丝的诙谐,IT技术也能用来调侃一番,还蛮耐人寻味。
欢迎拍砖,这将是我成长的最大动力。
今天想简单聊聊oracle的rpm包,说来也巧,这也缘于今天的“重装系统”。因为重装系统,于是重装了fifa14足球游戏,随即引出了一个小问题。就是这个“游戏运行小问题”和“安装oracle时需要的rpm包”两者,感觉有着某种类比关系,虽说拿游戏跟技术类比是有些牵强,但我觉得其中“依赖关系”这个道理还是相通的。
接下来就结合着解决fifa14问题的过程,重新捋顺下oracle安装中的rpm包过程。提到安装oracle数据库,对于很多初学者来说,安装rpm包是个很头疼的事情,因为如果初次安装完全没有经验的话,很难一次性顺利完成,通常都会在网上搜总结文档,而总结文档中参差不齐,我觉得是对安装有一定认识后再参考比较好,因为很多时候文档作者的安装思路都是有些差别的,在一定程度上很容易误导初学者。比如说我个人来说,早期安装rpm包习惯使用yum安装,在10g的时候,感觉用着挺顺手,但到了11g的时候,有几个rpm包通过yum安装时会报一些问题,想起当初摸索的时候确实小迷糊了一番,这一切其实都缘于当时对yum的理解不深,比较盲目的相信了yum可以解决一切的依赖关系。其实按照官方文档的顺序来做,是最权威而且也是最简单的方式了。
下面来结合着oracle的rpm包,记录下解决fifa14游戏问题的过程,能帮助到fifa游戏爱好者们的话,会相当高兴,O(∩_∩)O哈!
情景1:fifa文件oracle文件
下载的fifa14文件(大于6G的文件),如下所示:

解压缩后,运行报错了,如下所示:
报错为:The procedure entry point D3DXCreateEffectEx could not be located in the dynamic link library d3dx9_43.dll。

分析后,初步判断为:由于安装的WIN7系统为ghost版本,系统被修改过,可能是缺失了相关的direct插件,于是计划下载DirectX修复工具。在网上就可以找到,我在网上找到的是如下版本:

【想想oracle】
文件,这就很容易想到了,准备安装包,就像是游戏的安装包,如下图所示:

再之后安装,Linux下如果之前没有安装相关rpm包的话,安装过程中,常会遇到类似于如下:
(图片来自于安装10g时缺失包时保留的)

看看oracle缺失rpm包时的报错和fifa14缺失directX插件时的现象,有那么一点点的启示没?接下来看看解决过程。
情景2:DirectX插件修复与rpm包安装
找到修复工具后,进行安装,完成对directX的修复,如下所示:

会自动更新C++库,如下:

完成修复后,如下图所示:
(可以看出缺失了多少的directX文件,都是ghost版本惹的祸,O(∩_∩)O哈哈~)

完成修复后,如下图所示:

完成修复后,如下图所示:

至此,将缺失的directX库修复完成。接下来,思路再转,想想oracle吧。
【想想oracle】
想想看oracle的rpm包,让我们去到官方文档看看,先找到文档索引链接,如下所示:

进入后找到,安装准备部分,如下所示:

进入后,向下查找文档内容,这里要补充一下对于文档的使用方法,使用官方文档的话你会发现内容很多,因为其中几乎涵盖了所有的技术知识和介绍,所以在使用的过程中,我们还要不断的学习从文档中筛选出对自己有用的信息来。如下所示,找到关于rpm包的要求。

其实,在安装oracle时,完全可以不适用yum,对于依赖关系的话,我们安装官方文档的要求,从系统光盘中找到相对应的包就完全可以了。如下所示:

我习惯找到相关包后,写一个看似冗长却极易理解的脚本文件执行,如下所示:
执行脚本实现:
#vi CentOS5.6-11g-script.sh
--脚本实现两种功能
--功能1:安装rpm包并记录日志,安装后删除相关包
--功能2:检查安装的rpm包并记录日志
rpm -ivh binutils-2.17.50.0.6-14.el5.x86_64.rpm >> rpm.log 2>&1 rpm -ivh binutils-devel-2.17.50.0.6-14.el5.i386.rpm >> rpm.log 2>&1 rpm -ivh binutils-devel-2.17.50.0.6-14.el5.x86_64.rpm >> rpm.log 2>&1 rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm >> rpm.log 2>&1 rpm -ivh compat-libstdc++-33-3.2.3-61.x86_64.rpm >> rpm.log 2>&1 rpm -ivh elfutils-libelf-0.137-3.el5.i386.rpm >> rpm.log 2>&1 rpm -ivh elfutils-libelf-0.137-3.el5.x86_64.rpm >> rpm.log 2>&1 rpm -ivh elfutils-libelf-devel-0.137-3.el5.i386.rpm >> rpm.log 2>&1 rpm -ivh elfutils-libelf-devel-0.137-3.el5.x86_64.rpm >> rpm.log 2>&1 rpm -ivh elfutils-libelf-devel-static-0.137-3.el5.i386.rpm >> rpm.log 2>&1 rpm -ivh elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm >> rpm.log 2>&1 rpm -ivh gcc-4.1.2-50.el5.x86_64.rpm >> rpm.log 2>&1 rpm -ivh gcc-c++-4.1.2-50.el5.x86_64.rpm >> rpm.log 2>&1 rpm -ivh glibc-2.5-58.i686.rpm >> rpm.log 2>&1 rpm -ivh glibc-2.5-58.x86_64