나는 학교의 시스템 관리자이기 때문에 나는 IT 일반 종사자 다. 우리의 학생 정보 시스템은 Oracle 11g에서 실행됩니다. logminer를 사용하여 데이터베이스에서 변경되지 않아야하는 것이 변경된 경우를 알아내는 방법을 알고 싶습니다.내가 logminer에서 원하는 것을 찾을 수 없다. 사실, 최근에 아무것도 찾을 수 없다.
시험용 서버를 구성 했으므로 마음을 편히 여기십시오. 여기서 게임하는 동안 생산 시스템이 위험하지 않습니다.
서버는 Windows입니다. 명령 프롬프트로 가서 sqlplus/as sysdba를 입력하십시오.
로그 파일을 추가하려면 dbms.logmnr.addlogfile
blah, blah를 여러 번 실행하십시오.
변경 세션 집합 NLS_DATE_FORMAT = 'mm-dd-yyyy HH24:mi:ss';
그래서 타임 스탬프는 단지 날짜 이상을 말해줍니다.
그런 다음 테스트 서버의 응용 프로그램으로 이동하여 학생 인구 통계 레코드를 변경합니다. Logminer를 사용하여이 변경 사항을 찾고 싶습니다.
은 내가 select timestamp,sql_undo from V$LOGMNR_CONTENTS WHERE TIMESTAMP > TO_DATE('04-11-2013 11:59:00');
가
내가 어떤 행을 얻을 (I 3 시경, 지금의 변화를 만든) 할.
같은 일을하지만 자정 직후 시간이 지나면 수천 개의 행이 생깁니다. 예를 들어 학생의 클래스 순위를 다시 계산하는 등 자정에 유지 관리를 시작하는 루틴이 있습니다.
그래서 내가 기록한 변경 사항을 찾지 못했습니다. 올바른 로그 파일을보고 있거나 자정에 활동을 보지 못했다고 생각합니다.
당신이 찾고있는 것이'감사 '라고 생각합니다. 'AUDIT'는 특정 스키마/객체 + 정밀 감사 (fine grained auditing) 등에서 특정 사용자 활동, DML + DDL을 추적 할 수있게합니다. 로그 마이너는 다른 모든 옵션이 고갈되면 일반적으로 사용됩니다. 행운을 빕니다. – haki