2010-06-24 47 views
1

INFORMIX-SQL 7.32(SE):閱讀的Informix-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的內部時間值,自12/31/1899以來的秒數?

回答

1

審覈日誌不是C-ISAM文件;他們是普通的日誌文件。 IIRC,它們是以'.aud'作爲後綴創建的。如果您選擇後綴,那麼您可以使用'.dat'後綴創建它,確保名稱不與任何表名衝突。

您應該可以像訪問表一樣訪問它們,但您必須創建一個表(數據文件)和索引文件以匹配增強模式,然後安排'.aud'文件指向與'.dat'文件相同的位置 - 可能是通過鏈接或可能是符號鏈接。您可以指定表格存儲在SE中的CREATE TABLE語句中的位置。

時間是Unix時間戳 - 自1970-01-01T00:00:00Z以來的秒數。

+0

.dat克隆表所有者是informix嗎?當應該有更清晰的方式來讀取審計表時,如何才能通過所有這些環節來讀取審計表? – 2010-06-25 06:12:02

+0

@Frank:店主可以是任何人。審計跟蹤旨在與C-ISAM文件一起使用 - 不適用於SE表。 SE正好讓它們可供你使用。此外,您需要審計審計跟蹤表,該審計跟蹤表需要審計跟蹤的審計跟蹤...:D – 2010-06-25 06:35:09

+0

以上部分註釋中的一個主題問題:除了指定在哪裏創建表以「 ......「;我可以指定EXTENTS還是隻在IDS中指定? – 2010-06-25 18:09:44