Oracle客户端连接12c以上报ORA-28040和ORA-01017 的解决方法
ORA-28040
-
报错ORA-28040: No matching authentication protocol
按照官方说法在服务端sqlnet.ora下需要添加如下参数。
SQLNET.ALLOWED_LOGON_VERSION_CLIENT
SQLNET.ALLOWED_LOGON_VERSION_SERVE -
解决
- 查询sqlnet.ora文件
cd $ORACLE_HOME/network/admin/- 编辑上述文件,加入以下内容(如果上述路径没有该文件,新增)
vim sqlnet.oraSQLNET.ALLOWED_LOGON_VERSION=8 SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8 SQLNET.ALLOWED_LOGON_VERSION_SERVE=10注意:参数和等号之间不要有空格,否则有可能参数不生效。
这里的n默认为11. 第一个参数是客户端连接到服务器的时候启作用,第二个是做为客户端去连接其它数据库的时候启作用。
3.修改后使用reload 监听[oracle@yxwzgdb /u01/app/oracle/product/19c/db19c/network/admin]$ lsnrctl LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 07-APR-2021 14:33:49 Copyright (c) 1991, 2019, Oracle. All rights reserved. Welcome to LSNRCTL, type "help" for information.LSNRCTL> reload Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=zgdb-139)(PORT=1521))) The command completed successfully LSNRCTL> exit
ORA-01017
- oracle密码版本写入的时候使用的时11g和12c配置的规则,导致正确密码也无法通过验证。修改密码即可。
alter user 用户名 identified by 密码;

浙公网安备 33010602011771号