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

本文分享了在64位Windows10上安装Oracle10.2.0.4过程中遇到的问题及解决方案,包括调整refhost.xml和oraparam.ini文件以适配操作系统版本、手动创建监听服务以及解决登录数据库权限被拒绝等问题。
在64位的Windows 10上安装了Oracle 10.2.0.4的64位版,遇到不少问题。

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


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

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

通过查询资料进行了以下调整:
在安装目录中找到refhost.xml(有两个,一个是在stage\prereq\db目录下,另一个是在stage\prereq\db_prereqs\db目录下)
添加如下代码:
<!--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:\oracle\product\10.2.0\db_1\BIN中的lsnrctl.exe,在其属性的兼容性页面设置:
以管理员身份运行此程序。
然后,在命令行中执行lsnrctl进入到监听程序中执行start,此时就会自动创建监听服务。

 

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

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


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/117319/viewspace-2149830/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/117319/viewspace-2149830/

### ORA-12546 TNS Permission Denied 解决方案 当遇到 `ORA-12546: TNS:permission denied` 错误,这通常意味着操作系统级别的权限不足或配置不当。以下是详细的解决方案: #### 1. 检查并调整文件和目录权限 确保 Oracle 安装路径及其子目录具有正确的权限设置。对于 Linux 系统,建议将 Oracle 软件安装目录的属主设为 oracle 用户,并赋予适当读写执行权限。 ```bash chown -R oracle:oinstall /u01/app/11.2.0/grid/ chmod -R 755 /u01/app/11.2.0/grid/ ``` #### 2. 验证环境变量配置 确认 `.bash_profile` 或者其他 shell 初始化脚本中已正确设置了必要的环境变量,如 `ORACLE_HOME`, `PATH` 和 `LD_LIBRARY_PATH`. ```bash export ORACLE_HOME=/u01/app/11.2.0/grid export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LIBRARY_PATH=$LD_LIBRARY_PATH source ~/.bash_profile ``` #### 3. 修改 SQL*Net 参数 在 `/u01/app/11.2.0/grid/network/admin/sqlnet.ora` 文件中,可以尝试禁用节点验证或将邀请列表扩展到允许更多 IP 地址访问[^1]. ```plaintext TCP.VALIDNODE_CHECKING=no # or adjust the list of allowed IPs if VALIDNODE_CHECKING is set to yes TCP.INVITED_NODES=(...) ``` #### 4. 排除操作系统兼容性问题 有该错误可能是由于操作系统Oracle 版本不匹配引起的。确保正在使用的 OS 是官方支持的操作系统版本之一,并考虑升级至最新补丁集以获得更好的稳定性和支持[^4]. #### 5. 使用管理员模式启动客户端工具 如果是在 Windows 平台上操作,则可能需要通过右键点击命令提示符或其他 Oracle 工具(例如 SqlPlus),选择“以管理员身份运行”。这样可以在更高特权级别下执行连接请求[^2]. #### 6. 检查防火墙和其他安全软件 某些情况下,本地或网络上的防火墙可能会阻止正常的数据库通信。临关闭这些防护措施来测试是否能解决问题;如果是的话,请相应地更新规则以便长期稳定工作. 以上方法可以帮助排除大多数由权限引起的问题。然而,在实际环境中还需要结合具体情况进一步排查潜在原因。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值