技术学习分享_CKX技术 技术资讯 完美方案:win7/win10下正确安装oracle 10g

完美方案:win7/win10下正确安装oracle 10g

广告位

我打算安装Oracle 10g作为开发数据库,但是由于Oracle 10g太老了,兼容性问题严重,在windows 10和windows 7下安装均遇到困难。经过我两天的反复摸索和实验,终于找到完美方案。记录如下:

1、下载

Oracle 10g 32位下载链接:https://pan.。baidu.。com/s/1OepGJvfrVv1sb3wtX9eEFg (删除句号)提取码:u4tg

Oracle 10g 64位下载链接:链接:https://pan.。baidu.。com/s/18pDJAxl2DAsnnj3lvqqQEA (删除句号)提取码:9xj4

2、准备

下载好后找到setup.exe执行,会发现操作系统版本错误:“检查操作系统版本:必须是5.0, 5.1, or 5.2。  实际为6.2”,如下图:

完美方案:win7/win10下正确安装oracle 10g

解决办法:

(1)修改oracle安装盘的操作系统认证版本

在安装盘中搜索refhost.xml在CERTIFIED_SYSTEMS标签内最后新增如下内容,以新增三个操作系统的支持。

<OPERATING_SYSTEM>
<VERSION VALUE="6.0"/>
</OPERATING_SYSTEM>
<OPERATING_SYSTEM>
<VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>
<OPERATING_SYSTEM>
<VERSION VALUE="6.2"/>
</OPERATING_SYSTEM>

在安装盘中搜索oraparam.ini和oraparam.stage并修改之,以新增三个操作系统的支持。

首先,把Certified Versions标签内Windows=4.0,5.0,5.1,5.2修改为:

Windows=4.0,5.0,5.1,5.2,6.0,6.1,6.2

其次,在Certified Versions标签内最后新增如下行:

#Windows .net use winver.exe to find version
[Windows-6.0-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300
[Windows-6.0-optional]

#Windows .net use winver.exe to find version
[Windows-6.1-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300
[Windows-6.1-optional]

#Windows .net use winver.exe to find version
[Windows-6.2-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300
[Windows-6.2-optional]

注意以上修改涉及的版本号是windows操作系统内置版本号,需要使用winver命令查看,win7是6.1,但是我在win10下执行winver的截图如下:

完美方案:win7/win10下正确安装oracle 10g

上图显示版本为1903,实际上应该配置为6.2。

修改后重新执行setup.exe,操作系统版本错误没有出现。

完美方案:win7/win10下正确安装oracle 10g

但是会出现新的问题,提示“程序异常终止”,如下截图:

完美方案:win7/win10下正确安装oracle 10g

(2)修改安装程序兼容性来消除“程序异常错误”

点中setup.exe选中右键菜单“属性”来打开setup.exe文件属性,win10如下图:

完美方案:win7/win10下正确安装oracle 10g

点击“运行兼容性疑难解答”,win10操作系统会给出兼容模式建议。

完美方案:win7/win10下正确安装oracle 10g

win7如下图:

完美方案:win7/win10下正确安装oracle 10g

不要点击“帮助我选择设置”,需要选择右键菜单“兼容性疑难解答”,

完美方案:win7/win10下正确安装oracle 10g

完美方案:win7/win10下正确安装oracle 10g

win7操作系统会帮助给出兼容模式建议。

完美方案:win7/win10下正确安装oracle 10g

然后,选中“以管理员身份运行此程序”。

3、正式安装

 经过以上准备后,正式执行setup.exe,以下仅仅列出win7下的关键安装步骤。

(1)选择安装方法

如下图,如果选择“基本安装”,则修改主目录位置,例如:d:oracle,再输入口令。随后安装就按部就班即可。

完美方案:win7/win10下正确安装oracle 10g

如果选择“高级安装”,那么安装过程中可以控制更多。以下步骤以高级安装为准。

完美方案:win7/win10下正确安装oracle 10g

(2)选择安装类型

完美方案:win7/win10下正确安装oracle 10g

如上图,选“企业版”。

(3)指定主目录详细信息

完美方案:win7/win10下正确安装oracle 10g

上图,修改路径,例如:d:oracle

(4)先决条件检查

完美方案:win7/win10下正确安装oracle 10g

如上图,安装程序自动检测安装条件,符合则提示“通过”,不符合则会给出失败提示,例如:如果操作系统ip是通过DHCP获取的,那么会提示“失败”,如下图:

完美方案:win7/win10下正确安装oracle 10g

解决办法是修改网卡IP地址为固定地址,如下图:

完美方案:win7/win10下正确安装oracle 10g

上图左边是执行ipconfig/all的结果,右边是网卡IPv4设置界面,建议设置的值参考左边的结果,快捷而又不易出错。

(5)安装配置选项

完美方案:win7/win10下正确安装oracle 10g

如上图,选择“创建数据库”。

(6)数据库配置

完美方案:win7/win10下正确安装oracle 10g

如上图,选择“高级”。之后,会显示概要和javaw的防火墙通过允许提示框,如下图:

完美方案:win7/win10下正确安装oracle 10g

应选择“允许访问”,再点击“安装”按钮。

(7)自动安装

随后是自动安装,不用人工干预。但是有可能出现“无法定位程序输入点GetProcessImageFilenameW于动态链接库PSAPI.DLL”,如下图:

完美方案:win7/win10下正确安装oracle 10g

这个问题很可能不影响使用,因此直接点“确定”即可,一旦出现就可能出现三次,三次都点“确定”,后续使用中我没有遇到不妥之处。

但是,本着工匠精神,我深入发现操作系统自带的PSAPI.DLL文件存在GetProcessImageFileNameW这个函数,PSAPI.DLL文件位于windowssystem32目录,如下图:

完美方案:win7/win10下正确安装oracle 10g

另外还有一个同名文件位于oracle创建的临时目录,版本和大小都不同,oracle这个文件版本是5.0,如下图:

完美方案:win7/win10下正确安装oracle 10g

完美方案:win7/win10下正确安装oracle 10g

显然,oracle自带的文件比操作系统自带的文件要老很多。

为了进一步确认,我下载了dependencywalker程序来查看内部函数,下载链接:http://www.dependencywalker.com/

win7自带的程序内部如下:

完美方案:win7/win10下正确安装oracle 10g

存在GetProcessImageFileNameW函数,而oracle自带的文件却不存在,如下:

完美方案:win7/win10下正确安装oracle 10g

微软官网能找到相关资料,链接:https://learn.microsoft.com/zh-cn/windows/win32/api/psapi/nf-psapi-getprocessimagefilenamew

其中也说明了GetProcessImageFileNameW函数用于检索指定进程的可执行文件的名称,感觉检索出错不会影响大局。还给出这种问题的解决办法,他们说:

文件Psapi.dll安装在 %windir%System32 目录中。 如果计算机上存在此 DLL 的另一个副本,则当在系统上运行应用程序时,可能会导致以下错误:“过程入口点 GetProcessImageFileName 无法位于动态链接库中PSAPI.DLL。若要解决此问题,请找到不在 %windir%System32 目录中的任何版本并删除或重命名它们,然后重启。

可惜的是,oracle自带的PSAPI文件无法替换,因为javaw正在使用它。我决心一定要找到办法,功夫不负有心人,终于在MSDN一个论坛上查到有人在问这个问题,链接:​​https://social.msdn.microsoft.com/Forums/en-US/b565c99d-30d2-4f72-a7c0-0b4bbc121d70/psapidll-error-whilst-trying-to-install-oracle-10g-rc2?forum=embeddedwindowscomponents​​,最后给出的办法是:

This one is the best solution. Just to add into this after coping PSAPI.dll into temp installer folder we must make it read only. I tried without making it read only and failed a few times. Hence concluded that it is must to make it read only.

也就是说,安装oracle遇到这个问题点“确定”后就“停止安装”,如下图:

完美方案:win7/win10下正确安装oracle 10g

然后把操作系统自带的PSAPI拷贝到oracle临时目录中,修改为“只读”,最后重新安装,oracle欲替换,却受阻,从而解决问题。

(8)数据库创建选项

需要确认数据库文件路径,例如:d:oracleoradata。第11步,需要选择安装哪些模块,按默认安装,可以不用修改。

完美方案:win7/win10下正确安装oracle 10g

(9)安装成功

完美方案:win7/win10下正确安装oracle 10g

4、测试

在另外一台计算机上安装Oracle SQL Developer,下载链接:​​https://www.oracle.com/database/sqldeveloper/technologies/download/​

新建链接,如下图:

完美方案:win7/win10下正确安装oracle 10g

双击连接数据用户成功后,新建一张表:

完美方案:win7/win10下正确安装oracle 10g

编写脚本并执行:

完美方案:win7/win10下正确安装oracle 10g

5、主机连接VMWare虚拟机上的Oracle数据库

最好把数据库安装在另外一台服务器上,但是没有服务器的情况下可以把oracle安装在VMWare虚拟机上。

完美方案:win7/win10下正确安装oracle 10g

但是,主机和虚拟机要在同一个子网上,需要设置两步:

(1)修改主机的虚拟网卡设置

在VMWare Workstation中选中“编辑”–>“虚拟网络编辑器”,如下图

选择VMnet8虚拟网卡作为和虚拟机通信的网卡,设置网络地址为192.168.195.0。

(2)修改虚拟机的虚拟网卡设置

虚拟机右键菜单“设置”,如下图:

完美方案:win7/win10下正确安装oracle 10g

在“自定义:特定虚拟网络”中指定VMnet8,然后到虚拟机中设置IP地址为192.168.195.130.

最后,主机和虚拟机互相ping,如果都能ping通,则表示设置成功,否则重新检查配置是否正确。

完美方案:win7/win10下正确安装oracle 10g

本文来自网络,不代表技术学习分享_CKX技术立场,转载请注明出处。

作者: CKX技术

上一篇
下一篇
广告位

发表回复

返回顶部