Salta el contingut
 

Registre del servidor

Joan Puigcerver Ibáñez

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Registre del servidor

Oracle DB guarda tota la informació de diagnòstic en el repositori automàtic de diagnòstic (Automatic Diagnostic Repository, ADR). Aquest repositori conté, principalment, l'alert log i els fitxers de traça, que són la primera font d'informació per diagnosticar qualsevol problema.

No s'ha de confondre el registre del servidor amb el diari de transaccions (redo log).

Els redo logs registren en format binari cada canvi en les dades i són imprescindibles per a la recuperació. En canvi, l'alert log i les traces només contenen missatges informatius. Els redo logs es tracten en els apunts de Còpies de seguretat.

Ubicació dels fitxers (V$DIAG_INFO)

La ubicació base de l'ADR es defineix amb el paràmetre DIAGNOSTIC_DEST. La vista V$DIAG_INFO indica la ruta de cada part del repositori:

SELECT name, value FROM V$DIAG_INFO;
NAME                   VALUE
---------------------  ------------------------------------------
ADR Base               /opt/oracle
ADR Home               /opt/oracle/diag/rdbms/xe/XE
Diag Trace             /opt/oracle/diag/rdbms/xe/XE/trace
Diag Alert             /opt/oracle/diag/rdbms/xe/XE/alert
Default Trace File     /opt/oracle/diag/rdbms/xe/XE/trace/XE_ora_123.trc
...

S'observa que els fitxers de traça es troben al directori Diag Trace, mentre que Diag Alert conté la versió XML de l'alert log.

Alert log

L'alert log és el registre cronològic dels esdeveniments importants de la instància: l'arrancada i l'aturada, els errors ORA-, els canvis de configuració amb ALTER SYSTEM o ALTER DATABASE i els canvis de redo log, entre d'altres. N'hi ha dues versions:

  • Text: el fitxer alert_<SID>.log, dins del directori Diag Trace.
  • XML: el fitxer log.xml, dins del directori Diag Alert.

A més dels fitxers, el contingut de l'alert log es pot consultar amb SQL a la vista V$DIAG_ALERT_EXT:

SELECT originating_timestamp, message_text
    FROM V$DIAG_ALERT_EXT
    WHERE originating_timestamp > SYSDATE - 1
    ORDER BY originating_timestamp DESC;

La imatge de Docker mostra l'alert log a l'eixida del contenidor, de manera que també es pot consultar amb docker logs.

Documentació oficial: Monitoring the Database – Oracle DB

Fitxers de traça

Els fitxers de traça (.trc) contenen informació detallada d'un procés concret del servidor. Oracle en genera un quan un procés troba un error intern, i l'alert log sol indicar quin fitxer de traça cal consultar per a cada error. Es troben al directori Diag Trace.

Ferramenta ADRCI (adrci)

La ferramenta de línia d'ordres adrci permet consultar el contingut de l'ADR sense haver de buscar els fitxers a mà:

adrci

Algunes de les ordres més habituals són:

  • show homes: mostra els directoris de diagnòstic disponibles.
  • set homepath <home>: selecciona el directori de diagnòstic amb què es treballa.
  • show alert -tail <n>: mostra les últimes <n> línies de l'alert log.
  • show problem: mostra els problemes crítics registrats.
Exemple: Consulta de l'alert log amb adrci

Es mostren les últimes línies de l'alert log des del contenidor:

jpuigcerver@fp:~ $ docker exec -it oracleX213 adrci
adrci> set homepath diag/rdbms/xe/XE
adrci> show alert -tail 3
2026-01-15 12:00:01.123000 +00:00
Completed: ALTER DATABASE OPEN
2026-01-15 12:00:02.456000 +00:00
XEPDB1(3):Opening pdb with no Resource Manager plan active

S'observa que cada entrada comença amb la data i l'hora, seguides del missatge.

Documentació oficial: ADRCI: ADR Command Interpreter – Oracle DB

📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.