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