工作过程中,遇到一个记录数据库执行过的ddl语句的需求。在得到大佬指导后,特来记录。
关键步骤
alter system set enable_ddl_logging=true;
关于enable_ddl_logging的解释详见官网 enable_ddl_logging 。简而言之,要想将DDL执行记录记入ddl log,必须设置该参数为true。
日志文件的位置
由enable_ddl_logging定义中所说
The DDL log is stored in the log/ddl subdirectory of the ADR home.
我碰到的情况是,
/$ORACLE_BASE/diag/rdbms/<dbname>/<sid>/log/ddl/ddl_{sid}.log
这篇文章给出了详细的说明
Automatic Diagnostic Repository (ADR) in Oracle Database 11g Release 1 (ADRCI)
大家可以根据自己数据库的安装情况,酌情调整。