LogMiner の使い方メモ
分析する Redo Log file (archive file) のある DB で行う事。
もし、分析する Redo Log file のある DB と分析する DB が同じ場合は、
行う必要は無い。
1. UTL_FILE_DIR を設定
SQL> alter system set utl_file_dir = ‘/tmp/logminer’ scope=spfile;
* パラメータを有効にする為に DB の再起動が必要
2. DB のディクショナリ情報の出力
SQL>begin
2 dbms_logmnr_d.build(
3 dictionary_filename=>’dictionary.ora’,
4 dictionary_location=>’/tmp/logminer’,
5 options=>dbms_logmnr_d.store_in_flat_file);
6 end;
7 /
LogMiner を起動する DB で行う事。
1. 分析する Redo log を指定
begin
dbms_logmnr.add_logfile(
logfilename=>’/opt/oracle/product/9.0.1/dbs/arch/1_73.dbf’,
options=>dbms_logmnr.new);
end;
/
* 複数指定する場合は、2個目以降は、options の指定を
dbms_logmnr.add にする。
* 指定した logfile を指定解除にするには、options の指定を
dbms_logmnr.removefile にする。
* 以下の SQL 文で登録済み log を参照可能。
select * from v$logmnr_logs;
2. Log Miner の起動
begin
dbms_logmnr.start_logminer(
dictfilename=>’/tmp/logminer/dictionary.ora’);
end;
/
分析する Redo Log file のある DB と分析する DB が同じ場合は以下の通り。
begin
dbms_logmnr.start_logmnr(
options=>dbms_logmnr.dict_from_online_catalog,
startTime=>to_date(‘2002-09-30 19:15:00′,’YYYY-MM-DD HH24:MI:SS’),
endTime=>to_date(‘2002-10-02 21:00:00′,’YYYY-MM-DD HH24:MI:SS’)
);
end;
/
3. 出力結果の参照
select * from v$logmnr_contents;
例えば、以下のカラムを指定する。
select timestamp,username,sql_redo from v$logmnr_contents;
Options. Log Miner 起動時に指定出来る Option
COMMITTERD_DATA_ONLY
SKIP_CORRUPTION
DDL_DICT_TRACKING
NO_DICT_RESET_ONSELECT
指定例:
dbms_logmnr.start_logminer(
options=>dbms_logmnr.dict_from_online_catalog + dbms_logmnr.committrd_data_only)