LogMiner簡介
Oracle從8i以後,支持LogMiner,可以分析在線,離線,本身數據庫,其他數據庫的日誌文件
主要用途
1.跟蹤數據庫的變化:可以離線的跟蹤數據庫的變化,而不會影響在線系統的性能。 2.回退數據庫的變化:回退特定的變化數據,減少point-in-time recovery的執行。 3.優化和擴容計劃:可通過分析日誌文件中的數據以分析數據增長模式
分析方式
-無限制條件:分析所有加入到分析列表的日誌文件 -限制條件:根據限制條件分析指定範圍的日誌文件
註意事項
1.logminer必須使用被分析數據庫實例產生的字典文件,而不是安裝logminer的數據庫產生的字典文件,另外必須保證安裝logminer數據庫的字符集和被分析數據庫的字符集相同 2.被分析數據庫平臺必須和當前logminer所在數據庫平臺一樣 3.logminer日誌分析工具僅能夠分析Oracle 8以後的產品
如何使用LogMiner分析在線重做日誌
第一步,準備工作(安裝LogMiner)
1.以sysdba登錄數據庫:`sqlplus / as sysdba` 2.檢查是否帶有LogMiner分析包,沒有則運行以下兩個sql文件: -$ORACLE_HOME/rdbms/admin/dbmslm.sql -$ORACLE_HOME/rdbms/admin/dbmslmd.sql 3.查看oracle日誌文件 ```sql select * from v$logfile; ```
第二步,創建數據字典文件
-在初始化參數文件init.ora中,添加一個參數UTL_FILE_DIR,該參數值為服務器中放置數據字典文件的目錄 ```sql alter system set utl_file_dir='e:\Oracle\logs' scope=spfile; ``` -重啟數據庫使之生效 -創建數據字典文件 ```sql execute dbms_logmnr_d.build(dictionary_filename=> 'dict.ora',dictionary_location=> 'E:\Oracle\logs'); ```
第三步,創建要分析的日誌文件列表
-創建分析列表 ```sql execute dbms_logmnr.add_logfile(LogFileName=> 'E:\Oracle\oradata\orcl\REDO01.LOG',Options =>dbms_logmnr.new); ``` -添加要分析的日誌文件 ```sql execute dbms_logmnr.add_logfile(LogFileName=> 'E:\Oracle\oradata\orcl\REDO02.LOG',Options =>dbms_logmnr.ADDFILE); execute dbms_logmnr.add_logfile(LogFileName=> 'E:\Oracle\oradata\orcl\REDO03.LOG',Options =>dbms_logmnr.ADDFILE); ```
第四步,使用LogMiner進行日誌分析
```sql execute dbms_logmnr.start_logmnr(DictFileName=>'E:\Oracle\logs\dict.ora'); ```
第五步,觀察分析結果
```sql select sql_redo from v$logmnr_contents where seg_owner='SYSTEM' and seg_name='T_STU'; ```
Tags:
文章來源: