揭開Oracle LogMiner之謎
向大家介紹Oracle,可能好多人還不了解Oracle LogMiner,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。Oracle LogMiner 是Oracle公司從產(chǎn)品8i以后提供的一個(gè)實(shí)際非常有用的分析工具,使用該工具可以輕松獲得Oracle 重作日志文件(歸檔日志文件)中的具體內(nèi)容,特別是,該工具可以分析出所有對(duì)于數(shù)據(jù)庫操作的DML(insert、update、delete等)語句,另外還可分析得到一些必要的回滾SQL語句。該工具特別適用于調(diào)試、審計(jì)或者回退某個(gè)特定的事務(wù)。
LogMiner分析工具實(shí)際上是由一組PL/SQL包和一些動(dòng)態(tài)視圖(Oracle8i內(nèi)置包的一部分)組成,它作為Oracle數(shù)據(jù)庫的一部分來發(fā)布,是8i產(chǎn)品提供的一個(gè)完全免費(fèi)的工具。但該工具和其他Oracle內(nèi)建工具相比使用起來顯得有些復(fù)雜,主要原因是該工具沒有提供任何的圖形用戶界面(GUI)。本文將詳細(xì)介紹如何安裝以及使用該工具。
Oracle LogMiner的用途
日志文件中存放著所有進(jìn)行數(shù)據(jù)庫恢復(fù)的數(shù)據(jù),記錄了針對(duì)數(shù)據(jù)庫結(jié)構(gòu)的每一個(gè)變化,也就是對(duì)數(shù)據(jù)庫操作的所有DML語句。
在Oracle 8i之前,Oracle沒有提供任何協(xié)助數(shù)據(jù)庫管理員來讀取和解釋重作日志文件內(nèi)容的工具。系統(tǒng)出現(xiàn)問題,對(duì)于一個(gè)普通的數(shù)據(jù)管理員來講,唯一可以作的工作就是將所有的log文件打包,然后發(fā)給Oracle公司的技術(shù)支持,然后靜靜地等待Oracle 公司技術(shù)支持給我們***的答案。然而從8i以后,Oracle提供了這樣一個(gè)強(qiáng)有力的工具-LogMiner。
Oracle LogMiner工具即可以用來分析在線,也可以用來分析離線日志文件,即可以分析本身自己數(shù)據(jù)庫的重作日志文件,也可以用來分析其他數(shù)據(jù)庫的重作日志文件。
總的說來,LogMiner工具的主要用途有:
1.跟蹤數(shù)據(jù)庫的變化:可以離線的跟蹤數(shù)據(jù)庫的變化,而不會(huì)影響在線系統(tǒng)的性能。
2.回退數(shù)據(jù)庫的變化:回退特定的變化數(shù)據(jù),減少point-in-time recovery的執(zhí)行。
3.優(yōu)化和擴(kuò)容計(jì)劃:可通過分析日志文件中的數(shù)據(jù)以分析數(shù)據(jù)增長模式。
要安裝Oracle LogMiner工具,必須首先要運(yùn)行下面這樣兩個(gè)腳本
l $ORACLE_HOME/rdbms/admin/dbmslsm.sql
2 $ORACLE_HOME/rdbms/admin/dbmslsmd.sql.
這兩個(gè)腳本必須均以SYS用戶身份運(yùn)行。其中***個(gè)腳本用來創(chuàng)建DBMS_LOGMNR包,該包用來分析日志文件。第二個(gè)腳本用來創(chuàng)建DBMS_LOGMNR_D包,該包用來創(chuàng)建數(shù)據(jù)字典文件。
【編輯推薦】