IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → 手工備份恢復(fù)--LogMiner

手工備份恢復(fù)--LogMiner

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

在以前的練習(xí)中,我們討論了歸檔重做日志文件,對歸檔重做日志文件進(jìn)行了備份并用于恢復(fù)操作,利用這些文件可以把改變傳遞到一個(gè)備用數(shù)據(jù)庫中并將一個(gè)表空間及時(shí)恢復(fù)到一個(gè)特定的時(shí)間點(diǎn)。你是否考慮到什么方法可以直接觀察一個(gè)Oracle重做日志文件的內(nèi)部結(jié)構(gòu)?從Oracle8i開始可以是用LogMiner工具查看一個(gè)或者多個(gè)日志文件的內(nèi)容,包括一些數(shù)據(jù)字典視圖和存儲過程。在本練習(xí)中將練習(xí)安裝LogMiner,并使用LogMiner來查看和分析數(shù)據(jù)庫重做日志文件的內(nèi)容。
當(dāng)Oracle改變數(shù)據(jù)塊時(shí),它把重做信息寫入當(dāng)前的聯(lián)機(jī)重做日志文件。重做日志文件包括更改時(shí)間、對象標(biāo)識符、更改的SCN號、數(shù)據(jù)塊發(fā)生的操作和其他的重要信息,該文件不但包括使用者對數(shù)據(jù)塊所做的更改,也包括回退段中恢復(fù)塊的更改。Oracle在數(shù)據(jù)字典中使用數(shù)字標(biāo)識符來標(biāo)識對象的相關(guān)信息,例如為一個(gè)表制定一個(gè)對象號,并且每列有一個(gè)列標(biāo)志符,每列都有一個(gè)相應(yīng)的數(shù)據(jù)類型標(biāo)識符,表示該列是varchar2、date、number等變量。使用LogMiner,可以讀出重做文件的內(nèi)容,然后重新產(chǎn)生或恢復(fù)產(chǎn)生原始重做信息的SQL表達(dá)式,使用數(shù)據(jù)字典文件,LogMiner將Oracle對象標(biāo)識符翻譯成可以看得懂的表和列。
在進(jìn)行本練習(xí)之前對相關(guān)數(shù)據(jù)進(jìn)行解釋:

  • 當(dāng)前數(shù)據(jù)庫(Current database):當(dāng)LogMiner使用產(chǎn)生日志文件的服務(wù)器來分析重做日志文件時(shí),重做日志文件來自當(dāng)前數(shù)據(jù)庫;
  • 外部數(shù)據(jù)庫(Foreign database):當(dāng)LogMiner可以分析異于當(dāng)前數(shù)據(jù)庫的其他數(shù)據(jù)庫產(chǎn)生的重做日志文件,該數(shù)據(jù)庫就是有一個(gè)外部數(shù)據(jù)庫;
  • 字典文件(Dictionary file):LogMiner使用字典文件將Oracle內(nèi)部對象標(biāo)識與表名稱、列、數(shù)據(jù)類型以及其他對象關(guān)聯(lián)起來,需要注意的是字典文件必須由創(chuàng)建重做日志文件的數(shù)據(jù)庫產(chǎn)生。

很多情況下需要使用LogMiner:如數(shù)據(jù)庫表中的數(shù)據(jù)莫名其妙被修改了,使用LogMiner可以檢查哪個(gè)改變的運(yùn)行細(xì)節(jié),也可以使用LogMiner來撤銷這些更改;可以使用LogMiner檢查一個(gè)或多個(gè)表中SQL改變發(fā)生的次數(shù),從而檢查表上的工作量;通過進(jìn)一步檢查,LogMiner可以指出一個(gè)錯(cuò)誤的DROP TABLE或者一個(gè)DDL語句發(fā)生的準(zhǔn)確時(shí)間和SCN。
使用LogMiner需要理解以下要點(diǎn):

  • 可以在一個(gè)已經(jīng)加載或者未加載的數(shù)據(jù)庫上使用LogMiner;
  • 分析一個(gè)來自外來數(shù)據(jù)庫重做日志文件時(shí),當(dāng)前數(shù)據(jù)庫的塊大小必須和外部數(shù)據(jù)庫一樣的或者更大,因?yàn)樵跓醾浞菽J?,表空間中一個(gè)塊的首次改變作為一個(gè)單獨(dú)的重做記錄在重做流中創(chuàng)建一個(gè)完整的鏡像。如果LogMiner使用較小的塊尺寸的數(shù)據(jù)庫讀取重做會發(fā)生錯(cuò)誤,因?yàn)閱为?dú)的重做記錄無法放入一個(gè)塊中;
  • 雖然LogMiner不解釋重做日志的DDL語句,如DROP TABLE這樣的DDL語句,但仍舊會在數(shù)據(jù)字典創(chuàng)建DML,這些字典DML語句可以用來檢查對數(shù)據(jù)庫發(fā)布的DDL命令;
  • LogMiner不會重構(gòu)原始的無日志的SQL操作,但在數(shù)據(jù)字典上的DML操作結(jié)果將記錄到日志文件里;
  • 雖然LogMiner可以偶然用來日志文件分析,但不能當(dāng)做常規(guī)意義上使用的一種功能,特別是一個(gè)產(chǎn)生龐大數(shù)量重做信息的數(shù)據(jù)庫挖掘重做信息,使用LogMiner分析龐大數(shù)量的重做信息是一件非常耗費(fèi)時(shí)間的事情;
  • 如果LogMiner用來從其他數(shù)據(jù)庫的日志文件里挖掘信息,無論原數(shù)據(jù)庫還是被分析的數(shù)據(jù)庫都必須在使用相同的硬件平臺和操作系統(tǒng),而且原數(shù)據(jù)庫和被分析數(shù)據(jù)庫必須使用相同的字符集;
  • LogMiner無法分析某些數(shù)據(jù)庫對象或數(shù)據(jù)類型產(chǎn)生的重做,例如:按索引組織的表、成簇的表/索引、非標(biāo)量數(shù)據(jù)類型和鏈接的行;
  • 盡管可以創(chuàng)建數(shù)據(jù)字典DML,但LogMiner無法從直接的路徑插入操作中生成原始的SQL;
  • LogMiner將顯示為提交的事務(wù),因?yàn)橹刈鋈罩景峤坏暮臀刺峤坏臄?shù)據(jù)。

?練習(xí)18:分析重做文件

通過LogMiner讀取重做日志事務(wù)涉及使用Oracle提供的包過程、數(shù)據(jù)字典視圖和一個(gè)數(shù)據(jù)字典外部文件。下面是應(yīng)用LogMiner分析重做日志文件的操作過程:使用LogMiner存儲過程創(chuàng)建一個(gè)外部數(shù)據(jù)字典文件;然后使用另一個(gè)存儲過程創(chuàng)建一個(gè)分析重做文件的列表;最后,執(zhí)行另一個(gè)存儲過程來啟動(dòng)LogMiner。在完成這些步驟以后,從一個(gè)顯示日志文件內(nèi)容的數(shù)據(jù)字典視圖里進(jìn)行選擇,當(dāng)查詢這個(gè)視圖時(shí),Oracle讀取日志文件,然后以特定格式返回結(jié)果,一旦分析列出的日志文件,就調(diào)用另一個(gè)存儲過程停止LogMiner。

類型

過程名

用途

過程

Dbms_logmnr_d.build

創(chuàng)建一個(gè)數(shù)據(jù)字典文件

過程

Dbms_logmnr.add_logfile

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法

      1. <dfn id="7rgte"></dfn>