1 问题现象
OEM 12c 连接 12c 的 DB 后报错:
Failed to connect: java.sql.SQLException: The Network Adapter could not establish the connection。
查看 DB log 日志有 ORA-28040的错误:
[dave@www.cndba.cn admin]$ oerr ora 28040
28040, 0000, "No matching authentication protocol"
// *Cause: There was no acceptable authentication protocol for
// either client or server.
// *Action: The administrator should set the values of the
// SQLNET.ALLOWED_LOGON_VERSION_SERVER and
// SQLNET.ALLOWED_LOGON_VERSION_CLIENT parameters, on both the
// client and on the server, to values that match the minimum
// version software supported in the system.
// This error is also raised when the client is authenticating to
// a user account which was created without a verifier suitable for
// the client software version. In this situation, that account's
// password must be reset, in order for the required verifier to
// be generated and allow authentication to proceed successfully.
通过错误信息,可以看出是 OEM 的版本和 DB 的版本不兼容。
2 解决方法
在sqlnet.ora 文件中,添加如下内容,然后 reload 监听就可以了:
SQLNET.ALLOWED_LOGON_VERSION_SERVER=11
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11
[dave@www.cndba.cn admin]$ ll
total 12
-rw-r--r-- 1 oracle oinstall 607 Jun 18 15:44 listener.ora
drwxr-xr-x. 2 oracle oinstall 64 Jun 4 16:03 samples
-rw-r--r--. 1 oracle oinstall 1441 Aug 28 2015 shrept.lst
-rw-r--r-- 1 oracle oinstall 357 Jun 18 15:43 tnsnames.ora
[dave@www.cndba.cn admin]$ touch sqlnet.ora
[dave@www.cndba.cn admin]$ vim sqlnet.ora
[dave@www.cndba.cn admin]$ cat sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_SERVER=11
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11
[dave@www.cndba.cn admin]$
[dave@www.cndba.cn admin]$ lsnrctl reload
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 18-JUN-2024 15:53:08
Copyright (c) 1991, 2016, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.31.69.21)(PORT=1521)))
The command completed successfully
版权声明:本文为博主原创文章,未经博主允许不得转载。