首页 > 数据库 >完美方案:win7/win10下正确安装oracle 10g

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

时间:2022-11-28 21:00:37浏览次数:70  
标签:操作系统 Windows 虚拟机 win7 如下 10g oracle 安装

我打算安装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_windows10

解决办法:

(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_数据库_02

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

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

完美方案:win7/win10下正确安装oracle 10g_兼容性_03

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

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

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

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

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

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

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

win7如下图:

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

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

完美方案:win7/win10下正确安装oracle 10g_兼容性_08

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

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

完美方案:win7/win10下正确安装oracle 10g_兼容性_10

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

3、正式安装

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

(1)选择安装方法

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

完美方案:win7/win10下正确安装oracle 10g_兼容性_11

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

完美方案:win7/win10下正确安装oracle 10g_兼容性_12

(2)选择安装类型

完美方案:win7/win10下正确安装oracle 10g_数据库_13

如上图,选“企业版”。

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

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

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

(4)先决条件检查

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

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

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

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

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

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

(5)安装配置选项

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

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

(6)数据库配置

完美方案:win7/win10下正确安装oracle 10g_数据库_19

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

完美方案:win7/win10下正确安装oracle 10g_数据库_20

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

(7)自动安装

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

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

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

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

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

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

完美方案:win7/win10下正确安装oracle 10g_数据库_23

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

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

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

win7自带的程序内部如下:

完美方案:win7/win10下正确安装oracle 10g_兼容性_25

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

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

微软官网能找到相关资料,链接: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_数据库_27

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

(8)数据库创建选项

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

完美方案:win7/win10下正确安装oracle 10g_兼容性_28

(9)安装成功

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

4、测试

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

新建链接,如下图:

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

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

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

编写脚本并执行:

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

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

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

完美方案:win7/win10下正确安装oracle 10g_兼容性_33

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

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

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

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

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

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

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

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

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

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

标签:操作系统,Windows,虚拟机,win7,如下,10g,oracle,安装
From: https://blog.51cto.com/u_5526964/5890942

相关文章

  • oracle 链接 sqlserver 链接服务器
    1.下载驱动包base包:instantclient-basic-windows.x64-11.2.0.3.0.zipODBC包:instantclient-odbc-windows.x64-11.2.0.3.0.zip我下载的是11.2.0.3版本的,......
  • Oracle 分组统计,并显示百分比的实现
    需求:在分组统计的时候,显示每个分组所占的百分比效果图:实现代码:SELECTCOUNT(1)rs,100*round(COUNT(*)/SUM(COUNT(*))OVER(),4)||'%'FROMTB_USERtGROUPBYt.AREA......
  • Oracle中ALTER TABLE的五种用法(三)
    首发微信公众号:SQL数据库运维原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1&sn=450e9e94fa709b5eeff0de371c62072b&chksm=ea37536cdd......
  • Oracle的sys_context函数
    概述sys_context函数是Oracle提供的一个获取环境上下文信息的预定义函数。该函数用来返回一个指定namespace下的parameter值。该函数可以在SQL和PL/SQL语言中使用。sys_cont......
  • Oracle 中的Userenv
    USEREVN()返回当前用户环境的信息,opt可以是:ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE1.ISDBA查看当前用户是否是DBA如果是则返回tru......
  • 了解Oracle RAC Brain Split Resolution集群脑裂协议
    CSS工作原理在理解脑裂(BrainSplit)处理过程前,有必要介绍一下OracleRACCss(ClusterSynchronizationServices)的工作框架:OracleRACCSS提供2种后台服务包括群组管理(G......
  • Oracle数据库性能模型
    如何为一个数据库建立性能模型作为一名DBA来说,我们面临的一个巨大挑战是:如何保证数据库的性能可以满足快速变化的应用的需求,如何在数据量和访问量持续增长的情况下,保证应用......
  • 记一次Oracle SQL高版本(high version count)引起性能故障处理
     用户报告前台业务响应缓慢,登陆至数据库获取awr报告。kill掉相关会话后系统恢复,杀会话可参考metalinkid786507.1LoadProfile除了Rollbackpertransaction%比较高......
  • 【转载】Oracle - RAC打补丁最佳实践
    一、概述本文将介绍如何给oraclerac数据库打最新补丁,数据库版本为11.2.0.4两节点rac,操作系统为redhat6.5。由于打补丁的具体细节可能随着补丁包的不同而有所差异,但是大......
  • 【转载】Oracle - 数据库打补丁最佳实践
    一、概述本文将介绍如何给oracle数据库打最新补丁,数据库版本为11.2.0.4单实例,操作系统为redhat6.5 二、下载相关升级包1.登录MOS,查阅(ID2118136.2),下载最新补丁包......