淺談LogMiner的使用(轉載)
我的測試環境是Aix4.3.3的作業系統,Oracle9.2.0.3的測試庫。
[@more@]一、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 它用於顯示用於分析的日誌列表資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/802415/viewspace-842921/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 淺談LogMiner的使用 (轉)
- LogMiner 用法淺談
- 淺談 Java 中 this 的使用(轉)Java
- 轉載分享:淺談引導盤
- 單頁應用SEO淺談(轉載)
- 淺談SQL Server中的事務日誌(轉載)SQLServer
- 淺談ERP實施關鍵(轉載)
- 淺談負載均衡負載
- 淺談影響ERP實施成功的因素(轉載)
- 淺談EventBus的使用原理
- 淺談RAC中的負載均衡負載
- 淺談c#中使用lock的是與非(轉)C#
- 淺談指標 (轉)指標
- infer使用的淺談簡析
- 淺談JavaScript的型別轉換JavaScript型別
- 淺談Flutter熱過載(上)Flutter
- 淺談ActiveMQ與使用MQ
- 淺談微服務轉型微服務
- 淺談 URI 及其轉義
- 淺談php web安全 【轉】PHPWeb
- 淺談人工智慧 (轉)人工智慧
- 顏色模型淺談 (轉)模型
- Oracle logminer(轉)Oracle
- 轉:LogMiner安裝和使用的一些心得
- oracle之logminer的使用Oracle
- 淺談資料庫的攻擊(轉)資料庫
- 淺談專案的規範管理(轉)
- 使用DocumentBuilderFactory解析XML淺談UIXML
- 淺談Unix系統管理(轉)
- 淺談java異常[Exception] (轉)JavaException
- 淺談多型——概念描述 (轉)多型
- VC列印實踐淺談 (轉)
- 深入淺出談防火牆(轉)防火牆
- 函式指標淺談 (轉)函式指標
- 使用LogMiner工具
- 【JSON解析】淺談JSONObject的使用JSONObject
- 淺談 PHP 中異常類的使用PHP
- 淺談C語言中函式的使用C語言函式