Passwords in 11.2.0

Oracle removed the password from the DBA_USERS view in 11g, but apparently it can be fetched from the USER$ table (to which no one should normally have access) by concatenating SPARE4 and the PASSWORD column with a semicolon between the two.

SQL> select dbms_metadata.get_ddl('USER','ATL') from dual;

DBMS_METADATA.GET_DDL('USER','ATL')
--------------------------------------------------------------------------------

   CREATE USER "ATL" IDENTIFIED BY VALUES 'S:48F8D7A67379F9FC225FD2A621950D23EDE
2435C789C07B8C4A4E294B78B;6B15AF8BDEABA33B'
      DEFAULT TABLESPACE "USERS"
      TEMPORARY TABLESPACE "TEMP"


SQL> select spare4 from user$ where name = 'ATL';

SPARE4
--------------------------------------------------------------------------------
S:48F8D7A67379F9FC225FD2A621950D23EDE2435C789C07B8C4A4E294B78B

SQL> select password from user$ where name = 'ATL';

PASSWORD
------------------------------
6B15AF8BDEABA33B

SQL>

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.