2017-03-01 138 views
0

我試圖審計一個特定的用戶,並創建了一個我分配給用戶的審計策略。然後,我將其歸檔並提取審計數據。DB2審計 - 加載到審計表

到目前爲止這麼好。

然後,我使用db2audit.dll來創建所需的表。

TABNAME TABSCHEMA 
-------- --------- 
AUDIT AUDIT 
CHECKING AUDIT 
CONTEXT AUDIT 
EXECUTE AUDIT 
OBJMAINT AUDIT 
SECMAINT AUDIT 
SYSADMIN AUDIT 
VALIDATE AUDIT 

現在我有一個問題加載數據到表中。

這是我使用的語句(從知識中心):

DB2

當我執行這個 「從改性DELPRIORITYCHAR LOBSINFILE INSERT INTO AUDIT.EXECUTE DEL的execute.del LOAD」聲明沒有任何反應

的diaglog只能說明,直到我CRTL + C的聲明如下:

2017-03-01-18.17.10.369493+060 I4839757A617   LEVEL: Warning 
PID  : 6619308    TID : 46267   PROC : db2sysc 0 
INSTANCE: db2xxx    NODE : 000   DB : XXX 
APPHDL : 0-61914    APPID: *LOCAL.db2xxx.170301163935 
AUTHID : DB2XXX    HOSTNAME: axxxxxxxx 
EDUID : 46267    EDUNAME: db2agent (XXX) 0 
FUNCTION: DB2 UDB, database utilities, sqluvtld_route_in, probe:924 
DATA #1 : LOADID, PD_TYPE_LOADID, 50 bytes 
LOADID: 46267.2017-03-01-18.17.10.369444.0 (-1;-1) 
DATA #2 : String, 55 bytes 
Starting LOAD operation (S) (1) (I) [AUDIT .EXECUTE]. 

我真的不知道我在這裏失蹤。

感謝,

米爾科

+0

LOAD在完成之前不會報告錯誤,並且每個錯誤都會導致放緩 - 如果存在很多錯誤,您可以體驗到您所看到的行爲。我建議在你的LOAD語句中加入'warningcount 50'(如果有50個警告強制LOAD失敗)。 –

+0

沒有任何警告,但感謝這個提示......它讓我想到了解決方案。 – nubbeldupp

回答

0

我發現自己...

由於我在SAP環境工作沒有8K表空間。所有表空間和緩衝池都是16K。

在查看ddl文件後,我在評論部分找到了該文件。

-- -> assumes an 8K tablespace is available for use 

(我不得不承認我沒有正確讀取知識中心,有一個短句提要求的8K表空間):)

創建8K緩衝池,8K表空間和滴/後創建LOAD工作得很好的表。

+0

這並不真正與你在你的問題中描述的東西。 AUDIT.EXECUTE是否存在。如果它不存在(即因爲'create table'失敗),當發出LOAD命令時,你會收到一個錯誤('SQL3304N表不存在.')。 –

+0

即使沒有8K表空間,CREATE TABLE也不會失敗,腳本(sqllib/misc/db2audit.ddl)也可以正常工作。 – nubbeldupp