PL/SQL Developer连接Oracle数据库时,ORA-12170和ORA-01017错误怎么办?
大家好,我是苏承栈。今天我们来聊聊PL/SQL Developer连接Oracle数据库时遇到的两个常见错误:ORA-12170和ORA-01017。这两个错误相信不少朋友都遇到过,今天就来给大家分析一下原因和解决办法。
问题一:ORA-12170 TNS连接超时报错
首先,让我们看看ORA-12170错误。这个错误通常发生在使用tns方式连接数据库时。如果你遇到了这个问题,不妨按照以下步骤来排查:
- 检查PL/SQL Developer的Oracle客户端配置,确认客户端目录位置是否正确。
- 查看客户端安装目录下的tnsnames.ora和sqlnet.ora配置文件,确保连接串、IP地址、端口和服务名都是正确的。
- 尝试使用ezconnect方式连接,看是否能成功。
- 如果以上步骤都无法解决问题,可以开启客户端跟踪来进一步分析。
通过跟踪文件,我们可能会发现PL/SQL Developer工具在解析tns时,会先访问本地的tnsnames.ora文件,然后再访问Oracle客户端所在的tnsnames.ora文件。如果本地文件中存在错误的连接串,比如IP地址配置为127.0.0.1,那么就会出现连接超时的问题。
解决方法很简单,将本地安装目录下的tnsnames.ora文件重命名或移除,让PL/SQL Developer使用Oracle客户端所在的tnsnames.ora文件即可。
问题二:ORA-01017: invalid username/password; logon denied
解决了ORA-12170错误后,用户又反馈出现了ORA-01017错误,提示密码错误。这个问题通常与密码版本不匹配有关。
我们可以通过查看数据库版本和用户密码版本来确定问题。如果用户的密码版本只包含11g和12c的密码算法,而客户端使用的是10G版本,那么就会出现密码不一致的问题。
解决方法是重新对应用户的密码进行重置,确保密码版本包含10G、11G和12C。
好了,今天的内容就到这里。如果你还有其他关于PL/SQL Developer连接Oracle数据库的问题,欢迎在评论区留言讨论。我是苏承栈,我们下期再见!
——
本文由极星编程网(www.jxgpc.com)资深编辑苏承栈原创,欢迎关注极星编程网获取更多技术分享。
