佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Oracle數(shù)據(jù)庫的備份及恢復(fù)策略研究

Oracle數(shù)據(jù)庫的備份及恢復(fù)策略研究

熱門標(biāo)簽:鐵路電話系統(tǒng) Linux服務(wù)器 百度競價排名 呼叫中心市場需求 AI電銷 地方門戶網(wǎng)站 服務(wù)外包 網(wǎng)站排名優(yōu)化
正在看的ORACLE教程是:Oracle數(shù)據(jù)庫的備份及恢復(fù)策略研究?!≌?nbsp;要 恢復(fù)丟失的數(shù)據(jù)庫文件在很大程度上取決于所采用的備份策略。本文從恢復(fù)的靈活性出發(fā),對Oracle8數(shù)據(jù)庫的備份及恢復(fù)策略進(jìn)行了探討,并給出了Windows 2000環(huán)境下使備份過程自動化的腳本文件的項目開發(fā)實例。

  關(guān)鍵詞 Oracle 數(shù)據(jù)庫 備份 恢復(fù)

  引言

  隨著信息系統(tǒng)在各種商務(wù)活動中重要性的不斷增強,維護(hù)系統(tǒng)數(shù)據(jù)的可用性已成為當(dāng)前一個十分重要的課題。為了有效地保持健康的信息系統(tǒng),必須采取一定的措施防止在由介質(zhì)、操作系統(tǒng)、軟件和其它事件導(dǎo)致重要數(shù)據(jù)庫文件嚴(yán)重?fù)p壞的情況下影響RDBMS(關(guān)系數(shù)據(jù)庫管理系統(tǒng)),進(jìn)而影響信息系統(tǒng)的正常運行。這就需要在此類系統(tǒng)失敗的情況履芄患笆?、有效地进行詭螟f指礎(chǔ);指炊У氖菘馕募諍艽蟪潭壬先【鲇謁捎玫謀阜薟唄?,因而本萎€閱殼傲饜械腛racle8數(shù)據(jù)庫的備份及恢復(fù)策略進(jìn)行了探討。

  數(shù)據(jù)庫備份、恢復(fù)的基本規(guī)則

  1、多工聯(lián)機重作日志文件

  每個數(shù)據(jù)庫實例都有其自己的聯(lián)機重作日志組,在操作數(shù)據(jù)庫時,Oracle首先將數(shù)據(jù)庫的全部改變保存在重作日志緩沖區(qū)中,隨后日志記錄器進(jìn)程(LGWR)將數(shù)據(jù)從系統(tǒng)共用區(qū)SGA(System Global Area)的重作日志緩沖區(qū)寫入聯(lián)機重作日志文件,在磁盤崩潰或?qū)嵗r,可以通過與之相關(guān)的聯(lián)機重作日志來保護(hù)數(shù)據(jù)庫,將損失降至最低,但Oracle在默認(rèn)的方式下只創(chuàng)建一組重作日志文件(每一組只有一個項目文件),為了減少丟失這些重要的重作日志文件的危險,因此需要對其進(jìn)行鏡像拷貝。

  在Oracle級多工聯(lián)機重作日志文件,即增加多個文件到每個組以便鏡像數(shù)據(jù),這樣I/O故障或?qū)憗G失只損壞一個拷貝,從而保證了LGWR后臺進(jìn)程至少能夠向一個成員寫入信息,數(shù)據(jù)庫仍然可以繼續(xù)運行。同時應(yīng)保證日志組的成員不應(yīng)駐存在同一物理設(shè)備上,因為這將削弱多重日志文件的作用。

  2、鏡像拷貝控制文件

  控制文件描述通用的數(shù)據(jù)庫結(jié)構(gòu),它存儲了大量數(shù)據(jù)庫狀態(tài)信息,包括物理結(jié)構(gòu)和聯(lián)機重作日志文件在當(dāng)時的名稱、位置、狀態(tài)??刂莆募跀?shù)據(jù)庫啟動時被Oracle實例讀取,保持打開并隨著操作而文件內(nèi)容更新,直到實例關(guān)閉為止。在它打開的過程中能夠同步需要恢復(fù)的信息,包括檢查點信息,因此若損壞或丟失了控制文件,Oracle將不能繼續(xù)工作,因此應(yīng)在系統(tǒng)中保持控制文件的多個拷貝,且這些拷貝應(yīng)置于安裝于不同磁盤控制器下的不同磁盤設(shè)備中。

  由于Oracle沒有提供對控制文件多工的完整支持,因此應(yīng)在對控制文件使用操作系統(tǒng)或硬件鏡像,即在修改初始化文件的control_files參數(shù)后重新啟動數(shù)據(jù)庫前,應(yīng)將控制文件復(fù)制到定義的新位置,否則數(shù)據(jù)庫啟動時將會出錯。

  3、激活歸檔進(jìn)程

  當(dāng)數(shù)據(jù)庫運行于NOARCHIVELOG模式下時,只能在完全關(guān)閉數(shù)據(jù)庫后進(jìn)行數(shù)據(jù)庫的一致備份,并且同時禁用了聯(lián)機重作日志的存檔,這樣在Oracle實例失敗時只能將數(shù)據(jù)庫修復(fù)到最近的完整數(shù)據(jù)庫備份時的那一點上,不能在失效點處對實例進(jìn)行恢復(fù)。而在ARCHIVELOG模式下,數(shù)據(jù)庫不僅可以進(jìn)行一致備份,還可以在數(shù)據(jù)庫打開的情況下進(jìn)行聯(lián)機備份。通過數(shù)據(jù)庫的備份和聯(lián)機與存檔的重作日志文件,用戶可以恢復(fù)所有已提交的事務(wù),并允許將數(shù)據(jù)庫恢復(fù)到指定的時間、SCN或日志系列號處,增大了恢復(fù)的靈活性,減少了故障時的數(shù)據(jù)丟失。因此數(shù)據(jù)庫應(yīng)運行于ARCHIVELOG模式。

  在ARCHIVELOG模式下為了防止文件損壞和介質(zhì)故障,應(yīng)把日志歸檔到不同的磁盤上,這可以通過在初始化文件中為歸檔重作日志指定多個目標(biāo)實現(xiàn)。

  4、數(shù)據(jù)庫實施較大改變時備份

  因為控制文件中保存了數(shù)據(jù)庫的模式結(jié)構(gòu)信息,因此在對數(shù)據(jù)庫進(jìn)行較大改變(包括改變表結(jié)構(gòu),增加、刪除日志文件或數(shù)據(jù)文件等)時應(yīng)立即備份控制文件及相應(yīng)的數(shù)據(jù)文件。

  5、使用RESETLOGS選項打開數(shù)據(jù)庫后進(jìn)行備份

  在以RESETLOGS選項打開數(shù)據(jù)庫后,應(yīng)對整個數(shù)據(jù)庫進(jìn)行脫機或聯(lián)機的備份,否則將不能恢復(fù)重置日志后的改變。

  當(dāng)以RESETLOGS選項打開數(shù)據(jù)庫時,Oracle將拋棄恢復(fù)中沒有應(yīng)用的重復(fù)信息,并確保永遠(yuǎn)不再運用,同時還將初始化控制文件中關(guān)于聯(lián)機日志和重作線程的信息、清除聯(lián)機日志中的內(nèi)容。因此,RESETLOGS前的歸檔日志的序列號將與RESETLOGS后的Oracle控制文件的要求值不相符(備份文件中的檢查點比控制文件中的檢查點舊),即在恢復(fù)中不能應(yīng)用以前的歸檔日志文件,從而導(dǎo)致RESETLOGS操作之前的備份在新形體中無用。

  6、避免備份聯(lián)機重作日志文件 

  由于文中提出了多工聯(lián)機重作日志文件且數(shù)據(jù)庫運行于ARCHIVELOG模式,ARCH進(jìn)程能夠?qū)⒙?lián)機重作日志歸檔,因此不必對其進(jìn)行備份。若用備份的聯(lián)機重作日志文件重建它,可能會引起日志文件序列號的混亂,從而破壞數(shù)據(jù)庫,得到適得其反的結(jié)果。

  7、重置聯(lián)機日志

  在進(jìn)行了不完全恢復(fù)或用備份控制文件進(jìn)行恢復(fù)后,應(yīng)重置聯(lián)機日志。

  為了確保數(shù)據(jù)庫的一致性,必須保證在恢復(fù)后所有數(shù)據(jù)文件都恢復(fù)到同一個時間點,但不完全恢復(fù)可能導(dǎo)致數(shù)據(jù)文件中具有一個與其它文件不同的檢查點,導(dǎo)致數(shù)據(jù)庫的一致性受到破壞。同樣,備份的控制文件中保存的SCN和計數(shù)器與當(dāng)前日志文件中的值可能不同,從而也破壞了數(shù)據(jù)庫的一致性,因此應(yīng)在進(jìn)行完上述兩項操作后重置聯(lián)機日志。

  8、數(shù)據(jù)庫的邏輯備份

  以上所述備份都為物理備份,是實際物理數(shù)據(jù)庫文件從一處拷貝到另一處的備份,除此之外還可使用Oracle提供的導(dǎo)出實用程序進(jìn)行數(shù)據(jù)庫的邏輯備份。Oracle同時還提供了相應(yīng)的導(dǎo)入實用程序重建邏輯備份中保存的信息。

  邏輯備份只拷貝數(shù)據(jù)庫中的數(shù)據(jù),而不記錄數(shù)據(jù)位置的備份過程。它利用SQL語句,從數(shù)據(jù)庫中導(dǎo)出數(shù)據(jù)到一個存放在合適位置的外部文件中,同時并可檢測到數(shù)據(jù)塊的損壞,因此可用其作為物理備份的補充。

  備份策略

  考慮到如今大部分信息系統(tǒng)每周的業(yè)務(wù)是24×7操作,因此采用聯(lián)機備份,否則可每隔一定時間進(jìn)行一次脫機備份。

  應(yīng)用上述規(guī)則,可得出下述典型的備份策略:

 ?、夔R像拷貝重作日志文件;

 ?、阽R像拷貝控制文件;

 ?、奂せ顨w檔進(jìn)程,即以ARCHIVELOG模式操作數(shù)據(jù)庫;

  ④每天進(jìn)行數(shù)據(jù)庫的部分聯(lián)機備份(每天進(jìn)行數(shù)據(jù)庫的完全熱備份將無畏地增加數(shù)據(jù)庫的負(fù)擔(dān)且沒有必要,同時也增加了數(shù)據(jù)庫恢復(fù)時的靈活性);

 ?、菝扛粢恢芑驇字苓M(jìn)行一次數(shù)據(jù)庫的邏輯備份。

  實際項目應(yīng)用

  當(dāng)數(shù)據(jù)庫中的文件達(dá)到一定數(shù)量后,DBA可能記不住該備份的文件的名或位置,因此,若能使備份過程自動化可有效地減輕DBA的負(fù)擔(dān),同時不會遺漏應(yīng)備份的文件,應(yīng)用自動批處理文件及腳本文件可實現(xiàn)備份、恢復(fù)的自動化。下面簡介了在實際項目開發(fā)中應(yīng)用本文所提出的自動備份、恢復(fù)策略,通過實際應(yīng)用,證明了該策略的正確性和可行性。

 ?。?)下述腳本實現(xiàn)聯(lián)機重作日志的多工:


 ?。?)下列VB代碼自動建立聯(lián)機備份的批處理文件及相應(yīng)的腳本文件。


  運行得到的自動批處理文件,即可自動進(jìn)行數(shù)據(jù)庫的聯(lián)機備份。

 ?。?)在從備份中恢復(fù)數(shù)據(jù)文件后,執(zhí)行下列腳本將數(shù)據(jù)庫的恢復(fù)程序。


  結(jié)束語

  提高數(shù)據(jù)庫災(zāi)難后恢復(fù)的可靠性正越來越多地受到人們的關(guān)注,本文根據(jù)個人在實際項目開發(fā)過程中的經(jīng)驗及恢復(fù)時的靈活性對Oracle數(shù)據(jù)庫的備份及恢復(fù)進(jìn)行了探討,并提出了典型的備份策略,用戶可以根據(jù)自己的實際情況及數(shù)據(jù)庫結(jié)構(gòu)在此基礎(chǔ)上靈活應(yīng)用。

您可能感興趣的文章:
  • 探索ORACLE之ASM概念(完整版)
  • oracle中fdisk導(dǎo)致的ASM磁盤數(shù)據(jù)丟失的解決方法
  • Oracle數(shù)據(jù)庫系統(tǒng)緊急故障處理方法
  • 關(guān)于系統(tǒng)重裝后Oracle數(shù)據(jù)庫完全恢復(fù)的解決辦法
  • oracle數(shù)據(jù)庫創(chuàng)建備份與恢復(fù)腳本整理
  • oracle drop table(表)數(shù)據(jù)恢復(fù)方法
  • ORACLE 數(shù)據(jù)庫RMAN備份恢復(fù)
  • Oracle ASM數(shù)據(jù)庫故障數(shù)據(jù)恢復(fù)解決方案

標(biāo)簽:仙桃 崇左 蘭州 湖南 銅川 黃山 湘潭 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle數(shù)據(jù)庫的備份及恢復(fù)策略研究》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    乐业县| 嘉兴市| 六枝特区| 康保县| 缙云县| 石嘴山市| 江安县| 武夷山市| 连江县| 遵义市| 临沂市| 马尔康县| 呼和浩特市| 银川市| 鱼台县| 固原市| 寿宁县| 安龙县| 周至县| 上栗县| 余姚市| 兖州市| 岑溪市| 大埔县| 德昌县| 唐河县| 津市市| 南宁市| 沁阳市| 上犹县| 定州市| 娄底市| 清水河县| 江孜县| 巴东县| 正蓝旗| 潼南县| 上虞市| 溆浦县| 惠东县| 姚安县|