==== Reference links ==== * [[http://intermediatesql.com/oracle/oracle-11g-xml-alert-logs-surprise-they-are-actually-more-convenient-to-work-with/|Convenient access to adrci log files]] * [[http://arup.blogspot.co.uk/2013/04/switching-back-to-regular-listener-log.html|Switch back to old-style listener log file - not using adr]] * [[https://oracle-base.com/articles/11g/automatic-diagnostics-repository-11gr1|adrci at oracle-base.com]] The new way to package problems and their incidents up for Oracle Support.\\ A useful way to keep the purging of trace files under control.\\ With an Oracle database environment setup, type: adrci To get out, type: adrci> exit To get help, type: adrci> help Show registered ORACLE_HOMEs show home Set one of the homes set home diag/rdbms/orcl tail the alert log (adrci reads the XML version of the alert log) show alert -tail -f Are there any problems? show problem Show the incident(s) of this problem show incident -all Show more detail about an incident show incident -mode detail -p "incident_id=" Show the incident trace file for this incident show trace /u01/app/oracle/diag/rdbms/orcl/orcl/incident/incdir_6201/orcl_ora_2299_i6201.trc Package a problem up for Oracle Support ips create package problem 1 correlate all Zip a problem package for Oracle Support ips generate package in "/home/oracle" To see current setup, type: adrci> show control ==== Is the list of HOMEs incorrect? ==== Check the ADR Base. This is probably set wrongly. Thanks to [[http://marcel.vandewaters.nl/oracle/database-oracle/adrci-no-adr-base-is-set|this site]], we can set the ADR Base to what it should be. echo "ORACLE_BASE: ${ORACLE_BASE}" STORED_ADR_BASE=$(cat $ORACLE_HOME/log/diag/adrci_dir.mif) printf "Stored ADR_BASE: %s\n" "${STORED_ADR_BASE}" Does it show the ORACLE_BASE? If not populate it correctly with this printf "%s" "${ORACLE_BASE}" >$ORACLE_HOME/log/diag/adrci_dir.mif ==== Purging trace and dump files in 11g with adrci ==== SHORTP_POLICY and LONGP_POLICY are number of hours to keep trace files and alert files respectively. These can be changed by typing: set control (SHORTP_POLICY=240) Trace files will now be deleted after 10 days.\\ If space is running low, you can manually delete trace files.\\ This deletes all trace files older than 1 day (note the age parameter is minutes, not hours). purge -age 3600 -type trace Show the tracefiles in reverse time ordershow tracefile -rt ==== Use ADR command line interface from shell ==== adrci exec="show homes" adrci exec="set home diag/tnslsnr/ravjde01/listener_ravjde1; show control" adrci exec="set home diag/tnslsnr/ravjde01/listener_ravjde1; set control (shortp_policy=360,longp_policy=720);purge;show control;" Show ADR homes related to databases $ORACLE_HOME/bin/adrci exec="show homes" | grep "rdbms" ==== Shell script to purge ADR data ==== Found [[http://www.dadbm.com/oracle-database-housekeeping-methods-adr-files-purge/|here]] - Purge ADR contents (adr_purge.sh) purge_log () { purge_min=$(( 24 * 60 * $2 )) echo "INFO: purging $1 older than $2 days" adrci exec="set homepath $file_line; purge -age $purge_min -type $1" } echo "INFO: adrci purge started at `date`" adrci exec="show homes"|grep -v : | while read file_line do echo "INFO: adrci purging diagnostic destination " $file_line echo "------------------" purge_log ALERT 365 purge_log INCIDENT 273 purge_log TRACE 120 purge_log CDUMP 75 purge_log HM 75 echo "------------------" done echo "INFO: adrci purge finished at `date` ==== Create a package to send to Oracle Support ==== A problem may consist of one or more incidents. === Show the available adr homes === show home === Set the appropriate adr home === set home diag/rdbms// === Find the problem id === show incident -mode detail -p "incident_id=" or show problem === Create a package containing the latest incident for this problem === ips create package problem or === Create a package containing all incidents for this problem === ips create package problem correlate all === Generate a zipped package file === ips generate package in "/tmp"