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以来的秒数?
答案 0 :(得分:1)
审核日志不是C-ISAM文件;它们是普通的日志文件。 IIRC,它们是以'.aud'作为后缀创建的。如果你选择后缀,那么你将使用'.dat'后缀创建它,确保名称不与任何表名冲突。
您应该能够像访问表一样访问它们,但是您必须创建一个表(数据文件)和索引文件以匹配增强的模式,然后安排'.aud'文件到引用与'.dat'文件相同的位置 - 可能是通过链接或可能是符号链接。您可以在SE中的CREATE TABLE语句中指定表的存储位置。
时间是Unix时间戳 - 自1970-01-01T00:00:00Z以来的秒数。