Oracle 23c new features: wat is de nieuwe attention.log?

Oracle 23c new features: wat is de nieuwe attention.log? Nu Oracle steeds meer informatie vrijgeeft over de nieuwe 23c release van de database, is het goed eens te kijken wat er op ons afkomt. Oracle heeft documentatie vrijgegeven op docs.oracle.com.   Na de introductie van Oracle 19c als Long term Support Release zijn er twee innovatie release beschikbaar (geweest): 20c en 21c. Sommige van de features daaruit zijn gebackport naar Oracle 19c (zoals de max_idle_blockers_time).  Andere features zien normale Oracle gebruikers pas in 23c beschikbaar.

Een van de wijzigingen is de attention.log die geintroduceerd is. Als we kijken in de trace directory van de diagnostic dest van een database, zien we ineens 2 files

SQL> show parameter diagnostic

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest                      string      /opt/oracle

cd …/trace:FREE>ls -l a*
-rw-r-----. 1 oracle oinstall 344742 Jul 18 09:58 alert_FREE.log
-rw-r-----. 1 oracle oinstall  15410 Jul 18 10:17 attention_FREE.log

we zien dus dat naast de alert.log een attention.log staat. Als we in de attention.log kijken zien we entries zoals:

{
  "ERROR"        : "PMON (ospid: 625927): terminating the instance due to ORA error 12752",
  "URGENCY"      : "IMMEDIATE",
  "INFO"         : "Additional Information Not Available",
  "CAUSE"        : "The instance termination routine was called",
  "ACTION"       : "Check alert log for more information relating to instance termination rectify the error and restart the instance",
  "CLASS"        : "UNKNOWN / CDB Instance / CDB ADMINISTRATOR / AL-1003",
  "TIME"         : "2023-06-01T08:37:34.277+02:00"
},

Hiermee bevat de attention.log een subset van de informatie zoals die in de alert.log staat, namelijk alleen de ‘error messages. En in tegenstelling tot de log.xml, die een kopie is van de alert.log in XML formaat, wordt hier gebruik gemaakt van het JSON formaat. Dit heeft als voordeel het relatief eenvoudig toegankelijk gemaakt kan worden met een externe table:

create directory tst as ‘/opt/oracle/diag/rdbms/free/FREE/trace/’ 

CREATE TABLE attention2
(
  json_document  CLOB
)
ORGANIZATION EXTERNAL
  (
   TYPE oracle_loader
   DEFAULT DIRECTORY tst
   ACCESS PARAMETERS (
     RECORDS DELIMITED BY ',\n\n'
     DISABLE_DIRECTORY_LINK_CHECK FIELDS (json_document CHAR(5000)))
   LOCATION (tst:'attention_FREE.log'))
  REJECT LIMIT UNLIMITED
  PARALLEL
/

Dan kan een query zoals

select * from  attention
where TO_TIMESTAMP_TZ(replace(json_value(json_document, '$.TIME'),'T',' '),'YYYY-MM-DD HH24:MI:SS.FF6TZH:TZM') > (systimestamp-(1/24))
and json_value(json_document, '$.URGENCY') = 'IMMEDIATE'

je helpen een overzicht van entries van het laatste uur te krijgen.

Een belangrijk voordeel van de attention.log over de traditionele alert.log is dat er veel meer informatie in staat. Hierdoor is het eenvoudiger  bij te houden als er wat misgaat. Met de introductie van de ADR (Automatic Diagnostic Repository) is Oracle veel meer weg gaan schrijven in de alert.log waardoor deze minder toegankelijk is geworden.  De attention.log is een corrigerende ontwikkeling.

Een belangrijk aandachtspunt met betrekking tot de attention.log is dat deze, net als de traditionele alert.log niet geschoond wordt. Hier is dus beheer nodig.

We hopen dat we je met dit artikel ‘Oracle 23c new features: wat is de nieuwe attention.log?’ op weg hebben geholpen. Mocht je hulp nodig hebben of je hebt vragen n.a.v. dit artikel, laat het ons dan weten.

Oracle Security en patching

Scroll to Top