2017-03-01 9 views
0

특정 사용자를 감사하려고하고 사용자에게 할당 한 감사 정책을 만들었습니다. 그런 다음 감사 데이터를 보관하고 추출했습니다.DB2 AUDIT - 감사 테이블에로드

지금까지 그렇게 좋았습니다.

그런 다음 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"

는 (지식 센터) 내가 사용하고 문이다 성명은 아무 일도 일어나지 않는다.

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]. 

난 정말 내가 여기에 누락 모르는 :

diaglog 단지 내가 CRTL + C 성명서 때까지 다음을 보여줍니다. 더 8K 테이블 스페이스가없는

나는 SAP 환경에서 일하고 있기 때문에 나 자신을 발견

+0

LOAD는 완료 될 때까지 오류를보고하지 않으며 각 오류는 속도가 느려집니다. 많은 오류가 발생하면보고있는 동작을 경험할 수 있습니다. LOAD 문에 'warningcount 50'을 추가하는 것이 좋습니다 (50 개의 경고가있는 경우 LOAD가 실패하도록 강제). –

+0

경고는 없었지만이 힌트를 주셔서 감사합니다. – nubbeldupp

답변

0

감사합니다,

미르코 .... 모든 Tablespaces와 Bufferpools는 16K입니다.

ddl-File을 살펴본 후에 나는 주석 섹션에서 이것을 발견했습니다.

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

(I 제대로 지식 센터를 읽어 보지 않았 I을 인정해야한다. 필요한 8K 테이블을 언급 짧은 문장이) :

는 8K 버퍼, 8K 테이블 놓기를/생성 한 후 LOAD가 잘 작동하는 테이블을 생성하십시오.

+0

이것은 당신이 당신의 질문에 묘사 한 내용에 정말로 열중하지 않습니다. AUDIT.EXECUTE가 존재하거나 존재하지 않습니다. 'create table'이 실패했기 때문에 존재하지 않으면, LOAD 명령을 발행 할 때 오류가 발생했습니다 ('SQL3304N The table does exist .'). –

+0

8K 테이블 공간이 없어도 CREATE TABLE이 실패하지 않고 스크립트 (sqllib/misc/db2audit.ddl)가 제대로 작동합니다. – nubbeldupp