로그서버에서 테드폴디비허브 엔진 데이터베이스에 접속하여 가져갈수 있도록 설명합니다가져갈수도 있습니다. SQL 감사 이력은 경우에 따라 많이 쌓일것이며 데이터 크기 또한 클 것이므로 데이터베이스에 직접 접속하여 가져가는 것이 유리할 수있습니다.
'주요 테이블'의 external_save 컬럼이 ‘NO’ 라면 외부에 데이터가 저장되지 않았음을 의미 합니다.
예를 들어 ‘주요 데이터 변경 전후 관리’의 주요 테이블이 ‘change_history’ 이고 이 테이블에 external_save = ‘NO' 값으로 데이터를 저장하지 않았음을 의미합니다. 테드폴디비허브의 다른 기능(과거 데이터 삭제)을 사용하고자 한다면 데이터를 보내고 보낸 데이터는 external_save=’YES' 로 업데이트 합니다.
업데이트는 주요 테이블의 키는 seq 컬럼입니다.
만약 로그를 순차로 보내고 관리를 한다면 각 쿼리의 seq 컬럼을 기준으로 합니다.
이름 | SQL | 주요 테이블 |
---|---|---|
주요 데이터 변경 전후 관리 | SELECT a.seq, CONCAT(b.name, '(', b.email, ')') AS userInfo, target_table, modify_time, before_data, after_data FROM change_history a, tadpole_user b WHERE external_save = 'NO' AND a.modify_user = b.seq | change_history |
로그인 이력 | SELECT a.seq, CONCAT(b.name, '(', b.email, ')') AS userInfo, a.login_ip, a.connet_time, a.disconnect_time, a.succes_yn, a.fail_reason FROM login_history a, tadpole_user b WHERE a.external_save = 'NO' AND a.user_seq = b.seq | login_history |
SQL 감사 | SELECT a.seq, a.t_relation_key, CONCAT(u.name, '(', u.email, ')') AS userInfo, a.tdb_result_code AS tdb_result_code, CASE WHEN tdb_result_code = 100 THEN '요청 시작' WHEN tdb_result_code = 200 THEN '성공' WHEN tdb_result_code = 400 THEN '잘못된 요청(쿼리 실패)' WHEN tdb_result_code = 401 THEN '권한 없음(인증관련)' WHEN tdb_result_code = 403 THEN '접근제어, 차단명령어' WHEN tdb_result_code = 500 THEN '오류(이미실행 등)' ELSE CONCAT('NOT SET CODE : ', tdb_result_code) END AS tdb_result_code_text , a.startdateexecute, b.sql_type, db.seq db_seq, db.group_name, db.display_name, db.operation_type, db.dbms_type, a.group_seq, a.`row`, a.message, a.ipaddress, b.tdb_sql_head, b.schema_name, b.sql_data FROM executed_sql_resource a, executed_sql_resource_data b, tadpole_user u, tadpole_db db where 1 = 1 AND a.t_relation_key = b.t_relation_key AND a.external_save = 'NO' AND a.user_seq = u.seq AND a.db_seq = db.seq GROUP BY a.seq, a.t_relation_key, a.startdateexecute, a.tdb_result_code, db.seq, db.group_name, a.group_seq, a.tdb_result_code, a.`row`, b.sql_type, a.message, a.ipaddress, b.tdb_sql_head, b.schema_name, b.sql_data, u.email, db.display_name, db.operation_type, db.dbms_type | executed_sql_resource, executed_sql_resource_data |
테드폴허브 이벤트 | SELECT T1.seq, T1.userInfo AS userInfo, T1.event_type AS event_type, T1.event_reason_type AS event_reason_type, CASE WHEN event_reason_type = 1 THEN '라이선스 만료' WHEN event_reason_type = 101 THEN '패스워드 초기화' WHEN event_reason_type = 102 THEN '사용자 생성' WHEN event_reason_type = 103 THEN '사용자 장기 로그인 해제' WHEN event_reason_type = 104 THEN '사용자 블럭'
WHEN event_reason_type = 201 THEN '패스워드 여러 번 실패 계정 잠김' WHEN event_reason_type = 202 THEN '장기 미로그인 계정 잠김'
WHEN event_reason_type = 301 THEN 'SQL 권한없음' WHEN event_reason_type = 302 THEN '어드민이 지정한 것보다 다운로드 많이함' WHEN event_reason_type = 303 THEN '정해진 시간(초)보다 더 오래동안 쿼리 수행' WHEN event_reason_type = 304 THEN '정해진 시간 이후에 쿼리를 실행' WHEN event_reason_type = 305 THEN '특정 시간동안에 다운로드 횟수를 초과' WHEN event_reason_type = 306 THEN '정해진 시간 이후에 디비 사용금지를 실행'
WHEN event_reason_type = 401 THEN '엔진 업데이트 성공' WHEN event_reason_type = 402 THEN '엔진 업데이트 실패' WHEN event_reason_type = 403 THEN '엔진의 환경정보를 최신정보로 변경'
WHEN event_reason_type = 501 THEN '사용자 리스트 검색' WHEN event_reason_type = 505 THEN '사용자 리스트 다운로드' WHEN event_reason_type = 502 THEN '사용자 상세 검색' WHEN event_reason_type = 503 THEN '사용자 로그인 이력 검색' WHEN event_reason_type = 504 THEN '사용자 로그인 이력 다운로드'
WHEN event_reason_type = 510 THEN '사용자 디비 목록 검색' WHEN event_reason_type = 511 THEN '사용자 디비 목록 다운로드'
WHEN event_reason_type = 520 THEN '사용자 SQL 이력 검색' WHEN event_reason_type = 521 THEN '사용자 SQL 이력 다운로드'
WHEN event_reason_type = 530 THEN '어드민 이벤트 검색' WHEN event_reason_type = 531 THEN '어드민 이벤트 다운로드'
WHEN event_reason_type = 601 THEN '다운로드 할수 있는 기록(쿼리 결재 리스트, 엔진디비 백업)' WHEN event_reason_type = 602 THEN '쿼리 결재 리스트 다운로드' WHEN event_reason_type = 603 THEN '엔진 백업'
WHEN event_reason_type = 701 THEN '히스토리 허브' WHEN event_reason_type = 702 THEN '히스토리 허브 메인 다운로드' WHEN event_reason_type = 703 THEN '히스토리 허브 상세 내역 다운로드' WHEN event_reason_type = 704 THEN '다이렉트 업로드 내역 다운로드' WHEN event_reason_type = 801 THEN '보고서 검색' WHEN event_reason_type = 802 THEN '보고서 다운로드' ELSE CONCAT('NOT SET CODE : ', event_reason_type) END AS reason_type_text, T1.event_level AS event_level, T1.description AS description, DATE_FORMAT(T1.create_time, '%Y-%m-%d %H:%i:%s') AS create_time , T1.auditor_view_yn, T1.auditor_comment FROM ( ( SELECT a.seq, CONCAT(b.name, '(', b.email, ')') AS userInfo, a.event_type, a.event_reason_type, a.event_level, a.description, a.create_time, a.auditor_view_yn, a.auditor_comment FROM tdb_event a, tadpole_user b WHERE a.user_seq = b.seq AND a.db_seq = -999 AND a.external_save = 'NO' LIMIT 50 ) UNION ( SELECT a.seq, CONCAT(c.display_name, '-', CONCAT(b.name, '(', b.email, ')')) as userInfo, a.event_type, a.event_reason_type, a.event_level, a.description, a.create_time, a.auditor_view_yn, a.auditor_comment FROM tdb_event a, tadpole_user b, tadpole_db c WHERE a.user_seq = b.seq AND a.db_seq = c.seq AND a.external_save = 'NO' LIMIT 50 ) ) T1 ORDER BY create_time | tdb_event |