【发布时间】:2019-09-06 08:22:18
【问题描述】:
我在 Windows 机器中使用 DB2 LUW。我想获取数据库中使用的 DDL 和 DML 查询的日志。
默认日志(例如 S000001.LOG)包含“null”且不是可读格式。所以我启用了审计并将归档的审计日志提取到 .del 文件中。
但审计日志提取会创建这样的 .del:
执行.del
"2019-09-05-01.19.44.443001","EXECUTE","STATEMENT",13,0,"TEST2","Administrator","ADMINISTRATOR","ADMINISTRATOR",,,"*LOCAL.DB2.190904193137","db2bp.exe",,,,,,,,"ADMINISTRATOR","SQLC2O29",203,," "," ",10,1,0,0,"WRITE_DML","auditlobs.0.42/","CS","auditlobs.42.808/",1,0,,,,,,"2019-09-05-01.19.44.178765",,"DB2","DESKTOP-R9O62O0"
在 notepad++ 中打开文件时,空格类似于 NULNULNUL
auditlob.file
insert into db2admin.testtable values(223)GEN_CMPL ( DD ( ¸ 0 ¸ 8 ¸ @ ¸ H ¸ P ¸
X ¸
此文件包含 STX NUL EOX US...等字符
在我的情况下,我应该以任何可读格式(如 db2diag.log 文件)获取日志,或者我必须以标准格式将日志转发到系统日志服务器。
最好的方法是什么?
是否有可能将审计日志写入系统应用程序事件,如 MSSQL DDL/DML 审计?这样我就可以轻松地转发这些日志。
auditlobs.file 和 execute.del -> https://imgur.com/a/9LydhYK
提前谢谢..!
【问题讨论】:
标签: db2 ddl db2-luw dml auditing