12C中关于出现DDL误操作追责小工具
在Oracle 12C中,存在一个可选项,既开启记录DDL日志
在之前的版本中没有可选方法来对DDL操作进行日志记录。进入Oracle 12C后可以将DDL操作写入xml和日志文件中。
这对于了解谁在什么时间执行了create或drop命令是十分有用的。
我们通过将ENABLE_DDL_LOGGING参数设置为TRUE开启该功能
这一参数可以分别在数据库或会话级加以设置。
当此参数为启用状态,所有的DDL命令会记录在$ORACLE_BASE/diag/rdbms/DBNAME/log|ddl 路径下的xml和日志文件中。
一个xml中包含DDL命令,IP地址,时间戳等信息。
这可以帮助确定在什么时候对用户或表进行了删除亦或是一条DDL语句在何时触发。
开启DDL日志功能句法如下:
SQL> ALTER SYSTEM|SESSION SET ENABLE_DDL_LOGGING=TRUE;
下面DDL操作可能会被记录。
·CREATE|ALTER|DROP|TRUNCATE TABLE
·DROP USER
·CREATE|ALTER|DROP PACKAGE|FUNCTION|VIEW|SYNONYM|SEQUENCE
功能虽不起眼,但在实际应用中却又有非常大的作用。仅仅增加一个记录DDL操作监控,不会对性能有任何影响,又能在出现失误时将责任明确清楚,防止一些其他厂商的恶意中伤。
浙公网安备 33010602011771号