主頁(yè) > 知識(shí)庫(kù) > 淺談LogMiner的使用方法

淺談LogMiner的使用方法

熱門(mén)標(biāo)簽:Linux服務(wù)器 呼叫中心市場(chǎng)需求 地方門(mén)戶(hù)網(wǎng)站 AI電銷(xiāo) 鐵路電話(huà)系統(tǒng) 網(wǎng)站排名優(yōu)化 服務(wù)外包 百度競(jìng)價(jià)排名
Logminer是每個(gè)Dba都應(yīng)熟悉的工具,當(dāng)一天由于用戶(hù)的誤操作你需要做不完全的恢復(fù)時(shí),由于你無(wú)法確定這個(gè)操作是哪個(gè)時(shí)間做的,所以這對(duì)你的恢復(fù)就帶來(lái)的很大的難度,丟失的數(shù)據(jù)也不能完全恢復(fù)回來(lái)。而LogMiner就可以幫你確定這個(gè)誤操作的準(zhǔn)確時(shí)間。

我的測(cè)試環(huán)境是Aix4.3.3的操作系統(tǒng),Oracle9.2.0.3的測(cè)試庫(kù)。

一、LogMiner的幾點(diǎn)說(shuō)明
1、LogMiner可以幫你確定在某段時(shí)間所發(fā)的各種DML,DDL操作的具體時(shí)間和SCN號(hào),它所依據(jù)的是歸檔日志文件及聯(lián)機(jī)日志文件。
2、它只能在Oracle8i及以后的版本中使用,不過(guò)它可以分析Oracle8的日志。
3、Oracle8i只能用于分析DML操作,到Oracle9i則可以分析DDL操作了。
4、LogMiner不支持索引組織表、Long、LOB及集合類(lèi)型。
5、MTS的環(huán)境也不能使用LogMiner.

二、操作步驟
1、設(shè)定用于LogMiner分析的數(shù)據(jù)文件存放的位置
這是設(shè)定utl_file_dir參數(shù)的過(guò)程,我的示例:
a、在initctc.ora文件中加入如下一行
    utl_file_dir=/u01/arch
b、得啟數(shù)據(jù)庫(kù)
  oracle>sqlplus /nolog  
  sql>conn / as sysdba
  sql>shutdown immediate
  sql>statup

2、生成數(shù)據(jù)字典文件,是通過(guò)dbms_logmnr_d.build()來(lái)完成。
  SQL> BEGIN
  2    dbms_logmnr_d.build(
  3      dictionary_filename => ’logminer_dict.dat’,
  4      dictionary_location => ’/u01/arch’
  5    );
  6  END;
  7 / 

  dictionary_location指的是Logminer數(shù)據(jù)字典文件存放的位置,它必須匹配utl_file_dir的設(shè)定。
  其中的dictionary_filename指的是放于存放位置的字典文件的名字,名字可以任意取。

3、建立一個(gè)日志分析表
  a、建立日志分析表數(shù)據(jù)庫(kù)必須在mount或nomount狀態(tài),啟動(dòng)數(shù)據(jù)庫(kù)到mount狀態(tài)。
    sqlplus /nolog
    sql>conn / as sysdba
    sql>shutdown immediate
    sql>starup mount

  b、建立日志分析表,使用dbms_logmnr.add_logfile()
    SQL> BEGIN
    2    dbms_logmnr.add_logfile(
    3      options => dbms_logmnr.new,
    4      logfilename => ’/u01/arch/arc_ctc_0503.arc’
    5    );
    6  END;
    7 /      
    其中的options有三種取值,dbms_logmnr.new用于建一個(gè)日志分析表;dbms_logmnr.addfile用于加入用于分析的的日志文件;dbms_logmnr.removefile用于移出用于分析的日志文件。


4、添加用于分析的日志文件。
    SQL> BEGIN
    2    dbms_logmnr.add_logfile(
    3      options => dbms_logmnr.addfile,
    4      logfilename => ’/u01/arch/arc_ctc_0504.arc’
    5    );
    6  END;
    7 / 

  使用則可以把這個(gè)文件從日志分析表中移除,從而不進(jìn)行分析。
    SQL> BEGIN
    2    dbms_logmnr.add_logfile(
    3      options => dbms_logmnr.removefile,
    4      logfilename => ’/u01/arch/arc_ctc_0503.arc’
    5    );
    6  END;
    7 /  


5、啟動(dòng)LogMiner進(jìn)行分析。
    SQL> BEGIN
    2    dbms_logmnr.start_logmnr(
    3      dictfilename => ’/u01/arch/logminer_dict.dat’,
    4      starttime => to_date(’20030501 12:15:00’,’yyyymmdd hh24:mi:ss’),
    5      endtime => to_date(’20030501 15:40:30’,’yyyymmdd hh24:mi:ss’)
    6    );
    7  END;
    8 / 

    即分析2003年5月1日這天12:15至15:40這段時(shí)間,并把分析結(jié)果放到數(shù)據(jù)字典中以用于查詢(xún)。還有兩個(gè)參數(shù)StartScn(起始scn號(hào))及EndScn(終止Scn)號(hào)。

6、查看日志分析的結(jié)果,通過(guò)查詢(xún)v$logmnr_contents可以查詢(xún)到
  a、查看DML操作,示例:
    SELECT operation,
          sql_redo,
          sql_undo,
      FROM V$logmnr_contents
    WHERE seg_name = ’QIUYB’;

    OPERATION    SQL_REDO                    SQL_UNDO
    ----------    --------------------------  --------------------------
    INSERT        inser into qiuyb.qiuyb ...  delete from qiuyb.qiuyb...

    其中operation指的是操作,sql_redo指的是實(shí)際的操作,sql_undo指的是用于取消的相反的操作。

  b、查看DDL操作,示例:
    SELECT timstamp,
          sql_redo
      FROM v$logmnr_contents
    WHERE upper(sql_redo) like ’%TRUNCATE%’;

7、結(jié)束LogMiner的分析。
  SQL>BEGIN
  2    dbms_logmnr.end_logmnr;
  3  end;
  4 / 

三、與LogMiner相關(guān)的數(shù)據(jù)字典。
1、v$loglist          它用于顯示歷史日志文件的一些信息
2、v$logmnr_dictionary 因logmnr可以有多個(gè)字典文件,該視圖用于顯示這方面信息。
3、v$logmnr_parameters 它用于顯示logmnr的參數(shù)
4、v$logmnr_logs      它用于顯示用于分析的日志列表信息。
您可能感興趣的文章:
  • 理解和使用Oracle 8i分析工具LogMiner
  • Oracle LogMiner的使用實(shí)例代碼

標(biāo)簽:黃山 崇左 湘潭 湖南 衡水 仙桃 蘭州 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談LogMiner的使用方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266