阅读Informix-SE审计跟踪日志表

时间:2010-06-24 18:43:39

标签: informix

INFORMIX-SQL 7.32(SE):

我为我的事务表创建了一个审计跟踪“a_trx”,以了解在此表中添加或更新行的人/时间,以及行内容的快照。根据文档,创建一个审计表,其中包含与被审计表相同的模式,以及预先修复的以下审计信息标题列:

table a_trx

a_type        char(2)    {record type: aa = added, dd =deleted,
                          rr = before update image, ww = after update image.}
a_time        integer    {internal time value.}
a_process_id  smallint   {Process ID that changed record.}
a_usr_id      smallint   {User ID that changed record.}
a_rowid       integer    {Original rowid.}
[...]                    {Same columns as table being audited.}

然后我继续为a_trx生成默认执行屏幕,但找不到我的表选择的a_trx。我中止并使用了.dbs目录并没有看到a_trx.dat或a_trx.idx,但发现a_trx,看起来是.dat格式,根据 我的磁盘编辑工具。有没有其他方法可以访问这个.dat克隆,或者我必须通过将引擎重命名为a_trx.dat来欺骗引擎,为它创建.idx伴侣,调整SYSTABLES,SYSCOLUMNS等以便能够访问此审计表像任何其他表一样?..和a_time的内部时间值是什么,自18/31/1899以来的秒数?

1 个答案:

答案 0 :(得分:1)

审核日志不是C-ISAM文件;它们是普通的日志文件。 IIRC,它们是以'.aud'作为后缀创建的。如果你选择后缀,那么你将使用'.dat'后缀创建它,确保名称不与任何表名冲突。

您应该能够像访问表一样访问它们,但是您必须创建一个表(数据文件)和索引文件以匹配增强的模式,然后安排'.aud'文件到引用与'.dat'文件相同的位置 - 可能是通过链接或可能是符号链接。您可以在SE中的CREATE TABLE语句中指定表的存储位置。

时间是Unix时间戳 - 自1970-01-01T00:00:00Z以来的秒数。