Oracle數(shù)據(jù)庫講義第五章_第1頁
Oracle數(shù)據(jù)庫講義第五章_第2頁
Oracle數(shù)據(jù)庫講義第五章_第3頁
Oracle數(shù)據(jù)庫講義第五章_第4頁
Oracle數(shù)據(jù)庫講義第五章_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

講義Oracle數(shù)據(jù)庫2005.8李明俊第五章Oracle數(shù)據(jù)庫備份與恢復(fù)本章內(nèi)容5.1數(shù)據(jù)庫常見故障類型5.2數(shù)據(jù)庫保護(hù)機(jī)制5.3數(shù)據(jù)庫邏輯備份與恢復(fù)5.4脫機(jī)備份(冷備份)5.5聯(lián)機(jī)備份(熱備份)5.6數(shù)據(jù)庫恢復(fù)5.7小結(jié)一個(gè)應(yīng)用系統(tǒng)投入運(yùn)行后,數(shù)據(jù)的安全變得非常重要,數(shù)據(jù)的丟失直接給企業(yè)帶來不可估量的經(jīng)濟(jì)損失,因此,一定要重視數(shù)據(jù)的備份與恢復(fù)。DBA的主要職責(zé)之一是備份數(shù)據(jù)庫和在數(shù)據(jù)庫發(fā)生故障時(shí)高效、安全地恢復(fù)數(shù)據(jù)庫。備份方法冷備份熱備份恢復(fù)方法完全恢復(fù)不完全恢復(fù)5.1數(shù)據(jù)庫常見故障類型系統(tǒng)崩潰或服務(wù)器崩潰用戶錯(cuò)誤、沖突或者磁盤失效導(dǎo)致的文件丟失SQL語句失敗網(wǎng)絡(luò)故障場(chǎng)地災(zāi)難5.2數(shù)據(jù)庫保護(hù)機(jī)制Oracle數(shù)據(jù)庫保護(hù)機(jī)制:數(shù)據(jù)庫備份和事務(wù)日志。

Oracle數(shù)據(jù)庫事務(wù)日志數(shù)據(jù)庫備份數(shù)據(jù)庫備份一般來說,數(shù)據(jù)庫備份可以分為物理備份和邏輯備份。物理備份一般是指脫機(jī)備份,脫機(jī)備份又稱為冷備份,只能在數(shù)據(jù)庫關(guān)閉后進(jìn)行備份。邏輯備份也叫做聯(lián)機(jī)備份,聯(lián)機(jī)備份又稱為熱備份,是使用Export實(shí)用程序備份,當(dāng)數(shù)據(jù)庫出現(xiàn)故障,可以使用Oracle的Import實(shí)用程序恢復(fù)數(shù)據(jù)庫。歸檔(archivelog)模式下聯(lián)機(jī)備份。聯(lián)機(jī)重做日志被歸檔,主要備份歸檔日志文件。5.3數(shù)據(jù)庫邏輯備份與恢復(fù)數(shù)據(jù)庫邏輯備份:讀一個(gè)數(shù)據(jù)庫記錄集,并以O(shè)racle提供的內(nèi)部格式寫入一個(gè)二進(jìn)制文件中。這些記錄的讀出與其物理位置無關(guān)。在Oracle中,Export實(shí)用程序執(zhí)行邏輯備份。使用Oracle的Import實(shí)用程序執(zhí)行數(shù)據(jù)庫恢復(fù)。當(dāng)用戶導(dǎo)入導(dǎo)出時(shí),有相應(yīng)的權(quán)限要求。在PL/SQL中,可以使用圖形界面執(zhí)行數(shù)據(jù)庫的導(dǎo)入和導(dǎo)出。5.3.1導(dǎo)出邏輯備份也叫熱備份。在數(shù)據(jù)庫正常運(yùn)行中,把數(shù)據(jù)卸載下來按文件方式存放到磁盤中。備份導(dǎo)出命令EXP主要選項(xiàng)File—卸載后數(shù)據(jù)的文件名Direct—直接讀取數(shù)據(jù),不通過Select語句Full—卸出完整數(shù)據(jù)Rows=n—不卸出數(shù)據(jù),只卸出庫結(jié)構(gòu)Compress—合并碎塊進(jìn)行壓縮Buffer—在內(nèi)存中開辟緩沖區(qū)的大小可以通過如下命令來顯示參數(shù)EXPHELP=Y①全數(shù)據(jù)庫方式卸載EXPsystem/口令@主機(jī)字符串file=文件名direct=yfull=y[rows=n]compress=ybuffer=128000000例:EXPsystem/xmanager@wfile=E:\oradate.dmpdirect=yfull=ycompress=ybuffer=128000000②表空間方式卸載EXPsystem/口令@主機(jī)字符串file=文件名tablespaces=表空間名[rows=n]compress=ydirect=ybuffer=128000000例:EXPsystem/xmanager@wfile=e:\user_tabspace.dmptablespaces=userscompress=ydirect=ybuffer=128000000

③用戶方式卸卸載EXP用戶戶名/口令@主機(jī)字符串串file=文件名[rows=n]direct=ycompress=ybuffer=128000000例:EXPscott/tiger@Lfile=f:\scott_table.dmpcompress=ydirect=ybuffer=128000000④表方式卸載載EXP用戶戶名/口令@主機(jī)字符串串file=文件名tables=表名compress=ydirect=ybuffer=128000000例:EXPsam/sam@Wfile=f:\spml_table.dmptables=T_spmlcompress=ydirect=ybuffer=1280000005.3.2導(dǎo)導(dǎo)入一旦數(shù)據(jù)已經(jīng)經(jīng)導(dǎo)出,就可可以通過Oracle的的Import實(shí)用程序序執(zhí)行導(dǎo)入,,來恢復(fù)數(shù)據(jù)據(jù)庫。Import實(shí)用用程序讀取由由Export創(chuàng)建的二二進(jìn)制導(dǎo)出轉(zhuǎn)轉(zhuǎn)儲(chǔ)文件并執(zhí)執(zhí)行其中的命命令。IMPUSERID=username/password……可以通過如下下命令來顯示示參數(shù)IMPHELP=Y導(dǎo)出的數(shù)據(jù)可可以導(dǎo)入到不不同的數(shù)據(jù)庫庫中,可以導(dǎo)導(dǎo)入全部或部部分已導(dǎo)出的的數(shù)據(jù)。通過EXP和和IMP可以以把一個(gè)用戶戶的表復(fù)制到到另一個(gè)用戶戶中,也可以以通過Grant語句和和Create語句把一一個(gè)用戶的表表復(fù)制到另一一個(gè)用戶中。。例:impsystem/managerTOUSER=scotttables=t_spmlfile=sam.dmp交互式導(dǎo)入過過程如:①對(duì)全數(shù)據(jù)庫庫卸出和表空空間卸出的文文件,導(dǎo)入命命令格式為E:>IMPsystem/口令令@主機(jī)字符符串②對(duì)用戶和數(shù)數(shù)據(jù)表方式卸卸出的文件,,導(dǎo)入命令格格式為E:\IMP用戶名/口令@主機(jī)機(jī)字符串下面是實(shí)際操操作例子。輸入命令備份文件名輸入Yes缺省缺省缺省缺省設(shè)置緩沖區(qū)5.4脫脫機(jī)備份(冷冷備份)脫機(jī)備份是最最簡(jiǎn)單的一種種數(shù)據(jù)庫備份份方式,在數(shù)數(shù)據(jù)庫關(guān)閉后后進(jìn)行備份,,用戶不能訪訪問數(shù)據(jù)庫,,是一種完全全備份。脫機(jī)備份一般般需要備份如如下文件:(1)所有數(shù)數(shù)據(jù)文件(2)所有控控制文件(3)所有聯(lián)聯(lián)機(jī)重做日志志(4)init.ora文件(5)系統(tǒng)文文件(1)關(guān)閉數(shù)數(shù)據(jù)庫SHUTDOWNNORMAL;或者執(zhí)行SHUTDOWNIMMEDIATE;(2)復(fù)制數(shù)數(shù)據(jù)文件用拷貝命令備備份全部的數(shù)數(shù)據(jù)文件、重重做日志文件件、控制文件件、初始化參參數(shù)文件等。。簡(jiǎn)單的處理方方法是將數(shù)據(jù)據(jù)庫所在路徑徑下的文件全全部復(fù)制備份份。在下面是是試驗(yàn)機(jī)房機(jī)機(jī)器中所用數(shù)數(shù)據(jù)庫Oracle的目目錄是:D:\Oracle\oradata\Oracle92把上述目錄下下的所有文件件進(jìn)行備份。(3)重新啟啟動(dòng)數(shù)據(jù)庫STARTUP;脫機(jī)備份的優(yōu)優(yōu)點(diǎn):只需要拷貝文文件,速度比比較快。將文件拷貝回回去,數(shù)據(jù)庫庫就可以恢復(fù)復(fù)到某個(gè)時(shí)間間點(diǎn)。若結(jié)合數(shù)據(jù)庫庫歸檔模式可可以很好地恢恢復(fù)數(shù)據(jù)庫。。維護(hù)量相對(duì)較較少,但安全全性相對(duì)較高高。脫機(jī)備份的缺缺點(diǎn):脫機(jī)備份時(shí),,數(shù)據(jù)庫必須須關(guān)閉。單獨(dú)使用脫機(jī)機(jī)備份,數(shù)據(jù)據(jù)庫只能基于于某一時(shí)間點(diǎn)點(diǎn)恢復(fù)。脫機(jī)備份不能能按表或用戶戶恢復(fù)。5.5聯(lián)聯(lián)機(jī)備份(熱熱備份)聯(lián)機(jī)備份是在在數(shù)據(jù)庫運(yùn)行行時(shí)進(jìn)行的聯(lián)機(jī)備份要求數(shù)據(jù)庫運(yùn)行在歸檔(archivelog)模式下,該方式下,聯(lián)機(jī)重做日志被歸檔,數(shù)據(jù)庫中所有事務(wù)的完整記錄由Oracle以循環(huán)方式寫入聯(lián)機(jī)重做日志文件。聯(lián)機(jī)備份一般備份數(shù)據(jù)文件、控制文件和日志文件。(1)備份所有數(shù)據(jù)文件(2)備份所有歸檔的重做日志文件(3)備份一個(gè)控制文件(4)檢查發(fā)生故障的數(shù)據(jù)文件,恢復(fù)數(shù)據(jù)文件聯(lián)機(jī)備份的優(yōu)優(yōu)點(diǎn):可在表空間或或數(shù)據(jù)文件級(jí)級(jí)備份,備份份時(shí)間短。備份時(shí)數(shù)據(jù)庫庫仍可使用。??蛇_(dá)到秒級(jí)恢恢復(fù)(恢復(fù)到到某一時(shí)間點(diǎn)點(diǎn)上)??蓪?duì)幾乎所有有數(shù)據(jù)庫實(shí)體體作恢復(fù)?;謴?fù)快速,大大多數(shù)情況下下恢復(fù)不需要要關(guān)閉數(shù)據(jù)庫庫。5.6數(shù)數(shù)據(jù)庫恢復(fù)恢復(fù)可以分為為完全恢復(fù)和和不完全恢復(fù)復(fù)完全數(shù)據(jù)庫恢恢復(fù)是恢復(fù)到到故障發(fā)生前前的狀態(tài),所所有已經(jīng)提交交的操作都進(jìn)進(jìn)行恢復(fù),確確保數(shù)據(jù)庫不不丟失任何數(shù)數(shù)據(jù),完全恢恢復(fù)只用于歸歸檔模式。不完全數(shù)據(jù)庫庫恢復(fù)是將數(shù)數(shù)據(jù)庫恢復(fù)到到備份點(diǎn)與介介質(zhì)失敗點(diǎn)之之間某個(gè)時(shí)刻刻的狀態(tài),并并不是恢復(fù)所所有提交的操操作,不完全全恢復(fù)可能丟丟失部分?jǐn)?shù)據(jù)據(jù)。任何類型的恢恢復(fù)包括兩個(gè)個(gè)階段:前滾滾階段和回滾滾(回退)階階段。前滾階段在前滾恢復(fù)階階段(roll-forwardrecovery),恢復(fù)管理器器應(yīng)用必要的的事務(wù)日志組組“重做”((REDO))所有提交的的不在數(shù)據(jù)庫庫數(shù)據(jù)文件中中的事務(wù)。?;貪L階段在前滾恢復(fù)后后,Oracle必須執(zhí)執(zhí)行回滾恢復(fù)復(fù)(roll-backrecovery))。由于一些未完完成的事務(wù)對(duì)對(duì)數(shù)據(jù)庫的修修改信息已經(jīng)經(jīng)提交到數(shù)據(jù)據(jù)庫,為保證證數(shù)據(jù)庫的一一致性,需要要清除這些事事務(wù)對(duì)數(shù)據(jù)庫庫的修改,數(shù)數(shù)據(jù)庫應(yīng)執(zhí)行行回滾操作(UNDO)),強(qiáng)制撤銷這這些未完成事事務(wù)。前滾和回滾的的執(zhí)行除了管管理員或應(yīng)用用程序調(diào)用外外,執(zhí)行前滾滾操作還是回回滾操作與檢檢查點(diǎn)的出現(xiàn)現(xiàn)相關(guān)12345檢查點(diǎn)系統(tǒng)故障上一檢查點(diǎn)無前滾回滾前滾回滾故障時(shí)需要的動(dòng)作5.6.2實(shí)實(shí)例故故障的一致性性恢復(fù)當(dāng)數(shù)據(jù)據(jù)庫實(shí)實(shí)例意意外地地(如如掉電電、后后臺(tái)進(jìn)進(jìn)程故故障等等)或或預(yù)料料地((發(fā)出出shutdownabort語句句)終終止時(shí)時(shí)出現(xiàn)現(xiàn)實(shí)例例故障障,此此時(shí)需需要實(shí)實(shí)例恢恢復(fù)。。實(shí)例恢恢復(fù)將將數(shù)據(jù)據(jù)庫恢恢復(fù)到到故障障前的的事務(wù)務(wù)一致致狀態(tài)態(tài)。如果聯(lián)聯(lián)機(jī)備備份時(shí)時(shí)出現(xiàn)現(xiàn)實(shí)例例故障障,則則需要要介質(zhì)質(zhì)恢復(fù)復(fù)。在其它它情況況下,,Oracle在下次次數(shù)據(jù)據(jù)庫起起動(dòng)時(shí)時(shí)(對(duì)對(duì)新實(shí)實(shí)例裝裝配和和打開開),,自動(dòng)動(dòng)地執(zhí)執(zhí)行實(shí)實(shí)例恢恢復(fù)。?;謴?fù)步步驟處處理(1))為恢恢復(fù)數(shù)數(shù)據(jù)文文件中中沒有有記錄錄的數(shù)數(shù)據(jù),,進(jìn)行行前滾滾。數(shù)數(shù)據(jù)記記錄在在聯(lián)機(jī)(2)回滾未提交的事務(wù)。(3)釋放在故障時(shí)正在處理事務(wù)所持有的資源。(4)解決在故障時(shí)執(zhí)行的任何懸而未決的分布事務(wù)。5.6.3崩崩潰潰恢復(fù)復(fù)電源失失效和和軟件件問題題是引引起一一臺(tái)Oracle數(shù)數(shù)據(jù)庫庫服務(wù)務(wù)器出出現(xiàn)意當(dāng)系統(tǒng)崩潰時(shí),數(shù)據(jù)庫服務(wù)器沒有完全關(guān)閉。在系統(tǒng)崩潰期間,Oracle沒有時(shí)間執(zhí)行數(shù)據(jù)庫檢查點(diǎn)以確保緩存中被修改的數(shù)據(jù)塊安全地寫回到數(shù)據(jù)文件中。系統(tǒng)崩潰不會(huì)永久損壞任何一個(gè)數(shù)據(jù)庫的數(shù)據(jù)文件。5.6.4介質(zhì)恢復(fù)介質(zhì)故障是當(dāng)一個(gè)文件、一個(gè)文件的部分、磁盤不能讀或不能寫時(shí)出現(xiàn)的故障,介質(zhì)故障后,必須執(zhí)行一個(gè)介質(zhì)恢復(fù)操作。在一個(gè)典型的介質(zhì)恢復(fù)期間,必須完成以下幾步操作:(1)修理所有的硬件問題(2)重建丟失的數(shù)據(jù)文件(3)使用必要的事務(wù)日志組,完成恢復(fù)操作(4)執(zhí)行一個(gè)適當(dāng)?shù)慕橘|(zhì)恢復(fù)5.6.4完完全全恢復(fù)復(fù)完全恢恢復(fù)是是一種種恢復(fù)復(fù)所有有提交交事務(wù)務(wù)的操操作,,恢復(fù)復(fù)全部部丟失失的修修改完全恢復(fù)包括數(shù)據(jù)庫恢復(fù)、表空間恢復(fù)和數(shù)據(jù)文件恢復(fù)。數(shù)據(jù)庫恢復(fù)數(shù)據(jù)庫恢復(fù)是恢復(fù)數(shù)據(jù)庫中所有丟失工作的最簡(jiǎn)單的方法,用于恢復(fù)數(shù)據(jù)庫的全部數(shù)據(jù)文件,恢復(fù)管理器識(shí)別受損的數(shù)據(jù)文件并且使用恢復(fù)目錄、可用的數(shù)據(jù)文件備份集和事務(wù)日志來執(zhí)行自動(dòng)恢復(fù)。執(zhí)行數(shù)據(jù)庫恢復(fù),應(yīng)當(dāng)關(guān)閉數(shù)據(jù)庫,使其不可使用表空間恢復(fù)當(dāng)一個(gè)數(shù)據(jù)庫的部分被損壞,并且需要高可用性時(shí),可以考慮使用表空間恢復(fù)。對(duì)特定表空間的全部數(shù)據(jù)文件中丟失的工作進(jìn)行恢復(fù)。但是,如果系統(tǒng)表空間損壞了,不能執(zhí)行系統(tǒng)表空間的恢復(fù)工作。數(shù)據(jù)文文件恢恢復(fù)當(dāng)一個(gè)個(gè)單獨(dú)獨(dú)的數(shù)數(shù)據(jù)文文件損損壞,,可以以考慮慮數(shù)據(jù)據(jù)文件件恢復(fù)復(fù),可可用于于一個(gè)個(gè)特定定數(shù)據(jù)據(jù)文5.7.6不完全恢復(fù)在一些情況下,可以執(zhí)行不完全恢復(fù),使用事務(wù)日志的重做項(xiàng)恢復(fù)提交事務(wù)的一部分工作,重構(gòu)受損的數(shù)據(jù)庫,使其恢復(fù)介質(zhì)故障前或用戶出錯(cuò)之前的一個(gè)事務(wù)一致性狀態(tài)。Oracle和恢復(fù)管理器支持三種不同類型的不完全恢復(fù)基于時(shí)間(TIME)的恢復(fù)基于修改(SCN)的恢復(fù)基于取消的恢復(fù)。

5.7小小結(jié)結(jié)數(shù)據(jù)庫庫的常常見故故障主主要有有:系系統(tǒng)崩崩潰或或服務(wù)務(wù)器崩崩潰,,用戶戶錯(cuò)誤誤、沖沖突或或者磁磁盤失失效導(dǎo)導(dǎo)致的的文件件丟失失,SQL語句備份(Backup)就是把數(shù)據(jù)庫復(fù)制到磁帶、磁盤等存儲(chǔ)設(shè)備的過程,以供故障發(fā)生時(shí)執(zhí)行數(shù)據(jù)庫恢復(fù)(Recover)。備份的目的是防止不可預(yù)料的錯(cuò)誤和故障導(dǎo)致數(shù)據(jù)丟失和應(yīng)用錯(cuò)誤。Oracle數(shù)據(jù)庫的備份方法有:冷備份、熱備份和邏輯備份(Export/Import)。恢復(fù)方法有:完全恢復(fù)、不完全恢復(fù)、RMAN備份恢復(fù)等方式。Oracle數(shù)據(jù)庫保護(hù)機(jī)制主要有數(shù)據(jù)庫備份、事務(wù)日志。在Oracle中,Export實(shí)用程序就是用來完成邏輯備份。若要使用邏輯備份來恢復(fù)數(shù)據(jù)庫,那么可以使用Oracle的Import實(shí)用程序。當(dāng)用戶導(dǎo)入導(dǎo)出時(shí),有相應(yīng)的權(quán)限要求。脫機(jī)備備份是是最簡(jiǎn)簡(jiǎn)單的的一種種數(shù)據(jù)據(jù)庫備備份方方式,,必須須在數(shù)數(shù)據(jù)庫庫關(guān)閉閉后進(jìn)進(jìn)行備備份,,用戶戶不能能訪問問數(shù)據(jù)據(jù)庫,,是一一種完完全備備份。。脫機(jī)備備份可可以用用于恢恢復(fù)整整個(gè)數(shù)數(shù)據(jù)庫庫,恢恢復(fù)時(shí)時(shí)將備備份的的文件件復(fù)制制回來來,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論