How to check whether Oracle database is accessed or not

oraclesession

I am an Oracle DBA. Application owner is asking me when was the last time Oracle database was accessed? How do I find information about the DB usage timeline? I mean, I want to check whether it is being used by the application or not?

Unfortunately the application owner has no idea whether her application is used by the users or not.

From DBA's side which data dictionary should I look into? Can ASH help? if yes, then which specific section should I focus on?

Best Answer

Take a look at it this thread on AskTom:

Auditing of course would be the easiest way

You could possibly get something from the DBA_HIST views (part of AWR/ASH - workload repository and active session history) but bear in mind

  • they are sampled snapshots - not 100% of everything is in there
  • many of them are "top" reports only - dba_hist_seg_stat for example - shows IO's against segments - it seems perfect, but it is only "This view captures the top segments based on a set of criteria and captures information from V$SEGSTAT" - it will not have 100% of everything.

Auditing is the right answer, funny thing with auditing - we only really want it when it isn't on don't we :)

Oracle has a lot of history tables as you can see here: http://www.dba-oracle.com/oracle10g_tuning/t_dba_hist_data_dictionary_views.htm