oracle 12c ORA-28040: No matching authentication protocol 处理办法法

由于在12c,包括12.1. * 和12.2.*版本,对密码有验证规则,导致新装数据库使用正确密码登陆失败的问题。
问题1:No matching authentication protocol
官方参考文档:http://docs.oracle.com/database/121/NETRF/sqlnet.htm#NETRF2010
这里主要涉及2个参数:
SQLNET.ALLOWED_LOGON_VERSION和SQLNET.ALLOWED_LOGON_VERSION_SERVER
解释如下:

摘自官方文档:

SQLNET.ALLOWED_LOGON_VERSION_CLIENT
Purpose

To set the minimum authentication protocol allowed for clients, and when a server is acting as a client, such as connecting over a database link, when connecting to Oracle Database instances.

Usage Notes

The term VERSION in the parameter name refers to the version of the authentication protocol, not the Oracle Database release.

If the version does not meet or exceed the value defined by this parameter, then authentication fails with an ORA-28040: No matching authentication protocol error.

alues

12a for Oracle Database 12c Release 1 (12.1) release 12.1.0.2 or later

12 for the critical patch updates CPUOct2012 and later Oracle Database 11g authentication protocols (recommended)

11 for Oracle Database 11g authentication protocols (default)

10 for Oracle Database 10g authentication protocols

8 for Oracle8i authentication protocol

Default

11

Example

If an Oracle Database 12c database hosts a database link to an Oracle Database 10g database, then the SQLNET.ALLOWED_LOGON_VERSION_CLIENT parameter should be set as follows in order for the database link connection to proceed:

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
SQLNET.ALLOWED_LOGON_VERSION_SERVER
Purpose

To set the minimum authentication protocol allowed when connecting to Oracle Database instances.

Usage Notes
The term VERSION in the parameter name refers to the version of the authentication protocol, not the Oracle Database release.

If the client version does not meet or exceed the value defined by this parameter, then authentication fails with an ORA-28040: No matching authentication protocol error or an ORA-03134: Connections to this server version are no longer supported error.

 Values



12a for Oracle Database 12c release 12.1.0.2 or later authentication protocols (strongest protection)

12 for the critical patch updates CPUOct2012 and later Oracle Database 11g authentication protocols (recommended)

11 for Oracle Database 11g authentication protocols (default)

10 for Oracle Database 10g authentication protocols

9 for Oracle9i Database authentication protocol

8 for Oracle8i Database authentication protoco

这里写图片描述

问题2:用户名密码错误

由于12c 密码前面都带一个“C##”,所以这里需要改写密码创建规则:

alter system set common_user_prefix='' scope=spfile

由于我们是先写密码后改密码验证规则,所以即使使用正确密码登陆也会出错。
这里需要我们在数据库重新alter user 重改密码就能正常认证密码。

由于我这边是安装EMCC,通过weblogic来连接12c,由于我是用的weblog版本是1036,所以我的参数是这样设置的:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

猜你喜欢

转载自blog.csdn.net/a743044559/article/details/79964316
今日推荐