Enable_ddl_logging

Photo by Ben White on Unsplash

Enable_ddl_logging

El parámetro ENABLE_DDL_LOGGING habilita o deshabilita desde la versión 12c el registro de las operaciones DDL en un archivo log diferente al clásico alert_log. Es un parámetro que no suele venir por defecto activo.

Dos posibles valores:

  • FALSE: Las operaciones DDL solo se registran en el alert_log.

  • TRUE: Cada operación DDL se registra en un archivo .log y .xml. Las operaciones DDL que aplican son:

    • ALTER/CREATE/DROP FUNCTIONGRANTALTER/CREATE/DROP INDEXALTER/CREATE/DROP OUTLINEALTER/CREATE/DROP PACKAGEALTER/CREATE/DROP PACKAGE BODYALTER/CREATE/DROP PROCEDUREALTER/CREATE/DROP PROFILEREVOKEALTER/CREATE/DROP SEQUENCECREATE/DROP SYNONYMALTER/CREATE/DROP/RENAME/TRUNCATE TABLEALTER/CREATE/DROP TRIGGERALTER/CREATE/DROP TYPEALTER/CREATE/DROP TYPE BODYDROP USER
  • ALTER/CREATE/DROP VIEW

  • ALTER/CREATE/DROP/TRUNCATE CLUSTER

Ruta donde se generan los archivos log es la siguiente:

  • /u01/app/oracle/diag/rdbms/$ORACLE_UNQNAME/$ORACLE_SID/log/ddl_$ORACLE_SID.log

  • /u01/app/oracle/diag/rdbms/$ORACLE_UNQNAME/$ORACLE_SID/log/ddl/$xml

Vamos a realizar un pequeño ejemplo de su uso, lo primero que vamos a verificar es que tenemos activo el parámetro en nuestra base de datos

Una vez que tenemos comprobado que se encuentra activo, vamos a crear una vista en nuestra base de datos y comprobamos que se ha registrado dicha operación DDL en un archivo log diferente.

Y si miramos ambos archivos, vemos que se ha incluido esa información