ORACLE數(shù)據(jù)庫管理基礎(chǔ)五_第1頁
ORACLE數(shù)據(jù)庫管理基礎(chǔ)五_第2頁
ORACLE數(shù)據(jù)庫管理基礎(chǔ)五_第3頁
ORACLE數(shù)據(jù)庫管理基礎(chǔ)五_第4頁
ORACLE數(shù)據(jù)庫管理基礎(chǔ)五_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

維護重做日志文件目標 完成這一課的學習后,您應該能達到下列目標: ?解釋聯(lián)機重做日志文件的用途 ?概述聯(lián)機重做日志文件的結(jié)構(gòu) ?控制日志切換和檢查點 ?對聯(lián)機重做日志文件進行多元備份和維護使用重做日志文件重做日志文件具有以下特征:?記錄對數(shù)據(jù)所做的所有更改?提供恢復機制?可以劃分成組?至少需要兩個組使用重做日志文件利用重做日志文件,在數(shù)據(jù)庫發(fā)生故障時,可以重新處理事務。每個事務在處理的同時也會寫入重做日志緩沖區(qū),然后刷新到重做日志文件,這樣,如果發(fā)生介質(zhì)故障,重做日志文件將提供恢復機制。(但也存在例外情況,例如,在啟用NOLOGGING子句的情況下對象中的直接加載插入。)寫入的信息包括尚未提交的事務處理、還原段信息以及方案和對象管理語句。重做日志文件用來在例程失敗等情況下恢復尚未寫入數(shù)據(jù)文件的提交數(shù)據(jù)。重做日志文件只用于恢復。重做日志文件的結(jié)構(gòu)重做日志文件的結(jié)構(gòu)數(shù)據(jù)庫管理員可設(shè)置Oracle數(shù)據(jù)庫以維護聯(lián)機重做日志文件副本,來避免由于單點故障丟失數(shù)據(jù)庫信息。聯(lián)機重做日志文件組:?一組相同的聯(lián)機重做日志文件副本稱作聯(lián)機重做日志組。?LGWR后臺進程向組內(nèi)所有聯(lián)機重做日志文件并發(fā)寫入相同信息。?為保證數(shù)據(jù)庫的正常操作,Oracle服務器最少需要兩個聯(lián)機重做日志文件組。聯(lián)機重做日志文件成員:?組內(nèi)的每個聯(lián)機重做日志文件稱為成員。?組內(nèi)的每個成員都有相同的日志序列號和同樣的大小。Oracle服務器每次寫入日志組時,都分配一個日志序列號以唯一地識別每個重做日志文件。當前日志序列號存儲在控制文件和所有數(shù)據(jù)文件的標頭內(nèi)。創(chuàng)建初始重做日志文件聯(lián)機重做日志文件組和成員的初始集是在數(shù)據(jù)庫創(chuàng)建時創(chuàng)建的。下面的參數(shù)限制了聯(lián)機重做日志文件的數(shù)量:?CREATEDATABASE命令中的MAXLOGFILES參數(shù)指定聯(lián)機重做日志文件組的絕對最大數(shù)量。?MAXLOGFILES的最大值和缺省值取決于您的操作系統(tǒng)。?CREATEDATABASE命令所使用的MAXLOGMEMBERS參數(shù)決定每個組的成員的最大數(shù)量。MAXLOGMEMBERS的最大值和缺省值取決于您的操作系統(tǒng)。重做日志文件如何發(fā)揮作用?重做日志文件是以循環(huán)方式使用的。?一旦某個重做日志文件被寫滿,LGWR就會移動到下一個日志組。–這稱為日志切換–同時還將執(zhí)行檢查點操作–將信息寫入控制文件重做日志文件如何發(fā)揮作用Oracle服務器將對數(shù)據(jù)庫所做的所有更改按順序記錄到重做日志緩沖區(qū)中。LGWR進程把重做條目從重做日志緩沖區(qū)寫入聯(lián)機重做日志組的其中一個組,這個組叫做當前聯(lián)機重做日志組。LGWR進程將在以下情況下寫入:?當提交事務處理時?當重做日志緩沖區(qū)被寫滿三分之一時?當重做日志緩沖區(qū)內(nèi)的已更改記錄超過1MB時?在DBWn將數(shù)據(jù)庫緩沖區(qū)高速緩存中修改的塊寫入數(shù)據(jù)文件之前重做日志文件是以循環(huán)方式使用的。每個重做日志文件組用一個日志序列號來標識,每次重新使用日志時就會覆蓋原來的序列號。重做日志文件如何發(fā)揮作用日志切換:LGWR按順序向聯(lián)機重做日志文件寫入重做信息。一旦當前聯(lián)機重做日志文件組被寫滿,LGWR就開始寫入下一個組。這稱為日志切換。當最后一個可用聯(lián)機重做日志文件已滿時,LGWR將返回第一個聯(lián)機重做日志文件組并開始重新寫入。重做日日志文文件如如何發(fā)發(fā)揮作作用檢查點點:在檢查點期期間:?大量的的灰數(shù)據(jù)庫庫緩沖區(qū)數(shù)數(shù)據(jù)(由正正在經(jīng)歷檢檢查點事件件的日志所所覆蓋)被被DBWn寫入到到數(shù)據(jù)文件件中。DBWn寫寫入的緩沖沖區(qū)的數(shù)量量是由參數(shù)數(shù)FAST_START_MTTR_TARGET決定定的(如果果已指定))。缺省值值為零。注:Oracle9i數(shù)據(jù)庫管理理基礎(chǔ)II課程中詳細細介紹了FAST_START_MTTR_TARGET參數(shù)數(shù)。?檢查點點后臺進程程CKPT更新控控制文件以以反映該進進程已成功功完成。如如果檢查點點是由日志志切換引起起的,CKPT還還會更新數(shù)數(shù)據(jù)文件的的標頭??梢葬槍?shù)數(shù)據(jù)庫中的的所有數(shù)據(jù)據(jù)文件執(zhí)行行或者只針針對特定數(shù)數(shù)據(jù)文件執(zhí)執(zhí)行檢查點點操作。重做日志文文件如何發(fā)發(fā)揮作用例如,檢查查點可發(fā)生生在下面情情況中:?每次日日志切換時時?當已通通過正常、、事務處理理或者立即即選項關(guān)閉閉例程時?通過設(shè)設(shè)置初始化化參數(shù)FAST_START_MTTR_TARGET強制執(zhí)執(zhí)行時?數(shù)據(jù)庫庫管理員通通過手動方方式請求時時?ALTERTABLESPACE[OFFLINENORMAL|READONLY|BEGINBACKUP]命令令導致對特特定數(shù)據(jù)文文件執(zhí)行檢檢查點操作作時如果初始化化參數(shù)LOG_CHECKPOINTS_TO_ALERT設(shè)設(shè)置為TRUE,則則有關(guān)每個個檢查點的的信息都記記錄在alert_SID.log文文件內(nèi)。。該參數(shù)缺缺省值為FALSE,表示不不記錄檢查查點。強制執(zhí)行行日志切切換和檢檢查點?強制制執(zhí)行日日志切換換:ALTERSYSTEMSWITCHLOGFILE;?可使使用以下下方式強強制執(zhí)行行檢查點點操作::–設(shè)置置FAST_START_MTTR_TARGET參數(shù)FAST_START_MTTR_TARGET=600–ALTERSYSTEMCHECKPOINT命令ALTERSYSTEMCHECKPOINT;強制執(zhí)行行日志切切換和檢檢查點如前所述述,日志志切換和和檢查點點操作是是在數(shù)據(jù)據(jù)庫運行行中的某某些特定定點自動動執(zhí)行的的,但DBA可可以強制制執(zhí)行日日志切換換或檢查查點操作作。強制執(zhí)行行檢查點點:FAST_START_MTTR_TARGET參數(shù)數(shù)取代了了不贊成成使用的的參數(shù)::?FAST_START_IO_TARGET?LOG_CHECKPOINT_TIMEOUT如果使用用參數(shù)FAST_START_MTTR_TARGET,就不不能再使使用這兩兩個不贊贊成使用用的參數(shù)數(shù)。在上面的的示例中中,已設(shè)設(shè)置了FAST_START_MTTR_TARGET參數(shù)數(shù),因此此例程恢恢復所用用的時間間不應超超過600秒秒。數(shù)據(jù)據(jù)庫將根根據(jù)這一一目標來來調(diào)整其其它參數(shù)數(shù)添加聯(lián)機機重做日日志文件件組ALTERDATABASEADDLOGFILEGROUP3('$HOME/ORADATA/u01/log3a.rdo','$HOME/ORADATA/u02/log3b.rdo')SIZE1M;添加聯(lián)機重做做日志文件組組在某些情況下下,您可能需需要創(chuàng)建其它它日志文件組組。例如,添添加組可以解解決可用性問問題。要創(chuàng)建一個新新的聯(lián)機重做做日志文件組組,請使用下下面的SQL命令:ALTERDATABASE[database]ADDLOGFILE[GROUPinteger]filespec[,[GROUPinteger]filespec]...]您可以通過文文件說明來指指定成員名稱稱和位置??煽梢赃x擇每個個重做日志文文件組的GROUP參參數(shù)值。如果果您省略了該該參數(shù),Oracle服服務器自動動生成其值。。添加聯(lián)機重做做日志文件成成員ALTERDATABASEADDLOGFILEMEMBER'$HOME/ORADATA/u04/log1c.rdo'TOGROUP1,'$HOME/ORADATA/u04/log2c.rdo'TOGROUP2,'$HOME/ORADATA/u04/log3c.rdo'TOGROUP3;添加聯(lián)機重做做日志文件成成員您可以使用下下面的ALTERDATABASEADDLOGFILEMEMBER命令向現(xiàn)現(xiàn)有的重做日日志文件組添添加新成員::ALTERDATABASE[database]ADDLOGFILEMEMBER['filename'[REUSE][,'filename'[REUSE]]...TO{GROUPinteger|('filename'[,'filename']...)}]...請使用日志文文件成員的完完全指定名;;否則將在數(shù)數(shù)據(jù)庫服務器器缺省目錄下下創(chuàng)建該文件件。如果該文件已已經(jīng)存在,其其大小必須與與指定值相同同,并且必須須指定REUSE選項項。您可以通通過指定一個個或多個組內(nèi)內(nèi)成員或者指指定組號來識識別目標組。。添加聯(lián)機重做做日志文件成成員使用OracleEnterpriseManager添加重做日志志文件組和成成員從“OEM控控制臺”(OEMConsole):1.導航到到“數(shù)據(jù)庫””(Databases)>““存儲”(Storage)。。2.單單擊擊““重重做做日日志志組組””(RedoLogGroups)文文件件夾夾。。3.單單擊擊鼠鼠標標右右鍵鍵,,從從彈彈出出的的菜菜單單中中選選擇擇““創(chuàng)創(chuàng)建建””(Create)。。4.在在““常常規(guī)規(guī)””(General)選選項項卡卡中中,,填填寫寫創(chuàng)創(chuàng)建建重重做做日日志志文文件件組組和和成成員員所所需需的的信信息息。。5.單單擊擊““創(chuàng)創(chuàng)建建””(Create)。。刪除除聯(lián)聯(lián)機機重重做做日日志志文文件件組組ALTERDATABASEDROPLOGFILEGROUP3;刪除除聯(lián)聯(lián)機機重重做做日日志志文文件件組組若要要增增大大或或者者減減小小聯(lián)聯(lián)機機重重做做日日志志文文件件組組的的大大小小,,請請?zhí)硖砑蛹有滦碌牡穆?lián)聯(lián)機機重重做做日日志志文文件件組組((具具有有新新的的大大小小)),,然然后后刪刪除除舊舊組組。??梢允故褂孟孪旅娴牡腁LTERDATABASEDROPLOGFILE命命令令刪除除整個個聯(lián)機機重做做日志志文件件組::ALTERDATABASE[database]DROPLOGFILE{GROUPinteger|('filename'[,'filename']...)}[,{GROUPinteger|('filename'[,'filename']...)}]...限制::?一一個例例程至至少需需要兩兩組聯(lián)聯(lián)機重重做日日志文文件。。?無無法刪刪除活活動組組或者者當前前組。。?刪刪除聯(lián)聯(lián)機重重做日日志文文件組組時并并不刪刪除操操作系系統(tǒng)文文件。。刪除聯(lián)聯(lián)機重重做日日志文文件成成員ALTERDATABASEDROPLOGFILEMEMBER'$HOME/ORADATA/u04/log3c.rdo';刪除聯(lián)聯(lián)機重重做日日志文文件成成員如果聯(lián)聯(lián)機重重做日日志文文件成成員無無效,,則最最好刪刪除它它。如如果要要刪除除一個個或多多個特特定的的聯(lián)機機重做做日志志文件件成員員,請請使用用下面面的ALTERDATABASEDROPLOGFILEMEMBER命命令令:ALTERDATABASE[database]DROPLOGFILEMEMBER'filename'[,'filename']...限制::?如如果要要刪除除的是是組內(nèi)內(nèi)的最最后一一個有有效成成員,,那么么您不不能刪刪除該該成員員。?如如果該該組是是當前前組,,那么么必須須先強強制執(zhí)執(zhí)行日日志文文件切切換,,然后后才能能刪除除該成成員。。?如如果數(shù)數(shù)據(jù)庫庫正運運行在在ARCHIVELOG模模式下下并且且未將將該成成員所所屬日日志文文件組組歸檔檔,那那么您您無法法刪除除該成成員。。?刪刪除聯(lián)聯(lián)機重重做日日志文文件成成員時時,如如果沒沒有使使用OMF功功能,,則不不會刪刪除操操作系系統(tǒng)文文件。。刪除聯(lián)聯(lián)機重重做日日志文文件成成員使用OracleEnterpriseManager刪除重重做日日志文文件組組和成成員::從“OEM控控制臺臺”(OEMConsole)::1.導導航航到““數(shù)據(jù)據(jù)庫””(Databases)>““存儲儲”(Storage)。。要刪除除組,,請執(zhí)執(zhí)行以以下操操作::1.展展開開“重重做日日志組組”(RedoLogGroups)文文件件夾,,然后后選擇擇要刪刪除的的重做做日志志文件件組。。2.單單擊擊鼠標標右鍵鍵,從從彈出出的菜菜單中中選擇擇“刪刪除””(Remove)。。3.確確認認刪除除。要刪除除成員員,請請執(zhí)行行以下下操作作:1.展展開開“重重做日日志組組”(RedoLogGroups)文文件件夾,,然后后導航航到包包含要要刪除除的成成員的的組。。2.在在““常規(guī)規(guī)”(General)頁頁中中,突突出顯顯示該該成員員,然然后單單擊鼠鼠標右右鍵,,從彈彈出的的菜單單中選選擇““刪除除”(Remove)。3.確確認認刪除除。重定位位或重重命名名聯(lián)聯(lián)機重重做日日志文文件使用以以下兩兩種方方法之之一重重定位位或重重命名名聯(lián)機機重做做日志志文件件:?ALTERDATABASECLEARLOGFILE命令–將聯(lián)機機重做日志志文件復制制到新的位位置–執(zhí)行該該命令ALTERDATABASECLEARLOGFILE'$HOME/ORADATA/u01/log2a.rdo';?添加新新成員并刪刪除舊成員員重定位或重重命名聯(lián)聯(lián)機重做日日志文件可以通過重重命名聯(lián)機機重做日志志文件來更更改聯(lián)機重重做日志文文件的位置置。在重命命名聯(lián)機重重做日志文文件之前,,請確保新新的聯(lián)機重重做日志文文件已存在在。Oracle服服務器僅僅更改控制制文件內(nèi)的的指針,并并不從物理理上重命名名或創(chuàng)建任任何操作系系統(tǒng)文件。。下面的ALTERDATABASERENAMEFILE命令可可更改聯(lián)機機重做日志志文件的名名稱:SQL>ALTERDATBASE[database}2RENAMEFILE‘filename’[,’filename’’]…3TO‘‘filename’]……重定位或重重命名聯(lián)聯(lián)機重做日日志文件使用OracleEnterprise重定位或重重命名重做做日志文件件組和成員員從“OEM控制臺臺”(OEMConsole)::1.導航航到“數(shù)據(jù)據(jù)庫”(Databases)>“存儲儲”(Storage)>“重重做日志組組”(RedoLogGroups)。2.選擇擇一個重做做日志文件件組。3.修改改重做日志志文件成員員的“文件件名”(FileName)或或“文件目目錄”(FileDirectory)以以重定位或或重命名該該成員。4.單擊擊“應用””(Apply)。聯(lián)機重做日日志文件的的配置聯(lián)機重做日日志文件的的配置要確定一個個數(shù)據(jù)庫例例程的聯(lián)機機重做日志志文件的合合適數(shù)量,,您必須測測試不同的的配置。在某些情況況下,數(shù)據(jù)據(jù)庫例程可可能只需要要兩個組。。在其它情情況下,數(shù)數(shù)據(jù)庫例程程可能需要要更多的組組以保證各各個組始終終可供LGWR使使用。例如如,如果LGWR跟跟蹤文件件或警報文文件中的消消息表明LGWR經(jīng)經(jīng)常不得得不因為檢檢查點操作作尚未完成成或者組尚尚未歸檔而而等待,您您就需要添添加組。盡管Oracle服服務器允允許多元備備份的組可可以包含不不同數(shù)量的的成員,但但應該盡量量建立對稱稱配置。不對稱配置置應只是非非常情況((如磁盤故故障)的臨臨時結(jié)果。。聯(lián)機重做日日志文件的的位置:對聯(lián)機重做日日志文件進行行多元備份時時,請將組內(nèi)內(nèi)的成員放置置在不同磁盤盤上。這樣,,即使一個成成員不可用而而其它成員可可用,該例程程也不會關(guān)閉閉。將歸檔日志文文件和聯(lián)機重重做日志文件件分放在不同同磁盤上,以以減少ARCn和LGWR后臺臺進程之間的的爭用。獲取組和成員員的信息可通過查詢以以下視圖來獲獲取有關(guān)組及及其成員的信信息:?V$LOG?V$LOGFILE獲取組和成員員的信息V$LOG視圖:下面的查詢返返回控制文件件中關(guān)于聯(lián)機機重做日志文文件的信息::SQL>SELECTgroup#,sequence#,bytes,members,status2FROMv$log;GROUP#SEQUENCE#BYTESMEMBERSSTATUS---------------------------------------------168810485761CURRENT268910485761INACTIVE2rowsselected.下面的項是STATUS列的常見見值:?UNUSED:表示示從未對聯(lián)機機重做日志文文件組進行寫寫入。這是剛剛添加的聯(lián)機機重做日志文文件的狀態(tài)。。?CURRENT:表表示當前的聯(lián)聯(lián)機重做日志志文件組。這這說明該聯(lián)機機重做日志文文件組是活動動的。?ACTIVE:表示示聯(lián)機重做日日志文件組是是活動的,但但是并非當前前聯(lián)機重做日日志文件組。。崩潰恢復需要要該狀態(tài)。它它可用于塊恢恢復。它可能能已歸檔,也也可能未歸檔檔。獲取組和成員員的信息?CLEARING::表示在執(zhí)行行ALTERDATABASECLEARLOGFILE命命令后正在將將該日志重建建為一個空日日志。日志清清除后,其狀狀態(tài)更改為UNUSED。?CLEARING_CURRENT:表示示正在清除當當前日志文件件中的已關(guān)閉閉線程。如果果切換時發(fā)生生某些故障,,如寫入新日日志標頭時發(fā)發(fā)生了輸入/輸出(I/O)錯誤誤,則日志可可能處于此狀狀態(tài)。?INACTIVE::表示例程恢恢復不再需要要聯(lián)機重做文文件日志組。。它可能已歸歸檔,也可能能未歸檔。獲取組和成員員的信息V$LOGFILE視圖:若要獲取組內(nèi)內(nèi)所有成員的的名稱,請查查詢V$LOGFILE視圖。SQL>SELECTmemberFROMV$LOGFILE;MEMBER-------------------------------------/u01/home/db03/ORADATA/u03/log02a.rdo/u01/home/db03/ORADATA/u03/log01a.rdoSTATUS列的值可可以為下列之之一:?INVALID:表表明該文件不不可訪問?STALE:表示文文件內(nèi)容不完完全?DELETED:表表明該文件已已不再使用?空白表明明文件正在使使用中歸檔的重做日日志文件?已滿的聯(lián)聯(lián)機重做日志志文件可以歸歸檔。?在ARCHIVELOG模式下運行數(shù)數(shù)據(jù)庫并對重重做日志文件件進行歸檔有有兩個好處::–恢復:數(shù)數(shù)據(jù)庫備份連連同聯(lián)機重做做日志文件和和歸檔重做日日志文件可共共同確?;謴蛷退幸烟峤唤坏氖聞仗幚砝?。–備份:可可在數(shù)據(jù)庫打打開時執(zhí)行備備份。?缺省情況況下,數(shù)據(jù)庫庫是在NOARCHIVELOG模式下創(chuàng)建的的。歸檔的重做日日志文件數(shù)據(jù)庫管理員員(DBA)必須做出出的一個重要要決策是:將將數(shù)據(jù)庫配置置為在ARCHIVELOG模式式下還是在NOARCHIVELOG模式下下操作。NOARCHIVELOG模式:在NOARCHIVELOG模式式下,每次聯(lián)聯(lián)機重做日志志文件已滿并并發(fā)生日志切切換時,都要要覆蓋聯(lián)機重重做日志文件件。直到對重重做日志文件件組的檢查點點操作完成后后,LGWR才覆蓋該該重做日志文文件組。ARCHIVELOG模式:如果數(shù)據(jù)庫配配置為在ARCHIVELOG模模式運行下,,那么必須將將已滿的聯(lián)機機重做日志文文件的不活動動組歸檔。因因為對數(shù)據(jù)庫庫所做的所有有更改都記錄錄在聯(lián)機重做做日志文件內(nèi)內(nèi),數(shù)據(jù)庫管管理員可以使使用物理備份份和歸檔的聯(lián)聯(lián)機重做日志志文件恢復數(shù)數(shù)據(jù)庫,而不不會丟失任何何已提交數(shù)據(jù)據(jù)。歸檔聯(lián)機重做做日志文件有有兩種方法::?手動?自動(建建議采用的方方法)歸檔的重做日日志文件ARCHIVELOG模式(續(xù))::LOG_ARCHIVE_START初始化化參數(shù)表明例例程啟動時,,使用手動還還是自動歸檔檔。?TRUE:TRUE表示歸檔檔是自動的。。ARCn將將在每次日日志切換時開開始將

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論