...
ORACLE [Loggminer] 본문
ORACLE Log MINER
Redo log FIle 안에 있는 DB에서 데이터가 변경되는 중요한
모든 내용이 들어 있음
실수로 DROP TABLE 후 해당 테이블을 살려할 경우 사용
01. Log Miner는 8i 이후 버전 부터 사용가능
02. 분석 대상 인스턴스 와 같은 플랫폼 에서 동작하고 같은 캐릭터 셋을
사용하는 db에서 생성된 Redo_log file 만 분석
03. 분석 대상 인스탄스 와 redo log 가 생성된 인스턴스 DB_BLOCK_SIZE가 동일 해야 합니다.
만약 다를 경우 Corruption이 발생 했다는 내용이 기록 됩니다.
supplemental 확인===========================================
select supplemental_log_data_min from v$database;
supplemental 활성화=========================================
alter database add supplemental log data;
select supplemental_log_data_min from v$database;
supplemental 비활성화=======================================
alter dataabse drop supplemental log data;
select supplemental_log_data_min from v$database;
supplemental log 특정 테이블 적용===========================
alter table scott.emp add supplemental log data (all) columns;
이 기능을 사용할 경우 redo log 생성 양이 많아지기 때문에 아카이브 로그 모드를
사용할 경우 아카이브 경로를 충분하게 주시고 사용하셔야 합니다..
============================================================
9i 추가 사항
01) DDL 문장을 지원
v$logmnr_contents의 operation 칼럼에서 조회 가능 합니다.
9i 이후에 가능
02) Dictionary file 울 기존처럼 flat file에
생성할 수도 있고 redo log 파일에도 저장 가능 합니다.
단 , 이렇게 딕셔너리를 Redo log file에 저장하는 기능을 사용하려면
반드시 archive log mode 여야 합니다.
03) 분석하려면 Redo log File에 block corruption이 발생할 경우 해당 block을
건너뛰고 분석을 완료합니다.
기존 8i에서는 분석 중 block corruption이 발생할 경우 일단 종료되고 다시
시작해서 분석을 계속하였던 것이 skip 기능으로 변경된 것 입니다.
log miner을 수행 할경우
option => dbms_logmnr.skip_corruption을 사용
04) Committed_data_only 옵션이 추가, commit된 데이터만 조회가 가능
05) index clustered와 관련된 DML도 분석 (9i 부터 가능)
==============================================================
10g 추가사항
01) Shared server 지눵 - 기존에 9i 까지는 Dedicated Server mode만 지원했지만
10g 버전 부터는 Shared server mode도 지원 하게 되었습니다.
02) Index Organized Tables(IOT) 지원
03) Long / LOB / NCLOB
04) NO_ROWID_IN_STMT 지원
- sql_redo 와 sql_undo 칼럼을 조회할 때 rowid를 나타내지 않도록 하여 다른 환경에서도
쉽게 활용할 수 있도록 지원 합니다.
05) Log Miner 세션에서 Redo Log File을 list에서 삭제할 수 있습니다.
=================================================================
Oracle 에서는 Redo Log File 을 분석하기 전에 딕셔너리를 생성하기를 권장 합니다.
Dictionary file을 생성하는 방법은 아래와 같이 3가지가 있습니다.
01. Online Catalog 사용
+ Redo Log File이 생성된 Source Database에 접근이 가능한 경우
+ 관련 table 들에 칼럼 정의가 변경이 없을 경우
+ exec dbms_logmnr.start_logmnr
(option => dbms_logmnr.dict_from_online_catalog);
02. Redo Log File 자체에 저장 하는 방법
+ Redo Log File이 생성된 Source Database에 접근이 불가능할 경우
+ 9i 이상에서 지원
+ DB 는 Archive mode여야 합니다.
+ 딕셔너리를 추출하는 동안 어떠한 DDL도 허용되지 않습니다.
+ exec dbms_logmnr_d.build(option => dbms_logmnr_d.store_in_redo_logs);
03. Flat file에 저장하는 방법
+ 이전 버전관의 화환성을 보장 해서 작업시에 많이 사용하는 방법.
+ exec dbms_logmnr_d.build('dict.dat','/home/oracle/logmnr/',-
+ > dbms_logmnr_d.strore_in_flat_file);
==================================================================
'ORACLE > ORACLE Architecture' 카테고리의 다른 글
ORACLE 3대 필수 메모리구조 (0) | 2013.03.17 |
---|---|
Procedure 란 (0) | 2013.01.09 |
ASM [Automatic storage Management] (0) | 2013.01.09 |