## LogMiner
- 리두로그와 언두로그를 분석하여 DML/DDL 이력을 확인 가능
- 잘못 커밋한 데이터를 복구 가능
- LogMiner는 Log 파일을 추출하여, 그 안에 저장되어 있는 내용을 Database 에 가해진 논리적인 작업을 표현하는 SQL 문장으로 변환
▶ Dictionary
- logminer 사용시 딕셔너리를 사용하지 않으면 오브젝트 값들에 대해 바이너리 형태로 출력되기 때문에 dictionary를 사용해야 함
▶ V$LOGMNR_CONTENTS
- 본래의 작업을 표현하는 SQL (SQL_REDO Column)
- 그 작업을 취소할 수 있는 SQL(SQL_UNDO Column)
▶ Redo / Undo 관련 참고
https://daminies.tistory.com/17
## 사용예제
1. logminer 확인
desc dbms_logmnr
2. SUPPLEMENTAL_LOG가 ON되어 있는지 확인 → 안되어 있다면 활성화 진행
select supplemental_log_data_min from v$database;
alter database add supplemental log data; -- supplemental log 기능 활성화
3. 임의의 계정에서 update 진행
4. 리두 로그 파일 확인
select a.sequence#, a.group#, a.status, a.members, b.status, b.type, b.member
from v$log a , v$logfile b
where a.group#=b.group#
order by a.group# asc, a.sequence# asc;
/app/oracle/oradata/ORA19C/redo01.log
/app/oracle/oradata/ORA19C/redo02.log
/app/oracle/oradata/ORA19C/redo03.log
위의 위치에 redo log 파일이 생성된 걸 확인
5. 딕셔너리 파일 생성
BEGIN
SYS.DBMS_LOGMNR_D.build (
dictionary_filename => 'logmnrdict.ora',
dictionary_location => '디렉토리 위치'); -- 만약 디렉토리가 생성되어 있지않다면 mkdir로 생성 후 진행
END;
앞에서 설정한 디렉토리 위치에 파일이 생성된 걸 확인할 수 있다.
6. 로그 파일을 등록
exec dbms_logmnr.add_logfile('/app/oracle/oradata/ORA19C/redo01.log',1);
exec dbms_logmnr.add_logfile('/app/oracle/oradata/ORA19C/redo02.log',3);
exec dbms_logmnr.add_logfile('/app/oracle/oradata/ORA19C/redo03.log',3);
7. 등록한 로그파일 분석 시작 (STORE_IN_FLAT_FILE 사용)
exec dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/logmnr/logmnrdict.ora');
8. sql_redo, sql_undo 확인
select to_char(timestamp,'YYYY-MM-DD:HH24:MI:SS'), username, sql_redo, sql_undo
from v$logmnr_contents
where sql_redo like '%update%'
and username='SCOTT';
대략적인 내용 확인 후 Undo를 해야하는 상황이기 때문에 sql_undo만 추출해서 확인
9. sql_undo 내용을 재실행하여 원복
redo를 하고싶다면 sql_redo를 확인한 뒤 동일하게 실행
'ORACLE > ORACLE_Backup&Recovery' 카테고리의 다른 글
RMAN을 이용한 CloneDB 생성 (0) | 2023.04.20 |
---|---|
Hotbackup CloneDB 생성 (0) | 2023.04.20 |
RMAN Full/Tablespace/Table 단위 복구 (0) | 2023.04.20 |
RMAN 복구 (완전/불완전) (0) | 2023.04.19 |
RMAN (Recovery Manager) 백업 (일반/증분) (0) | 2023.04.18 |