足球与oracle系列(5):fifa14游戏缺失的directX库类比于oracle的rpm包

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/huangyanlong/article/details/39303989

***********************************************声明********************************************** 

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。

表述有错误之处,请您留言或邮件(hyldba@163.com)指明,不胜感激。

本文转载必须保留此处:http://blog.csdn.net/huangyanlong/article/details/39303989

深蓝的blog:http://blog.csdn.net/huangyanlong

***************************************************************************************************

足球系列导语:

       既然学来几招oracle简单招式,就忍不了在人前卖弄几下。纯为茶余饭后与数朋库友的插科打诨,只为轻松中带有一丝的诙谐,IT技术也能用来调侃一番,还蛮耐人寻味。

       欢迎拍砖,这将是我成长的最大动力。

       今天想简单聊聊oraclerpm包,说来也巧,这也缘于今天的“重装系统”。因为重装系统,于是重装了fifa14足球游戏,随即引出了一个小问题。就是这个“游戏运行小问题”和“安装oracle时需要的rpm包”两者,感觉有着某种类比关系,虽说拿游戏跟技术类比是有些牵强,但我觉得其中“依赖关系”这个道理还是相通的。

        接下来就结合着解决fifa14问题的过程,重新捋顺下oracle安装中的rpm包过程。提到安装oracle数据库,对于很多初学者来说,安装rpm包是个很头疼的事情,因为如果初次安装完全没有经验的话,很难一次性顺利完成,通常都会在网上搜总结文档,而总结文档中参差不齐,我觉得是对安装有一定认识后再参考比较好,因为很多时候文档作者的安装思路都是有些差别的,在一定程度上很容易误导初学者。比如说我个人来说,早期安装rpm包习惯使用yum安装,在10g的时候,感觉用着挺顺手,但到了11g的时候,有几个rpm包通过yum安装时会报一些问题,想起当初摸索的时候确实小迷糊了一番,这一切其实都缘于当时对yum的理解不深,比较盲目的相信了yum可以解决一切的依赖关系。其实按照官方文档的顺序来做,是最权威而且也是最简单的方式了。

        下面来结合着oraclerpm包,记录下解决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.rpm >> rpm.log 2>&1
rpm -ivh glibc-common-2.5-58.x86_64.rpm >> rpm.log 2>&1
rpm -ivh glibc-devel-2.5-58.i386.rpm >> rpm.log 2>&1
rpm -ivh glibc-devel-2.5-58.x86_64.rpm >> rpm.log 2>&1
rpm -ivh glibc-headers-2.5-58.x86_64.rpm >> rpm.log 2>&1
rpm -ivh libaio-0.3.106-5.i386.rpm >> rpm.log 2>&1
rpm -ivh libaio-0.3.106-5.x86_64.rpm >> rpm.log 2>&1
rpm -ivh libaio-devel-0.3.106-5.i386.rpm >> rpm.log 2>&1
rpm -ivh libaio-devel-0.3.106-5.x86_64.rpm >> rpm.log 2>&1
rpm -ivh libao-0.8.6-7.i386.rpm >> rpm.log 2>&1
rpm -ivh libao-0.8.6-7.x86_64.rpm >> rpm.log 2>&1
rpm -ivh libgcc-4.1.2-50.el5.i386.rpm >> rpm.log 2>&1
rpm -ivh libgcc-4.1.2-50.el5.x86_64.rpm >> rpm.log 2>&1
rpm -ivh libstdc++-4.1.2-50.el5.i386.rpm >> rpm.log 2>&1
rpm -ivh libstdc++-4.1.2-50.el5.x86_64.rpm >> rpm.log 2>&1
rpm -ivh libstdc++-devel-4.1.2-50.el5.i386.rpm >> rpm.log 2>&1
rpm -ivh libstdc++-devel-4.1.2-50.el5.x86_64.rpm >> rpm.log 2>&1
rpm -ivh make-3.81-3.el5.x86_64.rpm >> rpm.log 2>&1
rpm -ivh numactl-0.9.8-11.el5.i386.rpm >> rpm.log 2>&1
rpm -ivh numactl-0.9.8-11.el5.x86_64.rpm >> rpm.log 2>&1
rpm -ivh pdksh-5.2.14-36.el5.x86_64.rpm >> rpm.log 2>&1
rpm -ivh sysstat-7.0.2-3.el5_5.1.x86_64.rpm >> rpm.log 2>&1

rm -rf binutils-2.17.50.0.6-14.el5.x86_64.rpm
rm -rf binutils-devel-2.17.50.0.6-14.el5.i386.rpm
rm -rf binutils-devel-2.17.50.0.6-14.el5.x86_64.rpm
rm -rf compat-libstdc++-33-3.2.3-61.i386.rpm
rm -rf compat-libstdc++-33-3.2.3-61.x86_64.rpm
rm -rf elfutils-libelf-0.137-3.el5.i386.rpm
rm -rf elfutils-libelf-0.137-3.el5.x86_64.rpm
rm -rf elfutils-libelf-devel-0.137-3.el5.i386.rpm
rm -rf elfutils-libelf-devel-0.137-3.el5.x86_64.rpm
rm -rf elfutils-libelf-devel-static-0.137-3.el5.i386.rpm
rm -rf elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm
rm -rf gcc-4.1.2-50.el5.x86_64.rpm
rm -rf gcc-c++-4.1.2-50.el5.x86_64.rpm
rm -rf glibc-2.5-58.i686.rpm
rm -rf glibc-2.5-58.x86_64.rpm
rm -rf glibc-common-2.5-58.x86_64.rpm
rm -rf glibc-devel-2.5-58.i386.rpm
rm -rf glibc-devel-2.5-58.x86_64.rpm
rm -rf glibc-headers-2.5-58.x86_64.rpm
rm -rf libaio-0.3.106-5.i386.rpm
rm -rf libaio-0.3.106-5.x86_64.rpm
rm -rf libaio-devel-0.3.106-5.i386.rpm
rm -rf libaio-devel-0.3.106-5.x86_64.rpm
rm -rf libao-0.8.6-7.i386.rpm
rm -rf libao-0.8.6-7.x86_64.rpm
rm -rf libgcc-4.1.2-50.el5.i386.rpm
rm -rf libgcc-4.1.2-50.el5.x86_64.rpm
rm -rf libstdc++-4.1.2-50.el5.i386.rpm
rm -rf libstdc++-4.1.2-50.el5.x86_64.rpm
rm -rf libstdc++-devel-4.1.2-50.el5.i386.rpm
rm -rf libstdc++-devel-4.1.2-50.el5.x86_64.rpm
rm -rf make-3.81-3.el5.x86_64.rpm
rm -rf numactl-0.9.8-11.el5.i386.rpm
rm -rf numactl-0.9.8-11.el5.x86_64.rpm
rm -rf pdksh-5.2.14-36.el5.x86_64.rpm
rm -rf sysstat-7.0.2-3.el5_5.1.x86_64.rpm

rpm -qa|grep binutils >> queryrpm.log 2>&1
rpm -qa|grep compat-libstdc >> queryrpm.log 2>&1
rpm -qa|grep elfutils >> queryrpm.log 2>&1
rpm -qa|grep gcc >> queryrpm.log 2>&1
rpm -qa|grep glibc >> queryrpm.log 2>&1
rpm -qa|grep kernel >> queryrpm.log 2>&1
rpm -qa|grep ksh >> queryrpm.log 2>&1
rpm -qa|grep libaio >> queryrpm.log 2>&1
rpm -qa|grep libgcc >> queryrpm.log 2>&1
rpm -qa|grep libgomp >> queryrpm.log 2>&1
rpm -qa|grep libstdc++- >> queryrpm.log 2>&1
rpm -qa|grep make >> queryrpm.log 2>&1
rpm -qa|grep sysstat >> queryrpm.log 2>&1
 

 

#sh CentOS5.6-11g-script.sh

至此,对于oraclerpm包安装就介绍完毕了。按照文档修改相关配置后,就可以安装oracle了,进入安装oracle界面后,如下所示:

(说明:关于oracle安装完整过程请参考作者其它文档)

还有另外一件高兴事,就是fifa14在修复完directX后,重新执行游戏(.exe文件)后,正常进入,如下所示:

小对比,简而记之:

1fifa14游戏依赖于directX库;

2、oracle软件依赖于rpm相关包(Linux环境下)。

***********************************************声明********************************************** 

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。

表述有错误之处,请您留言或邮件(hyldba@163.com)指明,不胜感激。

本文转载必须保留此处:http://blog.csdn.net/huangyanlong/article/details/39303989

深蓝的blog:http://blog.csdn.net/huangyanlong

***************************************************************************************************

篇章链接:

足球与oracle系列(1):32路诸侯点兵,oracle32进程联盟 之A组巴西SMON进程的大局观

足球与oracle系列(2):巴西揭幕战预演,oracle体系结构杂谈

足球与oracle系列(3):oracle进程排名,世界杯次回合即将战罢!

足球与oracle系列(4):从巴西惨败于德国,想到,差异的RAC拓扑对比!  

展开阅读全文

没有更多推荐了,返回首页