问题描述
我们使用 Oracle 11g 作为我们的RDBMS,并使用 Kerberos 身份验证,并使用 JDK8(v1.8.0.192b31)和 ojdbc6(v11.2.0.4)。
后来我们升级到了 JDK11(v11.0.7)和 ojdbc8(v19.7.0.0) [这是为了将来将数据库升级到Oracle 19c ],但现在我们无法使用Kerberos连接并出现以下错误:
oracle.net.ns.NetException: Oracle error ORA-12631
使用用户名/密码Auth对其进行了测试,并且效果很好。
它也适用于此组合:
*JDK 11,Oracle 11g* & *ojdbc6 12.1.2.0*
。
所以问题是:
Java和ojdbc的哪种组合可用于连接到两者 Oracle 11g和19c使用 Kerberos 吗?
解决方法
针对此问题提交了一个Oracle错误(31716873)。该错误修复程序当前存在于开发分支中,并将很快公开。同时,如果您可以坚持使用JDK8,那么问题就应该消除了。另外,您可以在Kerberos Config中禁用可转发票证选项,这也可以解决问题。