Oracle 11g 开始,数据库密码默认区分大小写,但是提供了一个参数 – sec_case_sensitive_logon,使得11g的密码验证行为和之前相同(不区分大小写)。
但是在12c中,该参数已经被废弃,也就是说12c强制密码大小写验证。因此在上线前需要仔细检查应用系统密码,避免因为密码大小写问题导致登录失败。
在设置 sec_case_sensitive_logon = false 时,无法正常登录到数据库。
SQL> alter user system identified by oracle;
User altered.
SQL> conn system/oracle ERROR: ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
修改为 sec_case_sensitive_logon = true 后,登录正常,但是在启动时会提示参数过期。
SQL> alter system set sec_case_sensitive_logon=true;
System altered.
SQL> conn system/ORACLE
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
SQL> conn system/oracle
Connected.
参数过期提示
SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.