SQLNET.ALLOWED_LOGON_VERSION = 10 参数引起的ORA-28040故障一则:

SQLNET.ALLOWED_LOGON_VERSION = 10  参数引起的ORA-28040故障一则:

环境:
Database:Oracle 11gR2 (11.2.0.3)
Applicate:tomcate+apache
connect type:jdbc6-11.2.0.1.jar

现象:
    
用jdbc来连接我的Oracle 11gR2集群,报如下错误,而通过sqlplus,pl/sql,isqlplus,odbc等工具访问没有任何问题:

  1. error:
  2. ORA-28040: No matching authentication protocol

链接字符串写法:

  1. xxx_driver=oracle.jdbc.driver.OracleDriver
  2. xxx_dburl=jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST =(LOAD_BALANCE =yes)(ADDRESS = (PROTOCOL = TCP)(HOST = db.prudentwoo.com)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = TAF)(failover_mode=(type=select)(method=basic))))
  3. xxx_dbuser=prudent
  4. xxx_dbpwd=woo


oerr给出的解决办法:

  1. Error: ORA-28040 (ORA-28040)
  2. Text: No matching authentication protocol
  3. ---------------------------------------------------------------------------
  4. Cause: No acceptible authentication protocol for both client and server
  5. Action: Administrator should set SQLNET_ALLOWED_LOGON_VERSION parameter
  6. on both client and servers to values that matches the minimum
  7. version supported in the system.


Metalink给出的解决办法:
1、这是JDBC的一个bug,应用JDBC Driver Patch (6779501)
2、或者尝试将 SQLNET.ALLOWED_LOGON_VERSION值改为9或8

问题分析:
    该参数是用来设定数据库采取的方式所设定的一个参数,从错误信息来看"没有匹配的身份认证协议",后来我采取更换其它协议值,结果还是发生同样的问题,无法连接。

问题排错:
    这个时候我采用的是排他法来测试,基本上每个认证的协议数字都用了一遍,还是不行,所幸把这行参数给删了,JDBC就能链接上数据库了。


文档参考:
http://docs.oracle.com/cd/B28359_01/network.111/b28317/sqlnet.htm#BIIEAFHA
http://space.itpub.net/20674423/viewspace-776433/
http://space.itpub.net/20674423/viewspace-776432/

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

转载于:http://blog.itpub.net/20674423/viewspace-776437/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值