97超级碰碰碰久久久_精品成年人在线观看_精品国内女人视频免费观_福利一区二区久久

淺談ORACLE數(shù)據(jù)庫中的備份與恢復(fù)

  • 相關(guān)推薦

淺談ORACLE數(shù)據(jù)庫中的備份與恢復(fù)

  備份與恢復(fù)是我們使用數(shù)據(jù)庫中不可缺少的部分,也是我們在使用數(shù)據(jù)庫時會經(jīng)常碰到的問題,當(dāng)我們使用一個數(shù)據(jù)庫時,總希望數(shù)據(jù)庫的內(nèi)容是可靠的、正確的,但由于計算機系統(tǒng)的故障(硬件故障、軟件故障、網(wǎng)絡(luò)故障、進(jìn)程故障和系統(tǒng)故障)影響數(shù)據(jù)庫系統(tǒng)的操作,影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至破壞數(shù)據(jù)庫,使數(shù)據(jù)庫中全部或部分?jǐn)?shù)據(jù)丟失。因此當(dāng)發(fā)生上述故障后,希望能重新建立一個完整的數(shù)據(jù)庫,該處理稱為數(shù)據(jù)庫恢復(fù);謴(fù)子系統(tǒng)是數(shù)據(jù)庫管理系統(tǒng)的一個重要組成部分。恢復(fù)處理隨所發(fā)生的故障類型所影響的結(jié)構(gòu)而變化。

  1.恢復(fù)數(shù)據(jù)庫所使用的結(jié)構(gòu)

  ORACLE數(shù)據(jù)庫使用幾種結(jié)構(gòu)對可能故障來保護數(shù)據(jù):數(shù)據(jù)庫后備、日志、回滾段和控制文件。

  數(shù)據(jù)庫后備是由構(gòu)成Oracle數(shù)據(jù)庫的物理文件的操作系統(tǒng)后備所組成。當(dāng)介質(zhì)故障時進(jìn)行數(shù)據(jù)庫恢復(fù),利用后備文件恢復(fù)毀壞的數(shù)據(jù)文件或控制文件。

  日志,每一個Oracle數(shù)據(jù)庫實例都提供,記錄數(shù)據(jù)庫中所作的全部修改。一個實例的日志至少由兩個日志文件組成,當(dāng)實例故障或介質(zhì)故障時進(jìn)行數(shù)據(jù)庫部分恢復(fù),利用數(shù)據(jù)庫日志中的改變應(yīng)用于數(shù)據(jù)文件,修改數(shù)據(jù)庫數(shù)據(jù)到故障出現(xiàn)的時刻。數(shù)據(jù)庫日志由兩部分組成:在線日志和歸檔日志。

  每一個運行的Oracle數(shù)據(jù)庫實例相應(yīng)地有一個在線日志,它與Oracle后臺進(jìn)程LGWR一起工作,立即記錄該實例所作的全部修改。在線日志由兩個或多個預(yù)期分配的文件組成,以循環(huán)方式使用。

  歸檔日志是可選擇的,一個Oracle數(shù)據(jù)庫實例一旦在線日志填滿后,可形成在線日志的歸檔文件。歸檔的在線日志文件被唯一標(biāo)識并合成歸檔日志。

  回滾段用于存儲正在進(jìn)行的事務(wù)(為未提交的事務(wù))所修改值的老值,該信息在數(shù)據(jù)庫恢復(fù)過程中用于撤消任何非提交的修改。

  控制文件,一般用于存儲數(shù)據(jù)庫的物理結(jié)構(gòu)的狀態(tài)?刂莆募心承顟B(tài)信息在實例恢復(fù)和介質(zhì)恢復(fù)期間用于引導(dǎo)Oracle。

  2.在線日志

  一個Oracle數(shù)據(jù)庫的每一實例有一個相關(guān)聯(lián)的在線日志。一個在線日志由多個在線日志文件組成。在線日志文件填入日志項,日志項記錄的數(shù)據(jù)用于重構(gòu)對數(shù)據(jù)庫所作的全部修改。后臺進(jìn)程LGWR以循環(huán)方式寫入在線日志文件。當(dāng)當(dāng)前的在線日志文件寫滿后,LGWR寫入到下一可用在線日志文件當(dāng)最后一個可用的在線日志文件的檢查點已完成時即可使用。如果歸檔不實施,一個已填滿的在線日志文件一當(dāng)包含該在線日志文件的檢查點完成,該文件已被歸檔后即可使用。在任何時候,僅有一個在線日志文件被寫入存儲日志項,它被稱為活動的或當(dāng)前在線日志文件,其它的在線日志文件為不活動的在線日志文件。

  Oracle結(jié)束寫入一在線日志文件并開始寫入到另一個在線日志文件的點稱為日志開關(guān)。日志開關(guān)在當(dāng)前在線日志文件完全填滿,必須繼續(xù)寫入到下一個在線日志文件時總出現(xiàn),也可由DBA強制日志開關(guān)。每一日志開關(guān)出現(xiàn)時,每一在線日志文件賦給一個新的日志序列號。如果在線日志文件被歸檔,在歸檔日志文件中包含有它的日志序列號。

  檢查點機制:當(dāng)檢查點出現(xiàn)時,檢查點后臺進(jìn)程記住寫入在線文件的下一日志行的位置,并通知數(shù)據(jù)庫寫后臺進(jìn)程將SGA中修改的數(shù)據(jù)庫緩沖區(qū)寫入到磁盤上的數(shù)據(jù)文件。然后由CKPT修改全部控制文件和數(shù)據(jù)文件的標(biāo)頭,反映該最后檢查點。當(dāng)檢查點不發(fā)生,DBWR當(dāng)需要時僅將最近最少使用的數(shù)據(jù)庫緩沖區(qū)寫入磁盤,為新數(shù)據(jù)準(zhǔn)備緩沖區(qū)。

  3.歸檔日志

  Oracle要將填滿的在線日志文件組歸檔時,則要建立歸檔日志,或稱離線日志。其對數(shù)據(jù)庫后備和恢復(fù)有下列用處:

  數(shù)據(jù)庫后備以及在線和歸檔日志文件,在操作系統(tǒng)或磁盤故障中可保證全部提交的事務(wù)可被恢復(fù)。

  在數(shù)據(jù)庫打開時和正常系統(tǒng)使用下,如果歸檔日志是永久保持,在線后備可以進(jìn)行和使用。

  如果用戶數(shù)據(jù)庫要求在任何磁盤故障的事件中不丟失任何數(shù)據(jù),那么歸檔日志必須要存在。歸檔已填滿的在線日志文件可能需要DBA執(zhí)行額外的管理操作。

  歸檔機制:決定于歸檔設(shè)置,歸檔已填滿的在線日志組的機制可由Oracle后臺進(jìn)程ARCH自動歸檔或由用戶進(jìn)程發(fā)出語句手工地歸檔。當(dāng)日志組變?yōu)椴换顒、日志開關(guān)指向下一組已完成時,ARCH可歸檔一組,可存取該組的任何或全部成員,完成歸檔組。在線日志文件歸檔之后才可為LGWR重用。當(dāng)使用歸檔時,必須指定歸檔目標(biāo)指向一存儲設(shè)備,它不同于個有數(shù)據(jù)文件、在線日志文件和控制文件的設(shè)備,理想的是將歸檔日志文件永久地移到離線存儲設(shè)備、如磁帶。

  數(shù)據(jù)庫可運行在兩種不同方式下:NOARCHIVELOG方式或ARCHIVELOG方式。數(shù)據(jù)庫在NOARCHIVELOG方式下使用時,不能進(jìn)行在線日志的歸檔。在該數(shù)據(jù)庫控制文件指明填滿的組不需要歸檔,所以一當(dāng)填滿的組成為活動,在日志開關(guān)的檢查點完成,該組即可被LGWR重用。在該方式下僅能保護數(shù)據(jù)庫實例故障,不能保護介質(zhì)(磁盤)故障。利用存儲在在線日志中的信息,可實現(xiàn)實例故障恢復(fù)。

  4.數(shù)據(jù)庫后備

  不管為ORACLE數(shù)據(jù)庫設(shè)計成什么樣的后備或恢復(fù)模式,數(shù)據(jù)庫數(shù)據(jù)文件、日志文件和控制文件的操作系統(tǒng)后備是絕對需要的,它是保護介質(zhì)故障的策略部分。操作系統(tǒng)后備有完全后備和部分后備

  完全后備:一個完全后備將構(gòu)成ORACLE數(shù)據(jù)庫的全部數(shù)據(jù)庫文件、在線日志文件和控制文件的一個操作系統(tǒng)后備。一個完全后備在數(shù)據(jù)庫正常關(guān)閉之后進(jìn)行,不能在實例故障后進(jìn)行。在此時,所有構(gòu)成數(shù)據(jù)庫的全部文件是關(guān)閉的,并與當(dāng)前點相一致。在數(shù)據(jù)庫打開時不能進(jìn)行完全后備。由完全后備得到的數(shù)據(jù)文件在任何類型的介質(zhì)恢復(fù)模式中是有用的。

  部分后備

  部分后備為除完全后備外的任何操作系統(tǒng)后備,可在數(shù)據(jù)庫打開或關(guān)閉下進(jìn)行。如單個表空間中全部數(shù)據(jù)文件后備、單個數(shù)據(jù)文件后備和控制文件后備。部分后備僅對在ARCHIVELOG方式下運行數(shù)據(jù)庫有用,因為存在的歸檔日志,數(shù)據(jù)文件可由部分后備恢復(fù)。在恢復(fù)過程中與數(shù)據(jù)庫其它部分一致。

  5.數(shù)據(jù)庫恢復(fù)

  實例故障的恢復(fù)

  當(dāng)實例意外地(如掉電、后臺進(jìn)程故障等)或預(yù)料地(發(fā)出SHUTDOUM ABORT語句)中止時出現(xiàn)實例故障,此時需要實例恢復(fù)。實例恢復(fù)將數(shù)據(jù)庫恢復(fù)一故障之前的事務(wù)一致狀態(tài)。如果在在線后備發(fā)現(xiàn)實例故障,則需介質(zhì)恢復(fù)。在其它情況Oracle在下次數(shù)據(jù)庫起動時(對新實例裝配和打開),自動地執(zhí)行實例恢復(fù)。如果需要,從裝配狀態(tài)變?yōu)榇蜷_狀態(tài),自動地激發(fā)實例恢復(fù),由下列處理:

  (1)為了解恢復(fù)數(shù)據(jù)文件中沒有記錄的數(shù)據(jù),進(jìn)行向前滾。該數(shù)據(jù)記錄在在線日志,包括對回滾段的內(nèi)容恢復(fù)。

  (2)回滾未提交的事務(wù),按步1重新生成回滾段所指定的操作。

  (3)釋放在故障時正在處理事務(wù)所持有的資源。

  (4)解決在故障時正經(jīng)歷一階段提交的任何懸而未決的分布事務(wù)。

【淺談ORACLE數(shù)據(jù)庫中的備份與恢復(fù)】相關(guān)文章:

淺談手工備份QQ數(shù)據(jù)的方法07-02

MySQL數(shù)據(jù)庫備份守則和方法04-22

職業(yè)素養(yǎng)的Oracle數(shù)據(jù)庫課程考試改革論文07-03

用PE如何恢復(fù)電腦系統(tǒng)備份06-28

淺談面試中的溝通能力07-04

淺談職場中的應(yīng)酬技巧06-28

如何iTunes備份07-10

如何備份QQ?07-13

淺談古詩教學(xué)中的環(huán)境教育07-02

淺談肌理在雕塑創(chuàng)作中的作用07-03