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

首頁 > 開發 > 綜合 > 正文

淺談LogMiner的使用

2024-07-21 02:08:35
字體:
來源:轉載
供稿:網友

logminer是每個dba都應熟悉的工具,當一天由于用戶的誤操作你需要做不完全的恢復時,由于你無法確定這個操作是哪個時間做的,所以這對你的恢復就帶來的很大的難度,丟失的數據也不能完全恢復回來。而logminer就可以幫你確定這個誤操作的準確時間。

我的測試環境是aix4.3.3的操作系統,oracle9.2.0.3的測試庫。

一、logminer的幾點說明
1、logminer可以幫你確定在某段時間所發的各種dml,ddl操作的具體時間和scn號,它所依據的是歸檔日志文件及聯機日志文件。
2、它只能在oracle8i及以后的版本中使用,不過它可以分析oracle8的日志。
3、oracle8i只能用于分析dml操作,到oracle9i則可以分析ddl操作了。
4、logminer不支持索引組織表、long、lob及集合類型。
5、mts的環境也不能使用logminer.

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

2、生成數據字典文件,是通過dbms_logmnr_d.build()來完成。
  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數據字典文件存放的位置,它必須匹配utl_file_dir的設定。
  其中的dictionary_filename指的是放于存放位置的字典文件的名字,名字可以任意取。

3、建立一個日志分析表
  a、建立日志分析表數據庫必須在mount或nomount狀態,啟動數據庫到mount狀態。
    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用于建一個日志分析表;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 /
 
  使用則可以把這個文件從日志分析表中移除,從而不進行分析。
    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、啟動logminer進行分析。
    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這段時間,并把分析結果放到數據字典中以用于查詢。還有兩個參數startscn(起始scn號)及endscn(終止scn)號。

6、查看日志分析的結果,通過查詢v$logmnr_contents可以查詢到
  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指的是實際的操作,sql_undo指的是用于取消的相反的操作。
 
  b、查看ddl操作,示例:
    select timstamp,
           sql_redo
      from v$logmnr_contents
     where upper(sql_redo) like '%truncate%';

7、結束logminer的分析。
  sql>begin
   2     dbms_logmnr.end_logmnr;
   3   end;
   4 /

三、與logminer相關的數據字典。
1、v$loglist           它用于顯示歷史日志文件的一些信息
2、v$logmnr_dictionary 因logmnr可以有多個字典文件,該視圖用于顯示這方面信息。
3、v$logmnr_parameters 它用于顯示logmnr的參數
4、v$logmnr_logs       它用于顯示用于分析的日志列表信息。

(全文完)

商業源碼熱門下載www.html.org.cn

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 县级市| 大城县| 博湖县| 静海县| 新津县| 北海市| 聊城市| 甘谷县| 镇坪县| 牡丹江市| 镶黄旗| 桂东县| 大姚县| 衡阳市| 嘉鱼县| 长沙市| 通化市| 成安县| 丹棱县| 安多县| 余姚市| 加查县| 永吉县| 琼海市| 石河子市| 吴桥县| 太和县| 金乡县| 双辽市| 鄂伦春自治旗| 东乌珠穆沁旗| 莆田市| 伽师县| 通道| 亚东县| 门头沟区| 湛江市| 盘锦市| 淄博市| 綦江县| 陆河县|