Friday, July 18, 2008

DBA_AUDIT_OBJECT

Thank you for visiting Spatial DBA - Oracle and ArcSDE.

Please visit Oracle DBA Tips (http://www.oracledbatips.com) for more Oracle DBA Tips.
==================================================================


Oracle 11gR1
DBA_AUDIT_OBJECT displays audit trail records for all objects in the database.

Related View
USER_AUDIT_OBJECT displays audit trail records for all objects accessible to the current user.
Column
Datatype
NULL
Description
OS_USERNAME
VARCHAR2(255)

Operating system login username of the user whose actions were audited
USERNAME
VARCHAR2(30)

Name (not ID number) of the user whose actions were audited
USERHOST
VARCHAR2(128)

Client host machine name
TERMINAL
VARCHAR2(255)

Identifier of the user's terminal
TIMESTAMP
DATE

Date and time of the creation of the audit trail entry (date and time of user login for entries created by AUDIT SESSION) in the local database session time zone
OWNER
VARCHAR2(30)

Creator of the object affected by the action
OBJ_NAME
VARCHAR2(128)

Name of the object affected by the action
ACTION_NAME
VARCHAR2(28)

Name of the action type corresponding to the numeric code in the ACTION column in DBA_AUDIT_TRAIL
NEW_OWNER
VARCHAR2(30)

Owner of the object named in the NEW_NAME column
NEW_NAME
VARCHAR2(128)

New name of an object after a RENAME or the name of the underlying object
SES_ACTIONS
VARCHAR2(19)

Session summary (a string of 16 characters, one for each action type in the order ALTER, AUDIT, COMMENT, DELETE, GRANT, INDEX, INSERT, LOCK, RENAME, SELECT, UPDATE, REFERENCES, and EXECUTE. Positions 14, 15, and 16 are reserved for future use. The characters are: - for none, S for success, F for failure, and B for both).
COMMENT_TEXT
VARCHAR2(4000)

Text comment on the audit trail
SESSIONID
NUMBER
NOT NULL
Numeric ID for each Oracle session
ENTRYID
NUMBER
NOT NULL
Numeric ID for each audit trail entry in the session
STATEMENTID
NUMBER
NOT NULL
Numeric ID for each statement run
RETURNCODE
NUMBER
NOT NULL
Oracle error code generated by the action. Some useful values:
· 0 - Action succeeded
· 2004 - Security violation
PRIV_USED
VARCHAR2(40)

System privilege used to execute the action
CLIENT_ID
VARCHAR2(64)

Client identifier in each Oracle session
ECONTEXT_ID
VARCHAR2(64)

Application execution context identifier
SESSION_CPU
NUMBER

Amount of CPU time used by each Oracle session
EXTENDED_TIMESTAMP
TIMESTAMP(6) WITH TIME ZONE

Timestamp of the creation of the audit trail entry (timestamp of user login for entries created by AUDIT SESSION) in UTC (Coordinated Universal Time) time zone
PROXY_SESSIONID
NUMBER

Proxy session serial number, if an enterprise user has logged in through the proxy mechanism
GLOBAL_UID
VARCHAR2(32)

Global user identifier for the user, if the user has logged in as an enterprise user
INSTANCE_NUMBER
NUMBER

Instance number as specified by the INSTANCE_NUMBER initialization parameter
OS_PROCESS
VARCHAR2(16)

Operating System process identifier of the Oracle process
TRANSACTIONID
RAW(8)

Transaction identifier of the transaction in which the object is accessed or modified
SCN
NUMBER

System change number (SCN) of the query
SQL_BIND
NVARCHAR2(2000)

Bind variable data of the query
SQL_TEXT
NVARCHAR2(2000)

SQL text of the query
OBJ_EDITION
VARCHAR2(30)

???
Note:
The SQL_BIND and SQL_TEXT columns are only populated if the AUDIT_TRAIL initialization parameter is set to db_extended.
Some queries:
--check which objects are being audited
select * from DBA_OBJ_AUDIT_OPTS

--audit detail
select * from dba_audit_object
order by owner,obj_name, username

--distinct user
select distinct ora_database_name, username
from dba_audit_object
order by username ;

--access type
select distinct ora_database_name, decode(ses_actions,'---------S------','select',ses_actions) ses_actions
from dba_audit_object
order by ses_actions ;

--where did the acesses come from
select distinct ora_database_name, os_username, userhost
from dba_audit_object

--audit detail
select ora_database_name, username username,owner, obj_name, action_name,
decode(ses_actions,'---------S------','select',ses_actions) ses_actions,
decode(returncode, '0','Success',returncode) returncode,
to_char(timestamp,'DD-MON-YYYY HH24:MI')
from dba_audit_object
order by owner,obj_name, username ;

Oracle data dictionary views