db2 - 如何将 DB2 DDL 和 DML 审计日志编写为系统应用程序日志?
问题描述
我在 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"
在记事本++中打开文件时,空格就像 NULNULNUL
auditlob.文件
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
提前致谢..!
解决方案
推荐阅读
- javascript - Puppeteer 在使用自动播放音频实用程序加载页面时冻结
- javascript - 如何在一行/命令中声明具有属性的javascript函数?
- r - 在相关图中添加线
- botkit - 如何更改 Botkit 端口?
- oracle - Oracle sql 如果存在则打印值,否则打印“值”不存在
- c++ - 如果我不在乎读者是否会读取陈旧的数据,我是否需要作者/读者同步?
- c# - SQL 或 EF 核心是什么以及如何根据其他表中的名称找到 Target.Id 的最简单方法
- c++ - C++ 程序一到达空格就停止翻译文本
- html - 如何覆盖 ant-design cechkbox 以使用 font-awesome 图标?
- c# - 在 asp.net MVC Web 应用程序中捆绑和缩小 ES6 javascript 文件