본문 바로가기
[DATABASE] ORACLE

Oracle Logminer

by 기미차니 2021. 12. 23.
반응형

오라클 Logminer를 사용하여 리두로그 파일 분석

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
-- ################################
-- # REDO LOG Logmnr
-- ################################
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY/MM/DD HH24:MI:SS';
 
BEGIN
DBMS_LOGMNR.START_LOGMNR(STARTTIME => TO_DATE('2021/12/23 13:45:00','YYYY/MM/DD HH24:MI:SS'), 
                         ENDTIME   => TO_DATE('2021/12/23 13:50:00','YYYY/MM/DD HH24:MI:SS'),
                         OPTIONS   => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG
--                                    + DBMS_LOGMNR.PRINT_PRETTY_SQL
--                                    + DBMS_LOGMNR.NO_SQL_DELIMITER
--                                    + DBMS_LOGMNR.COMMITTED_DATA_ONLY
);
END;
/
 
SELECT *
FROM V$LOGMNR_CONTENTS A
WHERE 1=1
AND OPERATION IN ('DELETE','INSERT','UPDATE')
AND SEG_NAME = 'T1'
;
 
BEGIN
 DBMS_LOGMNR.END_LOGMNR();
END;
/
 
 
-- ################################
-- # ARCHIVE LOG Logmnr
-- ################################
BEGIN
    DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/arch/TESTDB_1_707251_810588878.arc', OPTIONS => DBMS_LOGMNR.NEW);
    DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/arch/TESTDB_1_707252_810588878.arc', OPTIONS => DBMS_LOGMNR.ADDFILE);
    DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/arch/TESTDB_1_707253_810588878.arc', OPTIONS => DBMS_LOGMNR.ADDFILE);
    DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/arch/TESTDB_1_707254_810588878.arc', OPTIONS => DBMS_LOGMNR.ADDFILE);
    DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/arch/TESTDB_1_707255_810588878.arc', OPTIONS => DBMS_LOGMNR.ADDFILE);
END;
/
 
--EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/arch/TESTDB_1_707246_810588878.arc', OPTIONS => DBMS_LOGMNR.NEW);
--EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/arch/TESTDB_1_707247_810588878.arc', OPTIONS => DBMS_LOGMNR.ADDFILE);
--EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/arch/TESTDB_1_707248_810588878.arc', OPTIONS => DBMS_LOGMNR.ADDFILE);
 
BEGIN
    DBMS_LOGMNR.START_LOGMNR (OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
END;
/
 
SELECT A.*,
    DBMS_LOGMNR.MINE_VALUE(REDO_VALUE,'DBIB0942.T1.OWNER') NEW_VALUE,
    DBMS_LOGMNR.MINE_VALUE(UNDO_VALUE,'DBIB0942.T1.OWNER') OLD_VALUE
FROM V$LOGMNR_CONTENTS A
WHERE 1=1
AND OPERATION IN ('DELETE','INSERT','UPDATE')
AND SEG_NAME = 'T1'
;
 
BEGIN
 DBMS_LOGMNR.END_LOGMNR();
END;
/
cs
반응형

'[DATABASE] ORACLE' 카테고리의 다른 글

TEMP 사용량 확인  (0) 2022.02.24
NLS_DATE_FORMAT 관련  (0) 2022.02.24
아카이브로그 변경  (0) 2022.02.18
Redo Log 발생량 분석  (0) 2022.01.06
[Memory] 오라클 Memory 사용 현황  (0) 2021.12.17

댓글