文档解释
ORA-12639: Authentication service negotiation failed
Cause: No match was found between the types of authentication services that the client supports and those that the server is using.
Action: Possible solutions:
1. Change the entry in sqlnet.ora that determines which services are to be used.
2. Relink the client with at least one of the authentication service adapters that the server supports.
3. Relink the server with at least one of the authentication service adapters that the client supports.
4. Disable authentication on both the client and server.
这是一个Oracle 数据库服务器错误。 它出现在客户端尝试用于连接系统的身份验证服务时。
官方解释
ORA-12639: Authentication service negotiation failed
当鉴定服务器未指定任何可接受的身份验证协议的情况,一般用于连接系统的身份验证服务会返回此错误消息。
必须将以下 Oracle 客户端服务器参数设置为 true:
– SQLNET.AUTHENTICATION_SERVICES
– SQLNET.KERBEROS5_SERVICE
– SQLNET.SECURITY
如果上述参数都为 true,并且客户端已安装合法的 Kerberos 5 客户端程序,当尝试使用Oracle 客户端连接到TNS 服务器时,可能会发生以下错误:
ORA-12639: Authentication service negotiation failed
正常处理方法及步骤
1.确认Kerberos客户端程序已经安装,并且它们的版本与中间件相兼容。
2.检查Oracle客户端服务器参数的值:可接受的身份验证协议必须设置为true: SQLNET.AUTHENTICATION_SERVICES、SQLNET.KERBEROS5_SERVICE和SQLNET.SECURITY。
3.请确保数据库服务器上正确配置了宜
4.测试TNS 服务连接是否正常工作,如果不正常,请尝试关掉客户端身份验证,确认数据库服务器上身份验证服务是否启用。
5.嘗試更改身份验证类别以尝试连接,包括PKI、kerberos5、NT 和easyconnect。
6.如果您使用Oracle 单点登录,请确保应用程序服务器已设置以接受身份验证。传输层安全性(TLS)可能需要被禁用才能正常工作。