The query below will return a list of all the Tables/VIEWS in the database.
SELECT table_name FROM DICTIONARY ORDER BY table_name;
Upon using this query you will be able to access the various tables and
VIEWS. For example, one of these VIEWs is called DBA_USERS which we
describe below.
SQL> desc dba_users;
Name
Null? Type
----------------------------------------- -------- ----------------------------
USERNAME
NOT NULL VARCHAR2(30)
USER_ID
NOT NULL NUMBER
PASSWORD
VARCHAR2(30)
ACCOUNT_STATUS
NOT NULL VARCHAR2(32)
LOCK_DATE
DATE
EXPIRY_DATE
DATE
DEFAULT_TABLESPACE
NOT NULL VARCHAR2(30)
TEMPORARY_TABLESPACE
NOT NULL VARCHAR2(30)
CREATED
NOT NULL DATE
PROFILE
NOT NULL VARCHAR2(30)
INITIAL_RSRC_CONSUMER_GROUP
VARCHAR2(30)
EXTERNAL_NAME
VARCHAR2(4000)
Plus we can select the comments from the Dictionary regarding this VIEW.
SQL> select comments from dictionary
where table_name='DBA_USERS';
COMMENTS
------------------------------------------------------------------
Information about all users of the database
We can then find out what the columns are in this table
SELECT column_name FROM dict_columns WHERE table_name ='DBA_USERS' ORDER BY
COLUMN_NAME;
Then “zooming” into the password column we see:
SELECT comments FROM dict_columns WHERE
table_name ='DBA_USERS' and column_name=’PASSWORD’;
COMMENTS
-----------------------------------------------------------------
Encrypted password
This is an excerpt from the book "Oracle
Forensics: Oracle Security Best Practices", by Paul M. Wright, the father of
Oracle Forensics.