Oracle 數(shù)據(jù)庫(kù)備份與恢復(fù)的理論基礎(chǔ)
Oracle數(shù)據(jù)庫(kù)為什么能夠?qū)崿F(xiàn)安全、穩(wěn)定的運(yùn)行狀態(tài),因?yàn)樗粌H具有靈活的運(yùn)行功能,它還是一 種系統(tǒng)性的關(guān)系數(shù)據(jù)庫(kù)。但隨著計(jì)算機(jī)系統(tǒng)不斷出現(xiàn)一些故障問(wèn)題,如軟硬件問(wèn)題、通訊問(wèn)題、操作問(wèn)題等,導(dǎo)致一些數(shù)據(jù)出現(xiàn)丟失、損壞的現(xiàn)象越來(lái)越嚴(yán)重。所以 為了解決這一丟失現(xiàn)象的嚴(yán)重發(fā)生,在本文與討論中就要加強(qiáng)對(duì)Oracle數(shù)據(jù)庫(kù)問(wèn)題的解決。
1.Oracle數(shù)據(jù)庫(kù)的介紹
Oracle 數(shù)據(jù)庫(kù)這種管理系統(tǒng)是一種關(guān)系型的數(shù)據(jù)庫(kù)。Oracle數(shù)據(jù)庫(kù)這種關(guān)系系統(tǒng)在運(yùn)行中具有比較好的移植性,在使用期間方便、快捷,而且功能性也比較強(qiáng),它在 各種微機(jī)環(huán)境下都能適用。所以它對(duì)于數(shù)據(jù)庫(kù)來(lái)說(shuō),是一種可靠的、效率比較高的、適用性比較強(qiáng)的解決方案[1]。Oracle數(shù)據(jù)庫(kù)具有一個(gè)完整的、系統(tǒng) 的、處于世界地位水平之上的數(shù)據(jù)管理功能,它在數(shù)據(jù)庫(kù)管理功能中進(jìn)行處理的方向上實(shí)現(xiàn)了分布式管理,在進(jìn)行更合理的運(yùn)用和創(chuàng)造過(guò)程中,就要進(jìn)行系統(tǒng)的學(xué)習(xí) 和研究,從而掌握Oracle在各個(gè)機(jī)型中相關(guān)的技術(shù)知識(shí)。Oracle數(shù)據(jù)庫(kù)在功能管理中有很多特點(diǎn),這種完整性的數(shù)據(jù)管理系統(tǒng)在應(yīng)用中能夠?qū)⒋罅康臄?shù) 據(jù)合理的進(jìn)行解決和處理,實(shí)現(xiàn)數(shù)據(jù)的長(zhǎng)期保存,還能進(jìn)行數(shù)據(jù)的實(shí)時(shí)共享,從而保證數(shù)據(jù)在應(yīng)用中的安全、可靠性。Oracle這項(xiàng)技術(shù)的產(chǎn)生已經(jīng)開(kāi)始應(yīng)用到 各個(gè)領(lǐng)域,特別對(duì)于一些計(jì)算機(jī)專(zhuān)業(yè)的畢業(yè)生具有較大的就業(yè)前景,主要具有兩方面的優(yōu)勢(shì)。一方面,Oracle這項(xiàng)技術(shù)的就業(yè)面比較廣,這項(xiàng)技術(shù)應(yīng)用在各個(gè) 企業(yè)單位與相關(guān)政府機(jī)構(gòu),在金融行業(yè)、電信行業(yè)以及政府中的發(fā)展更久遠(yuǎn)、發(fā)展的目標(biāo)更強(qiáng)大。另一方面,選擇的職業(yè)方向也更多,學(xué)好Oracle這項(xiàng)技術(shù)以 及將它應(yīng)用在對(duì)數(shù)據(jù)的管理方向上、對(duì)系統(tǒng)的開(kāi)發(fā)方向上、對(duì)數(shù)據(jù)模型的建立方向上等
2.Oracle數(shù)據(jù)庫(kù)的備份模式
Oracle 數(shù)據(jù)庫(kù)在備份方式上主要有三種標(biāo)準(zhǔn)模式。分別為脫機(jī)備份、聯(lián)機(jī)備份以及邏輯備份。脫機(jī)備份與聯(lián)機(jī)備份這兩種模式都屬于物理備份,它在進(jìn)行分化過(guò)程中是通過(guò) 數(shù)據(jù)庫(kù)的工作模式來(lái)完成的。脫機(jī)備份也成冷備份,它屬于非歸檔模式的一種;而聯(lián)機(jī)備份與之相反,它又稱(chēng)熱備份,這是企業(yè)常用的一種備份方式,通常使用 RMAN備份工具,制定備份策略,定期備份,屬于歸檔模式的一種。這兩種模式在Oracle數(shù)據(jù)庫(kù)的物理備份中同屬于一種模式[2]。這兩種物理備份在數(shù) 據(jù)庫(kù)分析中只是針對(duì)文件進(jìn)行的,對(duì)一些邏輯主要內(nèi)容并不考慮。對(duì)于邏輯備份來(lái)說(shuō),這種備份方式是實(shí)現(xiàn)文件的形式拷貝,是導(dǎo)入與導(dǎo)出兩種備份模式的產(chǎn)生,是 文件進(jìn)行讀取與文件寫(xiě)入的兩種方式,由于它們所處的位置不同,所以在讀取與引入中產(chǎn)生的數(shù)據(jù)不同,所以者三種備份方式在操作系統(tǒng)中比較重要。
2.1脫機(jī)備份
脫 機(jī)備份在操作系統(tǒng)中,主要是通過(guò)拷貝技術(shù)來(lái)進(jìn)行的,如果數(shù)據(jù)庫(kù)出現(xiàn)關(guān)閉期間,都可以將數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)進(jìn)行復(fù)制,從而保障因故障產(chǎn)生丟失數(shù)據(jù)的現(xiàn)象。這 種拷貝技術(shù)還可以還原數(shù)據(jù)庫(kù)中的文件,從而保障文件在運(yùn)行中的穩(wěn)定狀態(tài)。數(shù)據(jù)庫(kù)中的這些文件也可以進(jìn)行全部備份,特別是數(shù)據(jù)庫(kù)中的所有文件、控制文件、數(shù) 據(jù)庫(kù)在運(yùn)行中的日志文件[3]。但脫機(jī)備份在備份期間要注意到,必須將數(shù)據(jù)庫(kù)關(guān)閉才能進(jìn)行備份,如果沒(méi)有關(guān)機(jī)就進(jìn)行備份,執(zhí)行的數(shù)據(jù)庫(kù)文件就不能有效的實(shí) 現(xiàn)備份。具體的脫機(jī)備份方式在操作過(guò)程中必須要在系統(tǒng)能夠提供的服務(wù)管理器下運(yùn)行,首先要關(guān)閉正常的備份,然后將整個(gè)數(shù)據(jù)庫(kù)備份到一個(gè)目錄或文件夾中,最 后啟動(dòng)數(shù)據(jù)庫(kù)。實(shí)現(xiàn)的脫機(jī)備份方式速度比較快,歸檔的方式也比較方便,但在備份期間,數(shù)據(jù)庫(kù)只能進(jìn)行備份,并不能實(shí)現(xiàn)其他的數(shù)據(jù)庫(kù)任務(wù)。
2.2聯(lián)機(jī)備份
聯(lián) 機(jī)備份是在沒(méi)有用戶(hù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪(fǎng)問(wèn)時(shí)進(jìn)行備份的,它是一種不一致備份方式,是在數(shù)據(jù)庫(kù)文件與控制文件讀取期間進(jìn)行的不一致備份。因?yàn)橛行?shù)據(jù)庫(kù)在運(yùn)行中 是不能進(jìn)行關(guān)機(jī)的,在這種情況下要進(jìn)行數(shù)據(jù)的備份模式,就要對(duì)數(shù)據(jù)文件進(jìn)行不一致的者表空間。聯(lián)機(jī)備份在形成方式上主要有完全備份與增量備份,對(duì)于完全備 份來(lái)說(shuō),它是一種集中備份的數(shù)據(jù)模式,但不包括那些不常使用的數(shù)據(jù)。如果在歸檔期間進(jìn)行備份時(shí),日志文件與控制文件發(fā)生重做現(xiàn)象,這期間數(shù)據(jù)庫(kù)服務(wù)器就會(huì) 備份所有的文件。對(duì)于增量備份來(lái)說(shuō),它只對(duì)已經(jīng)被修改的文件進(jìn)行備份。聯(lián)機(jī)備份在數(shù)據(jù)文件與空間上進(jìn)行備份實(shí)現(xiàn)的速度比較快,用戶(hù)不需要關(guān)機(jī)就能執(zhí)行備 份。但聯(lián)機(jī)備份在進(jìn)行期間,要實(shí)現(xiàn)良好的備份表空間狀態(tài),就要將原來(lái)的狀態(tài)實(shí)施恢復(fù),從而保障數(shù)據(jù)庫(kù)再進(jìn)行啟動(dòng)時(shí)免受覆蓋的現(xiàn)象。
2.3邏輯備份
邏 輯備份主要是導(dǎo)入與導(dǎo)出兩種數(shù)據(jù)庫(kù)模式。對(duì)于數(shù)據(jù)庫(kù)的導(dǎo)出來(lái)說(shuō),Oracle中的程序用來(lái)讀取和輸出的,它可以將數(shù)據(jù)庫(kù)中保存的信息導(dǎo)出到指定的位置。邏 輯備份在操作方式中主要有三種情況,一種在導(dǎo)出中要對(duì)指定的表進(jìn)行備份,一種在導(dǎo)出中利用全庫(kù)方式對(duì)所有的對(duì)象進(jìn)行備份,另外一種在導(dǎo)出中將用戶(hù)要指定的 所有數(shù)據(jù)進(jìn)行備份。在導(dǎo)入數(shù)據(jù)庫(kù)過(guò)程中,由于它是一種逆過(guò)程所以要先將導(dǎo)出文件進(jìn)行讀取,然后才能恢復(fù)數(shù)據(jù)庫(kù)。
3.Oracle數(shù)據(jù)庫(kù)的備份研究
3.1管理好備份中所需要的儲(chǔ)存介質(zhì)
為 了防止原有的備份數(shù)據(jù)庫(kù)丟失,在備份期間就要管理好所需要的儲(chǔ)存介質(zhì),可以將備份中的主要內(nèi)容、日期以及介質(zhì)的編號(hào)進(jìn)行整理和分類(lèi),以免在恢復(fù)時(shí)弄錯(cuò)介 質(zhì)。對(duì)需要的儲(chǔ)存介質(zhì)進(jìn)行備份,為了避免在實(shí)際工作中出現(xiàn)損害的現(xiàn)象,最好備份兩份以上,如果發(fā)生這種數(shù)據(jù)丟失現(xiàn)象還可以利用另一份將數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。已 經(jīng)備份好的儲(chǔ)存介質(zhì)還要與計(jì)算機(jī)設(shè)備放在不同的地方,以防止因意外事故發(fā)生影響計(jì)算機(jī)損壞。
3.2設(shè)置好數(shù)據(jù)庫(kù)的歸檔模式
當(dāng) 數(shù)據(jù)庫(kù)在NonArchiveLog模式運(yùn)行期間,要實(shí)現(xiàn)一致性的數(shù)據(jù)庫(kù)備份方式,在備份期間一定要先關(guān)閉,不能運(yùn)用聯(lián)機(jī)中對(duì)日志的存檔進(jìn)行重作,在數(shù)據(jù) 庫(kù)恢復(fù)的時(shí)候只能恢復(fù)到最近的一次備份點(diǎn),以免在Oracle數(shù)據(jù)庫(kù)失敗期間還可以將最近的數(shù)據(jù)庫(kù)進(jìn)行備份。當(dāng)數(shù)據(jù)庫(kù)在ArchiveLog模式運(yùn)行期 間,不僅要對(duì)數(shù)據(jù)庫(kù)實(shí)現(xiàn)一致性備份,還要對(duì)數(shù)據(jù)庫(kù)的打開(kāi)情況進(jìn)行備份,這種情況下要運(yùn)用聯(lián)機(jī)備份方式。這種備份數(shù)據(jù)庫(kù)的聯(lián)機(jī)方式、日志文件的存檔重作方 式,不僅能使用戶(hù)在提交上恢復(fù)了所有的數(shù)據(jù),保證日志在時(shí)間與系列號(hào)處的恢復(fù)和整理,而且利用歸檔模式下的有效備份,可以將數(shù)據(jù)庫(kù)恢復(fù)到某一個(gè)時(shí)間點(diǎn),還 使數(shù)據(jù)在恢復(fù)中增加了靈活效果,防止故障發(fā)生期間導(dǎo)致數(shù)據(jù)的丟失現(xiàn)象。
3.3備份多個(gè)控制文件
根據(jù)數(shù) 據(jù)庫(kù)控制文件的多元化,在Oracle數(shù)據(jù)庫(kù)備份與恢復(fù)過(guò)程中,要實(shí)現(xiàn)控制文件的多個(gè)備份方式,主要表現(xiàn)在兩個(gè)方面。一方面,對(duì)多個(gè)控制文件進(jìn)行備份主要 利用在不同的物理磁盤(pán)上,因?yàn)榭刂莆募跀?shù)據(jù)庫(kù)備份方式上,主要是運(yùn)用Oracle數(shù)據(jù)庫(kù)來(lái)引導(dǎo)的,所以實(shí)現(xiàn)多個(gè)控制文件的備份方式,不僅能夠使物理磁盤(pán) 在發(fā)生故障期間得到有效的保障,還能使其他的控制文件在運(yùn)營(yíng)上實(shí)現(xiàn)數(shù)據(jù)庫(kù)的恢復(fù)處理。另一方面,進(jìn)行定期的聯(lián)機(jī)備份操作,主要對(duì)備份的數(shù)據(jù)庫(kù)文件、控制文 件以及歸檔日志文件。在備份對(duì)數(shù)據(jù)庫(kù)文件期間,備份的頻率、恢復(fù)數(shù)據(jù)的時(shí)間具有明顯的差異,如果數(shù)據(jù)庫(kù)文件在備份時(shí)發(fā)生的頻率比較高,在恢復(fù)數(shù)據(jù)庫(kù)過(guò)程 時(shí),日志信息改變的也就越少,所恢復(fù)的時(shí)間也就越短。
4.Oracle數(shù)據(jù)庫(kù)的恢復(fù)
數(shù)據(jù)庫(kù)在恢復(fù)中的 實(shí)現(xiàn)技術(shù),它在恢復(fù)過(guò)程中。首先,將數(shù)據(jù)庫(kù)恢復(fù)到原有備份狀態(tài)上,然后,根據(jù)已經(jīng)備份好的數(shù)據(jù),在日志事物中進(jìn)行歸檔和重做,從而使副本文件更新到失敗之 前的數(shù)據(jù)庫(kù)狀態(tài)?;謴?fù)數(shù)據(jù)庫(kù)這種方法的利用主要分析存在的問(wèn)題,本文從實(shí)例恢復(fù)與介質(zhì)恢復(fù)兩種方式[7]上進(jìn)行闡述。
4.1實(shí)例和崩潰恢復(fù)
對(duì) 于實(shí)例故障的恢復(fù)來(lái)說(shuō),它經(jīng)常出現(xiàn)的故障現(xiàn)象是由于電源問(wèn)題導(dǎo)致的服務(wù)器不可用現(xiàn)象、由于CPU出現(xiàn)的故障問(wèn)題、由于內(nèi)在故障問(wèn)題以及Oracle數(shù)據(jù)庫(kù) 在后臺(tái)運(yùn)行中出現(xiàn)的故障問(wèn)題。這種恢復(fù)方式為了使數(shù)據(jù)庫(kù)更準(zhǔn)確、一致,不僅可以將所有數(shù)據(jù)輸入到數(shù)據(jù)文件中,還可以將所有沒(méi)有提及到的數(shù)據(jù)以及事物回退 掉,在進(jìn)行實(shí)例恢復(fù)期間,整個(gè)過(guò)程都是利用Oracle系統(tǒng)來(lái)完成的,它改變了人力在數(shù)據(jù)庫(kù)上的執(zhí)行操作,實(shí)現(xiàn)了自動(dòng)化的系統(tǒng)模式。進(jìn)行實(shí)例和崩潰恢復(fù)的 主要目的,主要將失敗的實(shí)例實(shí)現(xiàn)緩存、重做線(xiàn)程,它在已經(jīng)記錄的、關(guān)閉的信息中來(lái)實(shí)現(xiàn)的。這種方式在運(yùn)行中是一種自動(dòng)化、重做信息的接受方式,如果 Oracle系統(tǒng)在內(nèi)部中出現(xiàn)實(shí)例和崩潰故障,它能夠?qū)崿F(xiàn)自動(dòng)數(shù)據(jù)的恢復(fù),而不需要人為來(lái)實(shí)施操作。
4.2介質(zhì)恢復(fù)
介 質(zhì)恢復(fù)這種操作方式是Oracle數(shù)據(jù)庫(kù)在使用管理中常見(jiàn)的,這種形式主要是數(shù)據(jù)文件的介質(zhì)恢復(fù)與塊介質(zhì)恢復(fù)[8]。對(duì)于數(shù)據(jù)文件的介質(zhì)恢復(fù)來(lái)說(shuō),它主要 對(duì)發(fā)生損壞與丟失期間的數(shù)據(jù)進(jìn)行恢復(fù),也能對(duì)不使用OfflineNormal選項(xiàng)離線(xiàn)進(jìn)行恢復(fù)。在一般情況下,由于實(shí)例恢復(fù)與介質(zhì)恢復(fù)在數(shù)據(jù)文件中能夠 保證數(shù)據(jù)庫(kù)的完整性,所以對(duì)數(shù)據(jù)文件進(jìn)行介質(zhì)恢復(fù)期間,不僅需要還原以前的受損文件、使用歸檔和在線(xiàn)進(jìn)行重作日志,還需要利用人工直接干預(yù)、需要將數(shù)據(jù)庫(kù) 中的錯(cuò)誤介質(zhì)自動(dòng)啟動(dòng)以及將Oracle系統(tǒng)內(nèi)部中的控制進(jìn)行恢復(fù)等。對(duì)于塊介質(zhì)恢復(fù)來(lái)說(shuō),由于它是運(yùn)用RMAN進(jìn)行的一種獨(dú)特介質(zhì)恢復(fù)系統(tǒng)。當(dāng)數(shù)據(jù)庫(kù)處 于可用在線(xiàn)期間就要還原數(shù)據(jù)塊;如果數(shù)據(jù)文件中部分?jǐn)?shù)據(jù)塊處于限制、損壞狀態(tài),就要進(jìn)行故障解決。
隨著系統(tǒng)化技術(shù)的不斷發(fā)展變化,
下一篇:ORACLE 數(shù)據(jù)庫(kù)序列創(chuàng)建、RMAN使用和參數(shù)文件故障解決