问题:参数sec_case_sensitive_logon为FALSE时,登录数据库,所有的用户登录都提示ERROR: ORA-01017: invalid username/password; logon denied
解决方法:ALTER SYSTEM SET sec_case_sensitive_logon=TRUE;
参考文档:MOS文档 ID 2075401.1
基于密码的身份验证的新独占模式默认值
Oracle 12.2中的密码与不区分大小写的密码配置冲突。
升级到12.2后,如果出现以下情况,可能无法访问帐户
sec_case_sensitive_logon实例的FALSE设置
使用初始化参数,因为默认情况下是在12.2中
实例配置为以独占模式运行。
有关独占模式的更多详细信息,请参见
网络参考手册中描述了
SQLNET.ALLOWED_LOGON_VERSION_SERVER参数。
http://docs.oracle.com/database/121/NETRF/sqlnet.htm#NETRF2016
升级到Oracle 12.2版时,请确保
以下两个设置1.和2.不能同时使用。
这样的配置将导致服务器无法
具有ORA-1017“无效的用户名/密码”错误的所有登录,
似乎所有帐户都无法访问。
1.服务器配置为使用不区分大小写的密码。
-禁用区分大小写,即实例
初始化参数sec_case_sensitive_logon
具有以下设置:
sec_case_sensitive_logon =false
2.服务器配置为以独占模式运行。
-如果SQLNET.ORA服务器处于独占模式
参数SQLNET.ALLOWED_LOGON_VERSION_SERVER
没有放松到11或更低的值,
或SQLNET.ALLOWED_LOGON_VERSION_SERVER
在SQLNET.ORA配置文件中不存在。
在Oracle版本12.2中,默认值
用于SQLNET.ALLOWED_LOGON_VERSION_SERVER
参数为“ 12”,即排他模式。
要解决参数设置之间的冲突,
数据库管理员将需要执行
开始升级到以下步骤之前的以下步骤
Oracle版本12.2。
选项1。
-删除不推荐使用的实例初始化参数
sec_case_sensitive_logon设置为FALSE(或设置为
sec_case_sensitive_logon设为TRUE,默认设置),
选项2。
-放松SQLNET.ALLOWED_LOGON_VERSION_SERVER设置
在sqlnet.ora文件中设置为更宽松的设置,
例如,SQLNET.ALLOWED_LOGON_VERSION_SERVER = 11,如上所述
在发行说明的第2.12.3.1节中的标题为“错误22031049”。
-使用此选项,您还需要再次更改用户密码,以便DBA_USERS.PASSWORD_VERSIONS将获得10G的值。
但是,基于DES的验证程序已过时,仅在遗留客户端应用程序仍需要的情况下才应使用。