In Version 11gR1 Oracle introduced the Active Diagnostic Repository (ADR), which serves as a common repository for all log files, tracefiles, incidents etc, that the database produces.
ADR has a "short" and a "long" purging policy. The default values are:
• 720 hours (30 days) for SHORTP_POLICY
• 8760 hours (356 days) for LONGP_POLICY
Each policy controls different types of content:
These files are controlled by the value of LONGP_POLICY:
ALERT
INCIDENT
SWEEP
STAGE
HM
These files are controlled by the value of SHORTP_POLICY:
TRACE
CDUMP
UTSCDMP
IPS
Sometimes it may be necessary to manually purge the ADR. The following example will delete all trace files older than 48 hours:
adrci> purge -age 48 -type traceOther examples (2160 hrs = 90 days):
purge -age 2160 -type alert purge -age 2160 -type incident purge -age 2160 -type cdump purge -age 2160 -type stage purge -age 2160 -type sweep purge -age 2160 -type hm
The policies can be adjusted according to need by using the following commands :
adrci> show control ADR Home = /u01/oracle/diag/rdbms/proddb01/proddb01: ************************************************************************* ADRID SHORTP_POLICY LONGP_POLICY -------------------- -------------------- -------------------- 597879840 720 8760
Set a new policy (2 and 3 days, respectively):
set control (SHORTP_POLICY = 48) set control (LONGP_POLICY = 72)
An example from one of my databaes:
adrci> show incident -mode basic ADR Home = /u01/oracle/diag/rdbms/proddb01/proddb01: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- ---------------------------------------- 30858 ORA 603 2014-03-19 11:26:41.287000 +01:00 30857 ORA 600 [kqlidchg0] 2014-03-19 11:26:38.226000 +01:00 27284 ORA 603 2014-03-18 14:42:28.228000 +01:00 27283 ORA 600 [kqlidchg0] 2014-03-18 14:42:23.706000 +01:00 . . . 17044 ORA 603 2013-09-26 15:37:30.870000 +02:00 17043 ORA 600 [kqlidchg0] 2013-09-26 15:37:27.255000 +02:00 17042 ORA 603 2013-09-26 15:35:45.918000 +02:00 17041 ORA 600 [kqlidchg0] 2013-09-26 15:35:42.239000 +02:00 45 rows fetchedRemove incidents that are older than 90 days:
adrci> purge -age 2160 -type incidentAnother check of the incident list shows that the number has been reduced:
adrci> show incident -mode basic ADR Home = /u01/oracle/diag/rdbms/sergat/sergat: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- ---------------------------------------- 30858 ORA 603 2014-03-19 11:26:41.287000 +01:00 30857 ORA 600 [kqlidchg0] 2014-03-19 11:26:38.226000 +01:00 27284 ORA 603 2014-03-18 14:42:28.228000 +01:00 27283 ORA 600 [kqlidchg0] 2014-03-18 14:42:23.706000 +01:00 . . . 24 rows fetched
Thanks a lot..
ReplyDeleteage is hours or minutes?
ReplyDeleteIn hours
DeletePls confirm again. AGE will in minutes.
DeleteADRCI> help purge
purge [-i {id | start_id end_id} | -age mins [-type ..]
The last comment was correct about the PURGE command: The PURGE command will accept hours when used with the "-age" flag.
DeleteThe SET CONTROL command though, will accept the time in hours.
It is minutes
ReplyDelete