Oracle LogMiner工具在實際工作中的運用

來源:互聯網
上載者:User

標籤:

LogMiner工具通過分析Oracle重作記錄檔(歸檔記錄檔)中的具體內容來重現ORACLE執行過的SQL,特別是,該工具可以分析出所有對於資料庫操作的DML(insert、update、delete等)語句,另外還可分析得到一些必要的復原SQL語句。該工具特別適用於調試、審計或者回退某個特定的事務。

  LogMiner分析工具實際上是由一組PL/SQL包和一些動態視圖組成,它作為Oracle資料庫的一部分來發布,是一個完全免費的工具。但該工具和其他Oracle內建工具相比使用起來顯得有些複雜,主要原因是該工具沒有提供任何的圖形化使用者介面(GUI)。本文將介紹該工具在實際工作中的使用。

  一、LogMiner的用途

  記錄檔中存放著所有進行資料庫恢複的資料,記錄了針對資料庫結構的每一個變化,也就是對資料庫操作的所有DML語句。

  LogMiner工具即可以用來分析線上,也可以用來分析離線記錄檔,即可以分析本身自己資料庫的重作記錄檔,也可以用來分析其他資料庫的重作記錄檔。

  二、使用LogMiner工具

  由於誤操作,維護人員對資料庫SWT表進行了錯誤的UPDATE操作,受影響的記錄約有近萬條。由於備份太舊,無法從備份恢複。下面是使用LogMiner恢複資料的執行個體:

  1.保護現場,選擇恢複辦法

  13:30左右從維護人員得知,誤操作是在11:00~12:00之間完成的,立即暫停archivelog的備份。檢查歸檔目錄中的歸檔檔案時間包涵了以上時間段。

  初步確定用LOGMINER的方法恢複,檢查資料庫的UTL_FILE_DIR參數,發現參數未初始配置,並且無法動態修改,只能採用ONLINECATALOG的方法分析。

  2.選擇歸檔記錄檔

  檢查redolog的時間,發現已經超過了誤操作發生時間,可以使用歸檔日誌進行分析,檢查在/arch01的歸檔日誌時間,選擇1_63266.dbf,1_63267.dbf,1_63268.dbf作為分析對象:

  $sqlplus‘/assysdba’

  SQL>EXECUTEdbms_logmnr.add_logfile(-

  LogFileName=>‘‘/arch01/1_63266.dbf‘‘,Options=>dbms_logmnr.new);

  PL/SQLproceduresuccessfullycompleted.

  SQL>EXECUTEdbms_logmnr.add_logfile(-

  LogFileName=>‘‘/arch01/1_63267.dbf‘‘,Options=>dbms_logmnr.addfile);

  PL/SQLproceduresuccessfullycompleted.

  SQL>EXECUTEdbms_logmnr.add_logfile(-

  LogFileName=>‘‘/arch01/1_63268.dbf‘‘,Options=>dbms_logmnr.addfile);

  PL/SQLproceduresuccessfullycompleted.

  3.執行歸檔檔案分析

  SQL>executeDBMS_LOGMNR.START_LOGMNR(-

  options=>dbms_logmnr.dict_from_online_catalog-

  STARTTIME=>to_date(‘‘06-06-200511:00:00‘‘,-

  ‘‘DD-MM-YYYYHH24:MI:SS‘‘),-

  ENDTIME=>to_date(‘‘06-06-200512:00:00‘‘,-

  ‘‘DD-MM-YYYYHH24:MI:SS‘‘));

  PL/SQLproceduresuccessfullycompleted.

  4.產生undo指令碼

  SQL>setlinesize800

  SQL>setpagesize2000

  SQL>setheadoff

  SQL>spool/arch01/undosql.sql.0606

  SQL>selectsql_undofromv$logmnr_contentswhereseg_name
=‘‘SWT‘‘ANDUSERNAME=‘‘MODI‘‘;

  SQL>executeDBMS_LOGMNR.end_logmnr();

  SQL>spooloff

  5.分析undo指令碼,執行undo指令碼。

  6.驗證undo指令碼執行後的業務運行情況。

  三、總結

  通過以上恢複,避免了以前只能通過恢複整個資料表空間來恢複其中的一個表,大大縮短了業務受影響時間和影響範圍。

Oracle LogMiner工具在實際工作中的運用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.