版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、備份恢復(fù)1、備份物理備份:對數(shù)據(jù)文件、控制文件、歸檔日志文件的備份邏輯備份:對數(shù)據(jù)庫內(nèi)部邏輯對象的備份(exp最主要用于數(shù)據(jù)遷移;可跨平臺、expdp)2、恢復(fù)數(shù)據(jù)庫數(shù)據(jù)損壞的情況下。使用備份將受損的數(shù)據(jù)恢復(fù)回來的過程備份是一切數(shù)據(jù)安全手段的底線備份是一切數(shù)據(jù)安全手段的底線備份數(shù)據(jù)庫里發(fā)生的所有事務(wù)都記錄在聯(lián)機重做日志文件中,聯(lián)機重做日志文件是循環(huán)覆蓋使用。聯(lián)機重做日志文件主要的作用是實例崩潰恢復(fù)(聯(lián)機日志最本質(zhì)是提高性能,宏觀上看為了數(shù)據(jù)安全)Oracle有兩種運行模式歸檔模式非歸檔模式歸檔模式就是將所有的聯(lián)機重做日志文件在循環(huán)覆蓋以前進(jìn)行歸檔,保留一份副本,非歸檔是默認(rèn)的運行模式歸檔模式?jīng)Q
2、定了備份模式冷備份1、如果數(shù)據(jù)庫是非歸檔模式,那么只能使用冷備份1、數(shù)據(jù)庫正常關(guān)閉,使用操作系統(tǒng)復(fù)制命令,備份所有的控制文件、數(shù)據(jù)文件數(shù)據(jù)庫正常關(guān)閉,會觸發(fā)完全檢查點信息,所有臟內(nèi)存塊都寫入到了數(shù)據(jù)文件中,聯(lián)機重做日志文件沒有什么意義要備份所有的數(shù)據(jù)文件、控制文件,不需要聯(lián)機重做日志文件2、如果使用的是abort關(guān)閉數(shù)據(jù)庫,或者實例崩潰關(guān)閉,需要備份聯(lián)機重做日志文件關(guān)鍵是要獲取所有的數(shù)據(jù)文件和控制文件的位置熱備份1、數(shù)據(jù)庫需要處于歸檔模式2、數(shù)據(jù)庫打開的狀態(tài)下,可以進(jìn)行表空間、數(shù)據(jù)文件的備份3、歸檔對數(shù)據(jù)庫的性能還是有一定影響的4、歸檔可以不丟失任何數(shù)據(jù)歸檔模式歸檔模式啟用了自動歸檔歸檔模式中
3、,對聯(lián)機日志文件的歸檔分為兩種模式手工方式和自動歸檔聯(lián)機日志文件A寫滿以后,切換到B,手工歸檔模式需要手工的發(fā)出命令才能歸檔,如果不發(fā)出命令,A不會被歸檔,同時A也不能被覆蓋,這樣切換回來需要覆蓋A的時候,整個數(shù)據(jù)庫被掛起除非測試,不要將生產(chǎn)數(shù)據(jù)庫設(shè)置在手工歸檔模式自動歸檔模式中,當(dāng)LGWR在將重做日志寫入當(dāng)前聯(lián)機重做日志文件中,發(fā)現(xiàn)寫滿時,于是切換到另一個新的聯(lián)機重做日志文件,進(jìn)行日志切換,同時觸發(fā)歸檔進(jìn)程(ARCn),將當(dāng)前已經(jīng)寫滿的聯(lián)機日志文件進(jìn)行歸檔其中的n表示我們啟動了多個歸檔進(jìn)程,oracle 10g中n從1到30啟動6個歸檔進(jìn)程。歸檔日志文件的存放位置默認(rèn)歸檔到這個目錄里面。默認(rèn)
4、存放在這個目錄里面?;謴?fù)區(qū)和新設(shè)置的歸檔區(qū)都是空的。日志歸檔到了我們設(shè)置的目錄中。只有一份歸檔。注意,我們還可以將日志歸檔到另外一個服務(wù)器上。作為一個災(zāi)備的概念,但是需要要測試歸檔的性能。歸檔的一些參數(shù)只有在將聯(lián)機日志成功歸檔到這個目錄以后,該日志文件才能夠被覆蓋。Reopen表示一旦不能夠成功到目的地,則每隔一段時間(默認(rèn)300秒)嘗試一次,下面的語句設(shè)置時間間隔是600秒。歸檔到三個目的地,文件的名字都一樣。我們設(shè)置了三個歸檔目錄,兩個是強制的,一個是可選的如果最少歸檔的數(shù)目少于mandatory,那么沒有什么意義。我們設(shè)置為3,表示至少歸檔三個目的地,就相當(dāng)于設(shè)置了三個強制。我們將第三個
5、目的地給刪除。發(fā)現(xiàn)也能夠成功的歸檔。發(fā)現(xiàn)還是能夠正常的歸檔,也就是最少成功備份參數(shù)沒有起作用。所以我們還是要依靠強制來實現(xiàn)多路徑。多次執(zhí)行,當(dāng)要覆蓋第一個沒有歸檔成功的日志文件的時候,數(shù)據(jù)庫掛起重新建立了這個目錄。即使數(shù)據(jù)庫被掛起,還是可以登陸,還是可以進(jìn)行操作。連續(xù)的操作以后,發(fā)現(xiàn)數(shù)據(jù)庫掛起。大約過了10分鐘以后,因為reopen的原因,系統(tǒng)正常的歸檔以后,操作繼續(xù)進(jìn)行。歸檔出現(xiàn)問題以后,最好的解決辦法就是抓緊時間將歸檔目的地修復(fù)好。另外一種解決方式就是將這個目錄設(shè)置為defer。問題馬上解決。但是要注意不能少于這個參數(shù)。表示dest2目錄不可用。所有目錄都刪除以后怎么辦?使用defer的辦
6、法是沒有用的。只能恢復(fù)目錄了。因為總是需要歸檔到一個地方去。將標(biāo)識為enable的修復(fù)。重新指定了一個歸檔目錄,問題快速解決。解決思路1、首先將min_suceed設(shè)置成12、重新建立一個歸檔目錄3、將以前所有的歸檔目錄設(shè)置成為defer生成的歸檔日志文件的文件名?%s:日志序列號%S:固定長度的日志序列號,不足位在左邊補0%t:日志線程號%T:固定長度的日志線程號,不足位在左邊補0%a:激活I(lǐng)D%d:數(shù)據(jù)庫名%r:resetlogs生成的ID默認(rèn)為%t_%s_%r.dbf熱備份數(shù)據(jù)庫1、可以備份某個表空間所有的數(shù)據(jù)文件,也可以備份某個表空間下的某個數(shù)據(jù)文件,整個的備份過程中,表空間是可用的將
7、日志進(jìn)行歸檔,然后備份到另外一個介質(zhì)上。恢復(fù)的時候,備份的數(shù)據(jù)文件要能夠使用,至少要求在begin backup和end backup之間所有的歸檔日志,否則備份的介質(zhì)沒有任何意義。對每一個表空間,都重復(fù)上面的操作。1、開始備份2、備份文件3、結(jié)束備份4、歸檔日志、備份歸檔日志熱備份原理1、Oracle的數(shù)據(jù)塊大小是操作系統(tǒng)塊大小的整數(shù)倍,直接復(fù)制數(shù)據(jù)文件到備份介質(zhì)的過程中,由于數(shù)據(jù)庫一直可用,數(shù)據(jù)塊中不斷地有數(shù)據(jù)進(jìn)進(jìn)出出,使用操作系統(tǒng)命令復(fù)制數(shù)據(jù)文件時,是基于操作系統(tǒng)塊進(jìn)行復(fù)制的,也就是說復(fù)制一個操作系統(tǒng)塊的時候,首先鎖定這個塊,復(fù)制完成以后,解鎖這個塊,這樣這個塊在復(fù)制前和復(fù)制后是一致的。
8、但是對于一個Oracle數(shù)據(jù)庫來說,一個塊要分成幾次進(jìn)行復(fù)制,可能在復(fù)制一個操作系統(tǒng)數(shù)據(jù)塊的時候,另外一個操作系統(tǒng)數(shù)據(jù)塊被改變了,導(dǎo)致oracle數(shù)據(jù)塊在復(fù)制到備份介質(zhì)以后,前一半是沒有改動過的,后一半是改動過的,數(shù)據(jù)塊的狀態(tài)就不一致,數(shù)據(jù)塊就能夠使用,備份也就不能夠使用,這叫做分離數(shù)據(jù)塊現(xiàn)象(split blocks)2、oracle在數(shù)據(jù)塊的頭部和尾部各存了一個版本號,通過這個來確認(rèn)這個數(shù)據(jù)塊是否是分離數(shù)據(jù)塊,oracle修改過一個數(shù)據(jù)塊以后,將這個數(shù)據(jù)塊的版本號在頭部和尾部各存放了一份3、為了修復(fù)分離數(shù)據(jù)塊現(xiàn)象,我們在備份某個表空間的時候,首先進(jìn)行begin backup,通知數(shù)據(jù)庫開始
9、備份,在沒有end backup命令之前,只要是進(jìn)程修改了被備份的表空間所包含的數(shù)據(jù)塊中的某條記錄,oracle就會把該數(shù)據(jù)塊中所包含的所有的數(shù)據(jù)行的數(shù)據(jù)生成重做記錄,記錄到日志文件中4、通過發(fā)出begin backup以后,第一次修改數(shù)據(jù)塊中的數(shù)據(jù)行之前,在聯(lián)機重做日志文件中記錄數(shù)據(jù)塊的修改前的數(shù)據(jù),這樣在熱備份恢復(fù)的時候,一旦發(fā)現(xiàn)某個數(shù)據(jù)塊被分離,則會利用日志文件里的記錄的數(shù)據(jù)對整個數(shù)據(jù)塊進(jìn)行恢復(fù)5、備份表空間中的所有的被修改過的數(shù)據(jù)塊的所有數(shù)據(jù)行都被保存在了聯(lián)機重做日志文件中,而不是只記錄被修改的數(shù)據(jù)行的記錄,因此在熱備份過程中,會發(fā)現(xiàn)生成的聯(lián)機重做日志文件的量比較大,這取決于業(yè)務(wù)的繁忙
10、程度,例如DML量比較大,那么產(chǎn)生的日志會非常的多6、發(fā)出begin backup命令以后,oracle會對被備份的表空間所對應(yīng)的數(shù)據(jù)文件觸發(fā)文件級別的檢查點進(jìn)程,將內(nèi)存中屬于該表空間的所有臟數(shù)據(jù)塊寫入數(shù)據(jù)文件,檢查點結(jié)束以后,數(shù)據(jù)文件頭部(第一個和第一個數(shù)據(jù)塊)的檢查點SCN和日志序列號都不在變化,直至發(fā)出end backup,數(shù)據(jù)文件頭部的SCN和日志序列號才被更新7、在熱備份的過程中,數(shù)據(jù)文件頭部的SCN和日志序列號被凍結(jié),但是數(shù)據(jù)文件本身還是最新的,和正常一樣的更新和使用,DML更新了某個表,這些更新都會被寫入到數(shù)據(jù)文件中去8、凍結(jié)數(shù)據(jù)文件頭部的SCN號和日志序列號,是為了將來使用熱備
11、份進(jìn)行恢復(fù)的時候,能夠知道應(yīng)該從哪里開始應(yīng)用重做記錄,也就是備份的數(shù)據(jù)文件頭部所記錄的SCN和日志序列號,定位到日志文件中,從日志文件中找到開始的SCN,向后應(yīng)用所有的日志文件9、end backup以后,所有的數(shù)據(jù)文件的頭部SCN和日志序列號推進(jìn)到最新,因為數(shù)據(jù)文件本身就是最新的知道那個表空間正處于熱備份狀態(tài)?在備份的過程中,數(shù)據(jù)庫意外的崩潰,重新啟動,出現(xiàn)了一個意外的情況,我們下面繼續(xù)解決。1、實例沒有啟動,因此不能修改參數(shù),只能生成pfile,修改后再倒入到spfile修改pfile系統(tǒng)提示一個數(shù)據(jù)文件損壞,我們懷疑可能是這個數(shù)據(jù)文件正在備份過程中實例崩潰。果然是因為數(shù)據(jù)庫備份過程中實例
12、崩潰輕松解決。備份控制文件只要在數(shù)據(jù)庫結(jié)構(gòu)發(fā)生變化以后,例如增加、刪除、重命名數(shù)據(jù)文件或日志文件以后,都應(yīng)該備份控制文件。兩種方式備份控制文件1、二進(jìn)制備份2、SQL命令方式備份到了這個文件中,里面是控制文件的重建語句。文件部分內(nèi)容。初始化參數(shù)文件和密碼文件也需要備份,只要復(fù)制即可。介質(zhì)恢復(fù)1、還原restore使用備份的文件替換損壞或丟失的文件,該階段使用操作系統(tǒng)命令完成2、恢復(fù)recovery將歸檔的日志文件以及聯(lián)機重做日志文件里的重做記錄應(yīng)用到還原出來的文件上,該階段在SQLPLUS的recover命令完成打開數(shù)據(jù)庫的時候,數(shù)據(jù)文件、控制文件、聯(lián)機重做日志文件必須同步,如果不同步,需要進(jìn)
13、行恢復(fù),恢復(fù)成功以后才能打開數(shù)據(jù)庫一致性是基于檢查點SCN和日志序列號而言控制文件里記錄了三種重要的檢查點SCN號1、系統(tǒng)檢查點SCN當(dāng)檢查點進(jìn)程啟動時,會將檢查點結(jié)束時間的SCN號記錄在控制文件中(SCN是一個以時間為參數(shù)的函數(shù)值),該檢查點是全局范圍內(nèi)的,當(dāng)發(fā)生文件級別的檢查點(比如將某個表空間設(shè)置為begin backup而引起的檢查點)時,則不會更新該系統(tǒng)檢查點SCN數(shù)據(jù)文件檢查點當(dāng)檢查點進(jìn)程啟動時,包括全局范圍的(例如發(fā)生日志切換)以及文件級別的(將表空間設(shè)置為只讀、begin backup、或?qū)⒛硞€數(shù)據(jù)文件設(shè)置為offline)檢查點,這時會在控制文件里面記錄每個數(shù)據(jù)文件上所發(fā)生的
14、檢查點SCN(將數(shù)據(jù)文件設(shè)置為正常離線、只讀時,將表空間設(shè)置為begin backup時,觸發(fā)文件級別的檢查點,并將該檢查點更新控制文件和數(shù)據(jù)文件頭部以后,就不再變化)這個文件的檢查點明顯的高于其余文件,因為我們剛才執(zhí)行一個begin backup命令,觸發(fā)了一個文件檢查點。結(jié)束SCN每個數(shù)據(jù)文件都會有一個結(jié)束SCN,在數(shù)據(jù)庫正常運行期間,只要是在線的、可讀寫的數(shù)據(jù)文件,其終止SCN都為空正常關(guān)閉數(shù)據(jù)庫時,或者將數(shù)據(jù)文件正常離線、或只讀時,都會由于觸發(fā)了檢查點進(jìn)程,從而在控制文件里記錄每個數(shù)據(jù)文件上的結(jié)束時 的SCN號Begin backup不能設(shè)置數(shù)據(jù)文件的結(jié)束SCN通過設(shè)置數(shù)據(jù)文件的只讀可
15、以讓結(jié)束SCN記錄到數(shù)據(jù)文件中。正常關(guān)閉數(shù)據(jù)庫,每個數(shù)據(jù)文件的結(jié)束SCN都是一致的(只讀、離線的除外)數(shù)據(jù)庫啟動以后,數(shù)據(jù)文件的結(jié)束SCN都變成空。在每個數(shù)據(jù)文件的頭部,也記錄了檢查點SCN,該檢查點SCN與控制文件中記錄的數(shù)據(jù)文件的檢查點SCN是一致的。也就是說,全局范圍和數(shù)據(jù)文件級別的檢查點,不僅會將檢查點SCN記錄在控制文件中,還會記錄在數(shù)據(jù)文件的頭部。數(shù)據(jù)庫正常關(guān)閉時,會觸發(fā)一個完全檢查點,并用該檢查點結(jié)束時的SCN號更新以上4個檢查點SCN(除了離線和只讀的),下次數(shù)據(jù)庫啟動的時候,會比較這四個檢查點SCN,如果他們相同,說明數(shù)據(jù)庫是一致的,可以正常打開如果數(shù)據(jù)庫非正常關(guān)閉,例如掉電
16、導(dǎo)致數(shù)據(jù)庫沒有進(jìn)行完全檢查點就關(guān)掉了,每個在線、讀寫的數(shù)據(jù)文件的終止SCN仍然為空,下次數(shù)據(jù)庫啟動的時候,發(fā)現(xiàn)在線和讀寫的數(shù)據(jù)文件的終止SCN為空,則SMON進(jìn)程會進(jìn)行實例恢復(fù)如果備份的數(shù)據(jù)文件覆蓋當(dāng)前的數(shù)據(jù)文件,則數(shù)據(jù)庫會發(fā)現(xiàn)記錄在控制文件里面的數(shù)據(jù)文件的檢查點SCN號與從備份中還原的數(shù)據(jù)文件的頭部記錄的檢查點SCN不一致,控制文件中的SCN比較新,備份中還原的數(shù)據(jù)文件頭部的SCN比較舊,控制文件的SCN大于數(shù)據(jù)文件頭部的SCN,數(shù)據(jù)庫不能打開,要求對還原的數(shù)據(jù)文件進(jìn)行恢復(fù),應(yīng)用重做記錄,從而將該數(shù)據(jù)文件頭部的SCN提升到控制文件里記錄的SCN號如果我們將備份的控制文件覆蓋當(dāng)前的控制文件,這
17、時控制文件比較舊,而數(shù)據(jù)文件則是當(dāng)前最新的的數(shù)據(jù)文件,因此數(shù)據(jù)庫會發(fā)現(xiàn)控制文件里面的SCN小于數(shù)據(jù)文件頭部記錄的SCN,于是進(jìn)行恢復(fù)啟動數(shù)據(jù)庫的時候,如果發(fā)現(xiàn)控制文件里記錄的數(shù)據(jù)文件檢查點SCN與數(shù)據(jù)文件頭部記錄的SCN相同,但是在每個在線的以及可讀寫的數(shù)據(jù)文件之間,他們的檢查點SCN不同,那么會要求進(jìn)行介質(zhì)恢復(fù),例如begin backup后,實例崩潰,重啟數(shù)據(jù)庫時就會發(fā)生這種情況,必須發(fā)出end backup命令才能打開數(shù)據(jù)庫。完全恢復(fù)將數(shù)據(jù)庫恢復(fù)到最新狀態(tài)非歸檔模式歸檔模式非歸檔模式下面的完全恢復(fù)1、在非歸檔模式下面,如果出現(xiàn)介質(zhì)的損壞,則必須使用一個在關(guān)閉狀態(tài)下面所做的備份進(jìn)行恢復(fù)2、
18、即使只丟失了一個數(shù)據(jù)文件,也必須還原所有的數(shù)據(jù)文件3、關(guān)閉數(shù)據(jù)庫,還原所有的控制文件、數(shù)據(jù)文件,如果備份了聯(lián)機重做,也可以還原,不還原聯(lián)機重做日志文件也是可以的4、所用的備份,必須是在同一個時間點上做的備份非歸檔模式的還原分為兩種情況1、備份時,同時備份了聯(lián)機重做日志文件關(guān)閉數(shù)據(jù)庫,使用最近的備份,通過操作系統(tǒng)命令進(jìn)行復(fù)制,將數(shù)據(jù)文件、控制文件、聯(lián)機重做日志文件復(fù)制到這些文件所在的目錄2、備份時,沒有備份聯(lián)機重做日志文件關(guān)閉數(shù)據(jù)庫從最近的備份中,還原所有的數(shù)據(jù)文件和控制文件啟動數(shù)據(jù)庫,會報告找不到聯(lián)機重做日志文件或者聯(lián)機重做日志文件不匹配的錯誤消息recover database until
19、cancel using backup controlfile;提示輸入日志信息時,輸入cancelalter database open resetlogs;最大的問題,丟失自上次備份以來所有的數(shù)據(jù)我們下面來做一個還原(沒有備份reodlog的還原)建立了一個新的數(shù)據(jù)庫。將三類文件的位置和名字找出來,一個都不能少。將所有數(shù)據(jù)文件、控制文件備份出來,不能漏掉任何的一個。刪除一個數(shù)據(jù)文件后,數(shù)據(jù)庫啟動時報錯,數(shù)據(jù)文件丟失,看一下數(shù)據(jù)庫的模式是非歸檔,只能進(jìn)行完全恢復(fù)。剛才做的恢復(fù)就相當(dāng)于是備份了聯(lián)機重做日志文件的恢復(fù)操作。非常的簡單。沒有恢復(fù)聯(lián)機重做日志文件?;謴?fù)了所有的數(shù)據(jù)文件和控制文件。提示
20、日志文件比控制文件更新。非歸檔模式下面下的完全恢復(fù)歸檔模式下的完全恢復(fù)在歸檔模式下面,如果控制文件和聯(lián)機重做日志文件都沒有損壞,而只是數(shù)據(jù)文件損壞,并且只要存在備份以及自從該備份以來所有的歸檔日志文件,就能夠把數(shù)據(jù)庫完全恢復(fù)到發(fā)生介質(zhì)損壞的那個時間點上,通過recover命令實現(xiàn)恢復(fù)操作如果所有控制文件損壞,或者整個聯(lián)機重做日志文件丟失,或者自從上次備份以來丟失了某個歸檔日志文件,則需要進(jìn)行不完全恢復(fù)因此對于控制文件、聯(lián)機重做日志文件、歸檔日志文件,一定要注意保存好歸檔模式下面的完全恢復(fù)分為三個階段數(shù)據(jù)庫級別數(shù)據(jù)文件級別表空間級別如果恢復(fù)整個數(shù)據(jù)庫,則需要將數(shù)據(jù)庫啟動到mount狀態(tài)如果恢復(fù)某
21、個數(shù)據(jù)文件或者恢復(fù)某個表空間,則可以在數(shù)據(jù)庫打開狀態(tài)下進(jìn)行當(dāng)發(fā)出recover命令時,oracle會從所有被還原的數(shù)據(jù)文件頭中選擇一個最小的檢查點SCN號以及日志序列號,從該日志序列號所指定的日志文件開始,向后依次開始應(yīng)用所有的重做記錄,直到每個數(shù)據(jù)文件頭部的檢查點SCN達(dá)到控制文件中所記錄的數(shù)據(jù)文件檢查點SCN為止,所有日志文件的序列號必須連貫,不能中斷。在恢復(fù)數(shù)據(jù)文件的時候,必須以獨占的方式鎖定被恢復(fù)的數(shù)據(jù)文件數(shù)據(jù)文件聯(lián)機或者正在被恢復(fù),都不能進(jìn)行恢復(fù)好處1、只需要恢復(fù)受損的數(shù)據(jù)文件2、如果不是system或者undo表空間損壞,那么可以在數(shù)據(jù)庫打開的情況下進(jìn)行恢復(fù)兩個重要的視圖v$rec
22、over_file:哪些數(shù)據(jù)文件需要恢復(fù)v$recovery_log:為了完全恢復(fù)受損的數(shù)據(jù)文件,需要哪些日志文件三種恢復(fù)方式1、recover database,關(guān)閉數(shù)據(jù)庫使用如果系統(tǒng)表空間或者undo表空間所有數(shù)據(jù)文件損壞2、recover tablespace 非系統(tǒng)表空間、undo表空間損壞時建議使用這種方式需要首先將受損的表空間離線3、recover datafile 同上面的命令都是在數(shù)據(jù)庫打開和關(guān)閉的時候使用在恢復(fù)數(shù)據(jù)的過程中,會使用到數(shù)據(jù)文件、控制文件、聯(lián)機重做日志文件、歸檔日志文件前三者都是聯(lián)機的,后者是脫機的,因此在應(yīng)用到歸檔日志文件的時候,數(shù)據(jù)庫往往會提示輸入歸檔日志的目
23、錄,一般來說,我們可能將歸檔日志備份到另外一個位置,然后刪除當(dāng)前位置的歸檔日志,但是通常不去改變他的名字。如果我們將要恢復(fù)的歸檔日志放在了一個不同的位置,我們在恢復(fù)的時候,可以手工的指定位置,也可以通過設(shè)置下面的參數(shù),讓系統(tǒng)在我們指定的目錄里面自動尋找因為歸檔日志很多,我們在應(yīng)用的時候,不希望都去指定,希望將歸檔日志都放在一個目錄里面,通過指定參數(shù),讓oracle在恢復(fù)的時候,自動的去尋找歸檔日志,自動的去應(yīng)用。將數(shù)據(jù)庫改成歸檔模式。數(shù)據(jù)庫進(jìn)行恢復(fù),自動尋找歸檔日志的方法有三種前提:將需要的歸檔日志集中存放在一個目錄里面,然后設(shè)置了正確的dest路徑1、2、恢復(fù)時提示我們輸入日志文件的路徑,輸
24、入auto即可,oracle會自動搜索日志文件進(jìn)行應(yīng)用3、sqlrecover automatic datafile 4,直接自動進(jìn)行恢復(fù)完全恢復(fù)的四種方法1、數(shù)據(jù)庫打開狀態(tài),系統(tǒng)表空間和undo表空間未損壞,其他表空間損壞清空buffer cahche系統(tǒng)提示數(shù)據(jù)文件損壞。突然發(fā)現(xiàn)在歸檔模式下面沒有備份數(shù)據(jù)庫。只能恢復(fù)數(shù)據(jù)庫到冷備時刻。將冷備的控制文件、數(shù)據(jù)文件都拷貝到指定目錄。啟動報錯。提示聯(lián)機重做日志文件有問題,因為我們在冷備的時候沒有備份聯(lián)機重做日志文件。數(shù)據(jù)庫恢復(fù),但只是恢復(fù)到上次冷備的時刻。數(shù)據(jù)庫還是非歸檔模式。設(shè)置為歸檔將所有的備份刪除。對users表空間進(jìn)行了備份。在users
25、表空間上進(jìn)行了操作。模擬了日志的歸檔。對日志文件進(jìn)行了歸檔的備份。故障出現(xiàn)。將表空間offline將所有歸檔日志所在的目錄改成歸檔目錄。我們也可以采用這樣的方式,不改變歸檔目錄,但是將所有的需要的歸檔日志拷貝到歸檔目錄中,總之就是將歸檔日志放在數(shù)據(jù)庫能夠找到的地方數(shù)據(jù)文件頭部的SCN,當(dāng)初發(fā)出begin backup命令時,數(shù)據(jù)文件頭部的SCN控制文件中記錄的數(shù)據(jù)文件的檢查點SCN,出問題時的SCN是454751,offline時的檢查點是455656.因為備份已經(jīng)恢復(fù)、歸檔已經(jīng)設(shè)置,聯(lián)機和控制文件都沒有問題。2、數(shù)據(jù)庫處于關(guān)閉狀態(tài),系統(tǒng)表空間和undo表空間損壞。日常的操作備份system數(shù)
26、據(jù)庫要使用自動恢復(fù),就需要設(shè)置好歸檔日志所在的目錄。模擬故障。只啟動到mount數(shù)據(jù)庫正在運行,undo表空間損壞。沒有報錯,使用的應(yīng)該是system的回滾段,因為用戶是sys。改變用戶后馬上報錯。重建失敗。只能進(jìn)行恢復(fù)。重新進(jìn)行模擬上面的故障對四個表空間進(jìn)行了備份。模擬一個故障報錯,提示undotbs1錯誤備份拷貝回來?;謴?fù)undo表空間不能在數(shù)據(jù)庫打開狀態(tài)下進(jìn)行。關(guān)閉數(shù)據(jù)庫將undo在線。問題解決。數(shù)據(jù)庫在打開的情況下,system表空間崩潰?;謴?fù)備份文件System自動聯(lián)機。Undo和system表空間的損壞都需要重啟數(shù)據(jù)庫進(jìn)行修復(fù)。數(shù)據(jù)庫關(guān)閉,非system和undo表空間損壞運行中突
27、然掉電,一個數(shù)據(jù)文件損壞還原備份文件。只要是控制文件、聯(lián)機重做日志文件沒有損壞、歸檔日志全,數(shù)據(jù)文件有備份,恢復(fù)就非常的簡單。不管你是什么故障。數(shù)據(jù)文件沒有備份,具有自創(chuàng)建該數(shù)據(jù)文件以來所有的歸檔日志文件創(chuàng)建了一個數(shù)據(jù)文件,就需要立即進(jìn)行備份,如果該文件丟失,又沒有備份,該如何處理,只能從歸檔日志中進(jìn)行恢復(fù)。添加了一個數(shù)據(jù)文件給users表空間,給表test15分配extent的時候,手工指定使用user02.dbf文件。數(shù)據(jù)文件出現(xiàn)故障。創(chuàng)建該文件的SCN將5號文件離線是的SCN因為該文件被刪除,所以文件頭部的SCN是0因為沒有備份該文件,所以重建該文件。文件的SCN是當(dāng)時文件創(chuàng)建時的SCN
28、。不完全恢復(fù)的場合1、進(jìn)行完全恢復(fù)的時候,在應(yīng)用歸檔日志的過程中,丟失了其中一個或者多個歸檔日志文件,因此我們只能將數(shù)據(jù)庫不完全恢復(fù)到丟失的最早的那個歸檔日志文件為止2、丟失了整個聯(lián)機重做日志文件組,而該聯(lián)機重做日志文件還沒有完成歸檔3、用戶誤刪除了表里的數(shù)據(jù),或誤刪除了表,或誤刪除了某個重要的用戶,要恢復(fù)被誤刪除的數(shù)據(jù),可以通過不完全恢復(fù),將數(shù)據(jù)庫恢復(fù)到誤操作之前的時間點4、當(dāng)前控制文件全部丟失,并使用了備份的控制文件進(jìn)行恢復(fù),這時進(jìn)行的不完全恢復(fù),但是只要所有的歸檔日志、聯(lián)機重做日志文件都在,仍然能夠恢復(fù)所有的數(shù)據(jù)不完全恢復(fù)有下面的兩個前提1、具有所有數(shù)據(jù)文件的備份,并且該備份是在要恢復(fù)到
29、的時間點之前做的,例如要恢復(fù)到11:00點,那么備份就需要是11:00之前做的2、具有從備份完成的時間點開始,到要恢復(fù)的時間點之間的所有歸檔文件三種類型的不完全恢復(fù)1、基于時間點的不完全恢復(fù)(time-based),恢復(fù)到指定的,歷史上的某個時間點為止recover database until time yyyy-mm-dd hh24:mi:ss;2、基于撤銷的不完全恢復(fù)(cancel-based),恢復(fù)到我們輸入cancel命令時為止,這通常用于丟失聯(lián)機重做日志文件或歸檔日志文件,當(dāng)恢復(fù)到丟失的日志文件的時候,只能輸入cancel命令,表示恢復(fù)到此為止recover database un
30、til cancel3、基于SCN號的不完全恢復(fù)(change-based),恢復(fù)到我們指定的、歷史上的某個SCN,從本質(zhì)上來說,這與基于時間的不完全恢復(fù)一樣,除非我們能夠確定要恢復(fù)到SCN號,否則建議使用基于時間點的恢復(fù)recover database until cancel scn 建議在進(jìn)行不完全恢復(fù)之前,將整個數(shù)據(jù)庫進(jìn)行冷備份,備份所有的數(shù)據(jù)文件、控制文件、聯(lián)機重做日志文件,萬一恢復(fù)失敗,我們還能夠?qū)F(xiàn)場徹底還原到進(jìn)行不完全恢復(fù)之前的狀態(tài)或者至少歸檔當(dāng)前的聯(lián)機日志文件、備份當(dāng)前控制文件alter system archive log currentalter database bac
31、kup controlfile to 不完全恢復(fù)之前,應(yīng)該檢查alter.ora,可能從中找出誤操作的一些有關(guān)時間和SCN方面的信息不完全恢復(fù)的步驟1、關(guān)閉數(shù)據(jù)庫,可以使用shutdown abort2、從備份中還原所有的數(shù)據(jù)文件,整個數(shù)據(jù)庫所有數(shù)據(jù)文件都恢復(fù),因為SCN要整體推進(jìn)到要恢復(fù)的時間點上,數(shù)據(jù)庫要能夠打開,所有數(shù)據(jù)文件頭部記錄的SCN號要一致3、將數(shù)據(jù)庫啟動到mount狀態(tài)4、選擇一種不完全恢復(fù)類型(time、cancel、change)5、以resetlogs選項打開數(shù)據(jù)庫,一旦使用了resetlogs選項打開數(shù)據(jù)庫,則說明以后所有的重做記錄不再需要,同時,數(shù)據(jù)庫的日志序列號從1
32、開始在oracle 10g數(shù)據(jù)庫之前,如果我們以resetlogs方式打開數(shù)據(jù)庫以后,沒有做數(shù)據(jù)庫的全備份,一旦再次發(fā)生介質(zhì)損壞,導(dǎo)致數(shù)據(jù)文件的丟失,那么我們只能使用發(fā)出resetlogs之前的所做的備份進(jìn)行恢復(fù),最多只能恢復(fù)到發(fā)出resetlogs時這個時間點上,從而導(dǎo)致以resetlogs選項打開數(shù)據(jù)庫以后,所有的數(shù)據(jù)變化丟失因此,一旦resetlog打開數(shù)據(jù)庫以后,第一個工作就是全備整個的數(shù)據(jù)庫到了Oracle10g之后,應(yīng)用日志的算法有了改變,我們能夠做到利用發(fā)出resetlogs之前做的備份,發(fā)出resetlogs之前的歸檔日志文件,發(fā)出resetlogs之后的歸檔日志、當(dāng)前的聯(lián)機重
33、做日志文件,將數(shù)據(jù)庫恢復(fù)到發(fā)出resetlogs之后介質(zhì)損壞的那個時間點上備份Resetlogs打開數(shù)據(jù)庫重做記錄不再需要,日志序列號從1開始10g之前Oracle 10g之前,對數(shù)據(jù)庫進(jìn)行不完全恢復(fù),需要對數(shù)據(jù)文件的狀態(tài)進(jìn)行查看v$datafile1、確認(rèn)所有的必要的數(shù)據(jù)文件都是在線的2、只有使用了normal選項進(jìn)行表空間離線的表空間、或只讀表空間所對應(yīng)的數(shù)據(jù)文件可以不需要在線的3、如果不完全恢復(fù)期間,數(shù)據(jù)文件是離線的,那么他將不能夠被恢復(fù)4、如果表空間使用immediate進(jìn)行了離線,同時,在使用resetlogs選項進(jìn)行打開數(shù)據(jù)庫以后,該數(shù)據(jù)文件仍然處于離線狀態(tài),那么該表空間需要被舍棄
34、,并且重新創(chuàng)建,因為該文件需要使用resetlogs以前的日志進(jìn)行介質(zhì)恢復(fù)恢復(fù)后的數(shù)據(jù)文件使用日志進(jìn)行不完全恢復(fù)日志應(yīng)用到此為止,使用resetlogs打開數(shù)據(jù)庫這段日志不需要再應(yīng)用了從日志序列號1開始記錄新的日志,這些日志是有用的使用resetlogs打開數(shù)據(jù)庫以后,從resetlogs以后的一段重做記錄確認(rèn)不再使用了,打開數(shù)據(jù)庫以后,操作正常進(jìn)行,產(chǎn)生新的日志,對于現(xiàn)在這個數(shù)據(jù)庫來說,新產(chǎn)生的日志是有意義的,從日志序列號1開始,resetlogs以前的日志不能夠應(yīng)用現(xiàn)在的數(shù)據(jù)庫中了,現(xiàn)在的數(shù)據(jù)庫已經(jīng)不認(rèn)識了,因為我們又從1開始了,以前的1已經(jīng)不認(rèn)識了。使用normal選項使某個數(shù)據(jù)文件離線
35、,離線以前,oracle會發(fā)出文件級別的檢查點,從而喚醒DBWn將內(nèi)存中屬于該文件的所有臟數(shù)據(jù)塊寫入數(shù)據(jù)文件,并且控制文件中檢查點SCN與數(shù)據(jù)文件一致。即便是在不完全恢復(fù)期間該數(shù)據(jù)文件仍然保持離線狀態(tài)的話,也可以在不完全恢復(fù)成功以后,再將該文件在線,由于該文件不需要介質(zhì)恢復(fù),所以oracle可以直接將數(shù)據(jù)文件頭的SCN修改成當(dāng)前SCN關(guān)鍵是在數(shù)據(jù)文件online的時候,控制文件中記錄的SCN和數(shù)據(jù)文件頭部的SCN是一致的,那么說明數(shù)據(jù)文件不需要進(jìn)行介質(zhì)恢復(fù),因此可以直接online執(zhí)行依次checkpoint,對數(shù)據(jù)文件頭部和控制文件中的SCN和結(jié)束SCN進(jìn)行了更新??刂莆募杏涗浀臄?shù)據(jù)文件的
36、檢查點信息數(shù)據(jù)文件頭部的檢查點一定是540159,而數(shù)據(jù)文件offline時的系統(tǒng)檢查點分別是540282和540285,下一次數(shù)據(jù)文件online的時候,需要執(zhí)行介質(zhì)恢復(fù)。備份數(shù)據(jù)文件數(shù)據(jù)文件immediate offlineResetlogs打開數(shù)據(jù)庫的點文件在這個點online重做記錄一直到這個點請問這個點的數(shù)據(jù)文件能夠online嗎?對新添加的數(shù)據(jù)文件進(jìn)行了備份。對temp表空間沒有進(jìn)行備份。默認(rèn)的永久表空間不能刪除。正在操作中,DBA做了一個錯誤的操作,將表空間刪除了。我們需要將數(shù)據(jù)恢復(fù)到出問題的那個時刻。需要進(jìn)行不完全恢復(fù)。表空間被刪除以后,繼續(xù)進(jìn)行正常操作,產(chǎn)生了一些數(shù)據(jù)。通過查
37、看備份,我們確認(rèn)所有數(shù)據(jù)文件都有備份,不是同一個時刻,而且temp沒有備份,所有歸檔還都在。通過日志,發(fā)現(xiàn)12:29:40發(fā)生了誤刪除,我們恢復(fù)到提前一秒鐘備份當(dāng)前所有的數(shù)據(jù)文件、控制文件、聯(lián)機重做日志文件恢復(fù)所有的數(shù)據(jù)文件這些數(shù)據(jù)文件都不是同一個時刻備份的。但都是出事前備份的。發(fā)現(xiàn)已經(jīng)沒有6號文件了。發(fā)現(xiàn)6號數(shù)據(jù)文件還是沒有回來。6號數(shù)據(jù)文件回來了。發(fā)現(xiàn)6號數(shù)據(jù)文件的名字不對。對文件名字進(jìn)行修改。數(shù)據(jù)文件需要校正。數(shù)據(jù)回來了,但是因為是不完全恢復(fù),還是丟失了部分?jǐn)?shù)據(jù)?;赟CN的恢復(fù)和基于時間的恢復(fù)一樣,只不過基于SCN的恢復(fù)更加精確。前提都是1、控制文件沒有損壞、聯(lián)機文件沒有損壞、歸檔日志
38、文件沒有損壞我們有意識的將數(shù)據(jù)庫恢復(fù)到過去的某個點,例如為了恢復(fù)誤刪除對于聯(lián)機重做日志文件和歸檔日志文件的丟失,我們通常使用基于cancel的不完全恢復(fù),下面的實驗就是刪除聯(lián)機重做日志文件后的恢復(fù)2號日志文件組為當(dāng)前的聯(lián)機重做日志文件組,將它刪除數(shù)據(jù)庫在進(jìn)行正常的操作Current日志文件組被刪除。關(guān)閉數(shù)據(jù)庫備份所有的數(shù)據(jù)文件、聯(lián)機重做日志文件、控制文件還原所有的數(shù)據(jù)文件,這些數(shù)據(jù)文件是在不同的時期備份的啟動到mount狀態(tài),打開控制文件。當(dāng)恢復(fù)到SCN564007的時候,系統(tǒng)報錯,而這個文件正是我們刪除的聯(lián)機重做日志文件。使用auto再次執(zhí)行,輸入cancel,打開數(shù)據(jù)庫。SCN564007
39、以后的所有的數(shù)據(jù)庫的改變都會丟失。因此丟失聯(lián)機重做日志文件是一件很可怕的事情。特別是丟失當(dāng)前正在使用的聯(lián)機日志文件組。聯(lián)機日志文件自動回來了。但是丟失了數(shù)據(jù)。丟失所有控制文件時的恢復(fù),可以使用兩種方法1、使用以前備份的控制文件2、創(chuàng)建新的控制文件使用以前備份的控制文件1、創(chuàng)建表t21、t22,以便使用備份的控制文件進(jìn)行完全恢復(fù)以后仍然存在刪除所有控制文件。關(guān)閉數(shù)據(jù)庫備份整個數(shù)據(jù)庫將備份的控制文件恢復(fù)到相應(yīng)位置,不要恢復(fù)數(shù)據(jù)文件提示找不到控制文件修改pfile,在dbs目錄下面,注意名字和創(chuàng)建日期。發(fā)現(xiàn)控制文件中的SCN比數(shù)據(jù)文件頭部的SCN要舊。系統(tǒng)使用完了歸檔日志文件,要使用聯(lián)機重做日志文件,因為使用的是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高速公路ETC系統(tǒng)升級改造合同
- 2025年度智能物流平臺合作返點合同范本4篇
- 2025年度現(xiàn)代農(nóng)業(yè)設(shè)施承攬合同補充協(xié)議4篇
- 2025年度油氣儲罐安全檢測與改造合同4篇
- 2025年10kv線路施工綠色環(huán)保與節(jié)能減排合同3篇
- 2025年度智能車位租賃合同轉(zhuǎn)讓協(xié)議書(全新版)4篇
- 2024年車輛購銷合同示范文本
- 2025年度智能儲煤場租賃管理服務(wù)合同4篇
- 2024礦用設(shè)備租賃合同
- 2025年度城市更新改造項目承包合同簽約與歷史文化保護(hù)協(xié)議(2024版)3篇
- 2024年??谑羞x調(diào)生考試(行政職業(yè)能力測驗)綜合能力測試題及答案1套
- 六年級數(shù)學(xué)質(zhì)量分析及改進(jìn)措施
- 一年級下冊數(shù)學(xué)口算題卡打印
- 2024年中科院心理咨詢師新教材各單元考試題庫大全-下(多選題部分)
- 真人cs基于信號發(fā)射的激光武器設(shè)計
- 【閱讀提升】部編版語文五年級下冊第三單元閱讀要素解析 類文閱讀課外閱讀過關(guān)(含答案)
- 四年級上冊遞等式計算練習(xí)200題及答案
- 法院后勤部門述職報告
- 2024年國信證券招聘筆試參考題庫附帶答案詳解
- 道醫(yī)館可行性報告
- 視網(wǎng)膜中央靜脈阻塞護(hù)理查房課件
評論
0/150
提交評論