国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Oracle LogMiner詳細講解

2019-11-08 20:41:37
字體:
來源:轉載
供稿:網友

一:相關概念

1.Logminer是什么?

   LogMiner是Oracle數據庫提供的一個工具,它用于分析重做日志和歸檔日志所記載的事務操作。

   Logminer是oracle從8i開始提供的用于分析重做日志信息的工具,它包括DBMS_LOGMNR和DBMS_LOGMNR_D兩個package,后邊的D是字典的意思。它既能分析redo log file,也能分析歸檔后的archive log file。在分析日志的過程中需要使用數據字典,一般先生成數據字典文件后使用,10g版本還可以使用在線數據字典

   Logminer也可以分析其它數據庫的重做日志文件,但是必須使用重做日志所在數據庫的數據字典,否則會出現無法識別的亂碼。另外被分析數據庫的操作系統平臺最好和當前Logminer所在數據庫的運行平臺一樣,且block size相同

2.LogMiner的功能:

  (1)確定數據庫的邏輯損壞時間。

   通過LogMiner可以準確定位該誤操作的執行時間和SCN值,然后通過基于時間恢復或者基于SCN恢復可以完全恢復該表數據。

   SQL>selectscn_to_timestamp(10135546249879) from dual;   SQL>SELECTtimestamp_to_scn(to_timestamp('2013-3-27 6:06:06','yyyy-mm-ddhh24:mi:ss')) FROM dual;

  (2)確定事務級要執行的精細邏輯恢復操作。

   通過LogMiner可以取得任何用戶的DML操作及相應的UNDO操作,通過執行UNDO操作可以取消用戶的錯誤操作。

  (3)執行后續審計。

   通過LogMiner可以跟蹤Oracle數據庫的所有DML、DDL和DCL操作,從而取得執行這些操作的時間順序、執行這些操作的用戶等信息。

3.LogMiner的安裝方法:

 

 (1)創建DBMS_LOGMNR:@D:/app/wangxianwei/PRoduct/11.2.0/dbhome_1/RDBMS/ADMIN/dbmslm.sql

       Oracle <wbr>LogMiner用法詳解

 (2)創建DBMS_LOGMNR_D:@D:/app/wangxianwei/product/11.2.0/dbhome_1/RDBMS/ADMIN/dbmslmd.sql

      Oracle <wbr>LogMiner用法詳解4.LogMiner不支持的數據類型和表存儲屬性

   bfile;   抽象數據類型;   集合類型(嵌套表和varray);   參照對象;   xmltype;   具有LOB列的索引組織表;   使用compress特征的表。   除以上類型外,基本上都是支持的,不再列舉

5.LogMiner的配置要求

   (1)源數據庫和分析數據庫必須運行在相同硬件平臺上;

   (2)分析數據庫可以是獨立數據庫或源數據庫;

   (3)分析數據庫的版本不能低于源數據庫的版本;

   (4)分析數據庫與源數據庫必須具有相同的字符集;

6.注意事項

   (1)LogMiner字典必須在源數據庫中生成

  (2)當分析多個重做日志和歸檔日志時,它們必須是同一個源數據庫的重做日志和歸檔日志

   (3)當分析多個重做日志和歸檔日志時,它們必須具有相同的resetlogsscn

  (4)當分析的重做日志和歸檔日志必須在Oracle8.0版本以上

7.什么是補充日志,補充日志的作用是什么?

  重做日志用于實現例程恢復和介質恢復,這些操作所需要的數據被自動記錄在重做日志中。但是,重做應用可能還需要記載其他列信息到重做日志中,記錄其他列的日志過程被稱為補充日志

  默認情況下,Oracle數據庫沒有提供任何補充日志,從而導致默認情況下LogMiner無法支持以下特征:

  (1)索引簇、鏈行和遷移行;

  (2)直接路徑插入;

  (3)摘取LogMiner字典到重做日志;

  (4)跟蹤DDL;

  (5)生成鍵列的SQL_REDO和SQL_UNDO信息;

  (6)LONG和LOB數據類型。

因此,為了充分利用LogMiner提供的特征,必須激活補充日志。在數據庫級激活補充日志的示例如下:

   SQL>alter database add supplemental log data;

       數據庫已更改。

注意:激活不用重啟數據庫,數據庫聯機即可。

二、LogMiner兩種使用類型,一種是使用源數據庫的數據字典分析DML操作,別一種是摘取LogMiner數據字典到字典文件分析DDL操作。

1.1使用源數據庫的數據字典(Onlinecatalog)來分析DML操作

    在做實驗之前,檢查下suppplemental logging:

    SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROMV$DATABASE;

         SUPPLEME

          --------

           YES

    如果是YES 或者IMPLICIT則表明已經生效了,否則需要啟動:

    SQL> ALTER DATABASE ADD SUPPLEMENTAL LOGDATA;

         Database altered.

1.2、建立日志分析列表:

添加要分析的日志文件 

SQL> execute

    dbms_logmnr.add_logfile(logfilename=>'日志文件',options=>dbms_logmnr.new);

繼續添加

SQL>execute

    dbms_logmnr.add_logfile(logfilename=>'日志文件',options=>dbms_logmnr.addfile);   

   需要特別注意的是,繼續添加OPTIONS選項是ADDFILE

移除分析日志文件

SQL> execute

    dbms_logmnr.remove_logfile(logfilename=>'日志文件');   

1.3、啟動LogMiner

SQL> execute

    dbms_logmnr.start_logmnr(Options =>DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG)

1.4、查看日志分析結果

SQL> selectusername,scn,timestamp,sql_redo from v$logmnr_contents

1.5、結束LogMiner

SQL>dbms_logminer.end_logmnr;

2.摘取LogMiner字典到字典文件分析DDL操作

2.1、使用字典文件,請查看數據庫是否配置utl_file_dir,這個參數為字典文件的目錄。配置該參數后,需要重啟數據庫

SQL> show parameter utl;

    NAME                                TYPE       VALUE                         

    ------------------------------------ -----------------------

    create_stored_outlines              string                                    

    utl_file_dir                        string                          

SQL> alter system setutl_file_dir='D:/oracle/logminer' scope=spfile;

    System altered.

    需要特別注意的是:修改此參數后需要重啟數據庫,切記!!!!

2.2、建立字典文件:

SQL> execute

    dbms_logmnr_d.build('文件名.ora','文件位置',dbms_logmnr_d.store_in_flat_file);

2.3、建立日志分析列表:

添加要分析的日志文件 

SQL> execute

    dbms_logmnr.add_logfile(logfilename=>'日志文件',options=>dbms_logmnr.new);

繼續添加

SQL> execute

    dbms_logmnr.add_logfile(logfilename=>'日志文件',options=>dbms_logmnr.addfile);   

   需要特別注意的是,繼續添加OPTIONS選項是ADDFILE

移除分析日志文件

SQL> execute

    dbms_logmnr.remove_logfile(logfilename=>'日志文件');   

2.4、啟動LogMiner

SQL> execute

    dbms_logmnr.start_logmnr(

                              dictfilename=>'D:文件',

                              options=>dbms_logmnr.ddl_dict_tracking

                             );

2.5、查詢分析日志結果:

SQL> selectusername,scn,timestamp,sql_redo from v$logmnr_contents;

    需要特別注意的是,v$logmnr_contents內容保存了日志的內容,只在當前會話有效,

2.6、結束LogMiner

SQL> execute dbms_logmnr.end_logmnr;

   友情提示:DBMS_LOGMINER包中的方法及參數詳見兩個創建SQL


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郓城县| 迁西县| 南乐县| 平江县| 洪泽县| 宝坻区| 区。| 贞丰县| 武宣县| 五家渠市| 宁远县| 五常市| 伊金霍洛旗| 电白县| 乌兰察布市| 潞城市| 汾阳市| 顺平县| 绥棱县| 开鲁县| 衡南县| 濉溪县| 崇仁县| 油尖旺区| 田阳县| 乐平市| 襄垣县| 常德市| 叶城县| 土默特右旗| 石嘴山市| 法库县| 福清市| 修武县| 揭东县| 从江县| 新建县| 湖口县| 合作市| 民勤县| 鲁山县|