Quantcast
Channel: Andrew's Oracle Blog
Viewing all articles
Browse latest Browse all 330

Case Sensitive Passwords in Oracle 11

$
0
0
In version 11, Oracle passwords became case sensitive. You can see what I mean in the example below:

SQL> conn / as sysdba
Connected.
SQL> alter user system identified by manager
  2  /
 
User altered.
 
SQL> conn system/manager
Connected.
SQL> conn system/MANAGER
ERROR:
ORA-01017: invalid username/password; logon denied
 
Warning: You are no longer connected to ORACLE.
SQL>
 
The DBA_USERS view no longer contains the encrypted password, except when the user is identified externally:
 
SQL> conn / as sysdba
Connected.
SQL> alter user system identified externally
  2  /
 
User altered.
 
SQL> select password from dba_users
  2  where username = 'SYSTEM'
  3  /
 
PASSWORD
------------------------------
EXTERNAL
 
SQL> alter user system identified by manager
  2  /
 
User altered.
 
SQL> select password from dba_users
  2  where username = 'SYSTEM'
  3  /
 
PASSWORD
------------------------------
 
SQL>
 
You can see the Oracle 10 encrypted password in the NAME column of SYS.USER$ and the Oracle 11 encrypted value of the password in the SPARE4 column of the same table:
 
SQL> select password from sys.user$
  2  where name = 'SYSTEM'
  3  /
 
PASSWORD
------------------------------
D4DF7931AB130E37
 
SQL> select spare4 from sys.user$
  2  where name = 'SYSTEM'
  3  /
 
SPARE4
-----------------------------------------------------------------
S:9FA0ADFDC164534A13A388167C4D75BC6C9CF35F7A9CC58F1CDBB1DC7653
 
SQL>
 
If you use the Oracle 10 encrypted value to reset the password, the Oracle 11 encrypted value disappears from the SPARE4 column:
 
SQL> alter user system identified by values 'D4DF7931AB130E37'
  2  /
 
User altered.
 
SQL> select password from sys.user$
  2  where name = 'SYSTEM'
  3  /
 
PASSWORD
------------------------------
D4DF7931AB130E37
 
SQL> select spare4 from sys.user$
  2  where name = 'SYSTEM'
  3  /
 
SPARE4
-----------------------------------------------------------------
 
SQL>
 
… and the password is no longer case sensitive:
 
SQL> conn system/manager
Connected.
SQL> conn system/MANAGER
Connected.
SQL>
 
Conversely, if you use the Oracle 11 encrypted value to reset the password, the Oracle 10 encrypted value disappears from the PASSWORD column:
 
SQL> alter user system identified by values
  2  'S:FA743A680B015952982BB2B501B7BC623F1AA11093AC95E58D67B18A2AC2'
  3  /
 
User altered.
 
SQL> select password from sys.user$
  2  where name = 'SYSTEM'
  3  /
 
PASSWORD
------------------------------
 
SQL> select spare4 from sys.user$
  2  where name = 'SYSTEM'
  3  /
 
SPARE4
-----------------------------------------------------------------
S:FA743A680B015952982BB2B501B7BC623F1AA11093AC95E58D67B18A2AC2
 
SQL>
 
… and the password becomes case sensitive again:
 
SQL> conn system/manager
Connected.
SQL> conn system/MANAGER
ERROR:
ORA-01017: invalid username/password; logon denied
 
Warning: You are no longer connected to ORACLE.
SQL>

Viewing all articles
Browse latest Browse all 330

Trending Articles