# 필요 패키지 설치 확인
desc dbms_logmnr
desc dbms_logmnr_d
# 필요 패키지 설치하기
@/u01/app/oracle/product/11.2.0/xe/rdbms/admin/dbmslm.sql
@/u01/app/oracle/product/11.2.0/xe/rdbms/admin/dbmslmd.sql
# supplemental logging 모드 확인
select supplemental_log_data_min from v$database;
# 딕셔너리 파일이 생성될 경로설정이 되어있느지 확인
show parameter utl_file_dir;
# UTL_FILE_DIR이 설정되어 있지 않다면, 파라미터값 변경후 인스턴스 재시작해야함
alter system set UTL_FILE_DIR = '/u01/app/oracle/logmnr' scope = spfile;
shutdown immediate
startup
# 딕셔너리 파일을 생성합니다. (파일 / 경로)
exec dbms_logmnr_d.build('test','/u01/app/oracle/logmnr');
# 분석할 리두로그 파일이나 아카이브로그 파일을 등록한다.
exec dbms_logmnr.add_logfile('/u01/app/oracle/fast_recovery_area/XE/onlinelog/o1_mf_1_h355sxrp_.log', 1);
# Redo LOG 위치 :
# select a.group#, a.member, b.bytes, b.status, b.sequence# from v$logfile a, v$log b where a.group# = b.group# order by 1;
# Archive log 위치 :
# archive log list; show parameter USE_DB_RECOVERY_FILE_DEST;
# 등록한 로그파일을 분석한다.
exec dbms_logmnr.start_logmnr(dictfilename=>'/u01/app/oracle/logmnr/test');
# 로그마이너 SQL_REDO 를 본다
select sql_redo from V$LOGMNR_CONTENTS;
# 로그마이너 세션을 종료시켜준다.
exec dbms_logmnr.end_logmnr();
# 뷰를 통해 확인한다.
# V$LOGMNR_DICTIONARY : 사용중인 dictionary file
# V$LOGMNR_PARAMETERS : LogMiner에 Setting된 현재의 parameter의 값
# V$LOGMNR_LOGS : 분석되고 있는 redo log file
# V$LOGMNR_CONTENTS : 현재 분석되고 있는 redo log file의 내용