window10上登录Oracle时提示ORA-12546:Permission denied

在64位的Windows 10上安装了Oracle 10.2.0.4的64位版,遇到不少问题。

虽然可能现在安装这个版本越来越少,还是分享出来,希望能帮助到一些人。


1.安装的过程遇到的问题

在普通用户下,以管理员身份用户执行安装程序,执行后提示:检查操作系统版本: 必须是5.1 or 5.2。实际为 6.1未通过。

通过查询资料进行了以下调整:
在安装目录中找到refhost.xml(有两个,一个是在stageprereqdb目录下,另一个是在stageprereqdb_prereqsdb目录下)
添加如下代码:
<!--Microsoft Windows 7-->
<OPERATING_SYSTEM><VERSION VALUE="6.1"/></OPERATING_SYSTEM>

这项调整,网上很多资料都提到,调整了还是不能解决问题,还需要进行下面这项调整,很少有资料提到:
修改安装目录中一个oraparam.ini文件,在install目录下
在[Certified Versions]
#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE 
#Windows=5.0,5.1,5.2,6.1

再最后添加下面代码:
[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]

2.缺少监听服务
安装好之后,发现windows服务列表中,并没有自动创建监听服务,可能是由于当前用户不是管理员的原因。
于是,在找到oracle目录C:oracleproduct10.2.0db_1BIN中的lsnrctl.exe,在其属性的兼容性页面设置:
以管理员身份运行此程序。
然后,在命令行中执行lsnrctl进入到监听程序中执行start,此时就会自动创建监听服务。

 

3.无法登录到数据库
通过netca配置好监听程序、本地net服务名,创建好实例之后,通过SQLPlus登录服务器时即始终提示:
ORA-12546:Permission denied
从提示来看,是权限的问题,试了把sqlplus.exe和oracle.exe的兼容性页面设置为“以管理员身份运行此程序”,仍然没能解决。
甚至重新用管理员身份登录后,重启监听和实例,仍然是相同的错误。
最后,试了一下将文件oracle.exe的兼容性设置为:以兼容模式运行这个程序,windows 7,终于解决了这个问题。

验证了,不用设置“以管理员身份运行此程序”。

原文地址:https://www.cnblogs.com/zyk/p/8260801.html