重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 98|回复: 0

低版本的PLSQL如何连接到Oracle 12C

[复制链接]
发表于 2019-12-1 21:34:20 | 显示全部楼层 |阅读模式
在oracle 12C安装完成后,使用低版本的PLSQL工具远程连接oracle时,提示无监听程序。
检查数据库服务端时,发现监听与实例一切正常。把监听重启与新建,都无法连接到数据库中。
远程连接不得行,就把工具拷到服务器上去试一下,应该可以吧。结果在服务器登录连接都不得行,弹出提示ORA-28547:连接服务器失败,可能是OracleNet管理错误。
ORA-28547:连接服务器失败,可能是OracleNet管理错误。
根据ORA-28547的异常提示,通过百度一些帖子发现,12c的这个问题,主要是因为listener.ora文件中的参数设置原因,相比12C以前的版本,12c的监听文件中,多了一个extproc,这是一个扩展的程序调用接口协议,  连接和调用外部的操作系统程序或进程用时会用到。这里把它先注释掉。然后将SID_NAME改成自己的实例名。如附图:

之后重启一下监听程序,再次使用PLSQL工具登录时,不再提示监听连接符之类的问题。ORA-28040: No matching authenticationprotocol
如果在修改listener.ora之后,登录时,提示ORA-28040: No matching authentication protocol
问题原因是Oracle 12csqlnet.ora文件里中SQLNET.ALLOWED_LOGON_VERSION_SERVERSQLNET.ALLOWED_LOGON_VERSION_CLIENT默认等于11,或者都没有这两个参数,当我们使用11g JDBC之前版本的thin驱动连接的时候,就会出现该异常。
解决方法
1、  编辑sqlnet.ora 文件,在文件当中,添加以下两个参数,并保存
   SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
   SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
2、  重启一下监听
ORA-01017:invalid username/password; logon denied
如果连接时,提示ORA-01017: invalid username/password; logondenied
这是因为该用户的密码版本,可能低于11G而导致的,可以使用下面这条语句,查一下当时数据库用的用户对应的密码版本。
select username,account_status,default_tablespace,created,password_versions from dba_users;
解决办法:
最简单的办法,在终端,登录sqlplus方式登录数据到,然后修改一下用户的密码就可以了。
ALTER USER username IDENTIFIED BY password;
然后再登录验证。

当然,更好的方法,就是使用新版本的PLSQL工具

无标题.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2020-2-29 00:25 , Processed in 0.100088 second(s), 23 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表