數(shù)據(jù)庫(kù)chapter7(2)_第1頁(yè)
數(shù)據(jù)庫(kù)chapter7(2)_第2頁(yè)
數(shù)據(jù)庫(kù)chapter7(2)_第3頁(yè)
數(shù)據(jù)庫(kù)chapter7(2)_第4頁(yè)
數(shù)據(jù)庫(kù)chapter7(2)_第5頁(yè)
已閱讀5頁(yè),還剩100頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第七章第七章 數(shù)據(jù)庫(kù)恢復(fù)技術(shù)數(shù)據(jù)庫(kù)恢復(fù)技術(shù)( (二二) )數(shù)據(jù)庫(kù)原理及應(yīng)用數(shù)據(jù)庫(kù)原理及應(yīng)用A 數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)是由數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)是由DBMSDBMS統(tǒng)一管理和控制的,統(tǒng)一管理和控制的,為了適應(yīng)數(shù)據(jù)共享的環(huán)境,為了適應(yīng)數(shù)據(jù)共享的環(huán)境,DBMSDBMS必須提供數(shù)據(jù)保護(hù)必須提供數(shù)據(jù)保護(hù)能力,以保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全可靠和正確有效。能力,以保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全可靠和正確有效。 數(shù)據(jù)保護(hù)數(shù)據(jù)保護(hù)安全性完整性并發(fā)控制數(shù)據(jù)庫(kù)恢復(fù)要點(diǎn)要點(diǎn) 故障及其類(lèi)型故障及其類(lèi)型 數(shù)據(jù)庫(kù)恢復(fù)實(shí)現(xiàn)技術(shù)數(shù)據(jù)庫(kù)恢復(fù)實(shí)現(xiàn)技術(shù) 數(shù)據(jù)庫(kù)恢復(fù)策略數(shù)據(jù)庫(kù)恢復(fù)策略目錄目錄數(shù)據(jù)庫(kù)恢復(fù)概述數(shù)據(jù)庫(kù)恢復(fù)概述障的種類(lèi)障的種類(lèi)恢復(fù)的實(shí)現(xiàn)技術(shù)恢復(fù)的

2、實(shí)現(xiàn)技術(shù)恢復(fù)策略恢復(fù)策略具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù)數(shù)據(jù)庫(kù)鏡像數(shù)據(jù)庫(kù)鏡像oracle數(shù)據(jù)庫(kù)備份與恢復(fù)數(shù)據(jù)庫(kù)備份與恢復(fù)小結(jié)小結(jié)7.1 數(shù)據(jù)庫(kù)恢復(fù)概述數(shù)據(jù)庫(kù)恢復(fù)概述 故障是不可避免的故障是不可避免的 系統(tǒng)故障:計(jì)算機(jī)軟、硬件故障 人為故障:操作員的失誤、惡意的破壞等。 故障的影響故障的影響 運(yùn)行事務(wù)非正常中斷 破壞數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)管理系統(tǒng)如何應(yīng)對(duì)這些故障?數(shù)據(jù)庫(kù)管理系統(tǒng)如何應(yīng)對(duì)這些故障? DBMS提供恢復(fù)子系統(tǒng) 保證故障發(fā)生后,能把數(shù)據(jù)庫(kù)中的數(shù)據(jù)從錯(cuò)誤狀態(tài)恢復(fù)到某種邏輯一致的狀態(tài) 保證事務(wù)ACID 恢復(fù)技術(shù)是衡量系統(tǒng)優(yōu)劣的重要指標(biāo)恢復(fù)技術(shù)是衡量系統(tǒng)優(yōu)劣的重要指標(biāo)7.2 故障的種類(lèi)故障的種

3、類(lèi) 事務(wù)故障事務(wù)故障 系統(tǒng)故障系統(tǒng)故障 介質(zhì)故障介質(zhì)故障 計(jì)算機(jī)病毒計(jì)算機(jī)病毒一、事務(wù)故障一、事務(wù)故障 什么是事務(wù)故障?什么是事務(wù)故障? 某個(gè)事務(wù)在運(yùn)行過(guò)程中由于種種原因未運(yùn)行至正常終止點(diǎn)就夭折了。 分類(lèi)分類(lèi) 預(yù)期的:程序進(jìn)行了異常處理的。(見(jiàn)轉(zhuǎn)賬事 務(wù)的例子) 非預(yù)期的:不能由程序處理的,如并發(fā)事務(wù)死鎖。以后,事務(wù)故障僅指這類(lèi)非預(yù)期的故障事務(wù)故障(續(xù))事務(wù)故障(續(xù)) 事務(wù)故障的常見(jiàn)原因事務(wù)故障的常見(jiàn)原因 輸入數(shù)據(jù)有誤 運(yùn)算溢出 違反了某些完整性限制 某些應(yīng)用程序出錯(cuò) 并行事務(wù)發(fā)生死鎖事務(wù)故障(續(xù))事務(wù)故障(續(xù)) 處理? 發(fā)生事務(wù)故障時(shí),夭折的事務(wù)可能已把對(duì)數(shù)據(jù)庫(kù)的部分修改寫(xiě)回磁盤(pán)。 事務(wù)故障

4、的恢復(fù):撤消事務(wù)(UNDO) 強(qiáng)行回滾(ROLLBACK)該事務(wù) 清除該事務(wù)對(duì)數(shù)據(jù)庫(kù)的所有修改,使得這個(gè)事務(wù)象根本沒(méi)有啟動(dòng)過(guò)一樣。二、系統(tǒng)故障二、系統(tǒng)故障 什么是系統(tǒng)故障什么是系統(tǒng)故障? 整個(gè)系統(tǒng)的正常運(yùn)行突然被破壞 所有正在運(yùn)行的事務(wù)都非正常終止 內(nèi)存中數(shù)據(jù)庫(kù)緩沖區(qū)的信息全部丟失 外部存儲(chǔ)設(shè)備上的數(shù)據(jù)未受影響系統(tǒng)故障系統(tǒng)故障(續(xù)續(xù)) 系統(tǒng)故障的常見(jiàn)原因系統(tǒng)故障的常見(jiàn)原因 操作系統(tǒng)或DBMS代碼錯(cuò)誤 操作員操作失誤 特定類(lèi)型的硬件錯(cuò)誤(如CPU故障) 突然停電系統(tǒng)故障系統(tǒng)故障(續(xù)續(xù)) 處理? 清除尚未完成的事務(wù)對(duì)數(shù)據(jù)庫(kù)的所有修改 系統(tǒng)重新啟動(dòng)時(shí),恢復(fù)程序要強(qiáng)行撤消(UNDO)所有未完成事務(wù) 將

5、緩沖區(qū)中已完成事務(wù)提交的結(jié)果寫(xiě)入數(shù)據(jù)庫(kù) 系統(tǒng)重新啟動(dòng)時(shí),恢復(fù)程序需要重做(REDO)所有已提交的事務(wù)三、介質(zhì)故障三、介質(zhì)故障 什么是介質(zhì)故障什么是介質(zhì)故障? 又叫硬故障是指外存故障 硬件故障使存儲(chǔ)在外存中的數(shù)據(jù)部分丟失或全部丟失 介質(zhì)故障比前兩類(lèi)故障的可能性小得多,但破壞性大得多介質(zhì)故障(續(xù))介質(zhì)故障(續(xù)) 硬件故障的常見(jiàn)原因硬件故障的常見(jiàn)原因 磁盤(pán)損壞 磁頭碰撞 瞬時(shí)強(qiáng)磁場(chǎng)干擾介質(zhì)故障(續(xù))介質(zhì)故障(續(xù)) 處理? 裝入數(shù)據(jù)庫(kù)發(fā)生介質(zhì)故障前某個(gè)時(shí)刻的數(shù)據(jù)副本 重做自此開(kāi)始的所有成功事務(wù),將這些事務(wù)已提交的結(jié)果重新記入數(shù)據(jù)庫(kù)四、計(jì)算機(jī)病毒或惡意攻擊四、計(jì)算機(jī)病毒或惡意攻擊 這是一種人為的故障或破

6、壞,是一些惡作劇者研這是一種人為的故障或破壞,是一些惡作劇者研制的一種計(jì)算機(jī)程序。制的一種計(jì)算機(jī)程序。 可以繁殖和傳播可以繁殖和傳播 危害危害 破壞、盜竊系統(tǒng)中的數(shù)據(jù) 破壞系統(tǒng)文件 各類(lèi)故障,對(duì)數(shù)據(jù)庫(kù)的影響有兩種可能性各類(lèi)故障,對(duì)數(shù)據(jù)庫(kù)的影響有兩種可能性 一是數(shù)據(jù)庫(kù)本身被破壞 二是數(shù)據(jù)庫(kù)沒(méi)有被破壞,但數(shù)據(jù)可能不正確,這是由于事務(wù)的運(yùn)行被非正常終止造成的。7.3 恢復(fù)的實(shí)現(xiàn)技術(shù)恢復(fù)的實(shí)現(xiàn)技術(shù) 恢復(fù)操作的基本原理:冗余恢復(fù)操作的基本原理:冗余利用存儲(chǔ)在系統(tǒng)其它地方的冗余數(shù)據(jù)來(lái)重建數(shù)據(jù)庫(kù)中已被破壞或不正確的那部分?jǐn)?shù)據(jù) 恢復(fù)機(jī)制涉及的關(guān)鍵問(wèn)題恢復(fù)機(jī)制涉及的關(guān)鍵問(wèn)題1. 如何建立冗余數(shù)據(jù) 數(shù)據(jù)轉(zhuǎn)儲(chǔ)(ba

7、ckup) 登錄日志文件(logging)2. 如何利用這些冗余數(shù)據(jù)實(shí)施數(shù)據(jù)庫(kù)恢復(fù)7.3.1 數(shù)據(jù)轉(zhuǎn)儲(chǔ)數(shù)據(jù)轉(zhuǎn)儲(chǔ)一、什么是轉(zhuǎn)儲(chǔ)一、什么是轉(zhuǎn)儲(chǔ)二、轉(zhuǎn)儲(chǔ)的用途二、轉(zhuǎn)儲(chǔ)的用途三、轉(zhuǎn)儲(chǔ)方法三、轉(zhuǎn)儲(chǔ)方法一、什么是轉(zhuǎn)儲(chǔ)一、什么是轉(zhuǎn)儲(chǔ) 轉(zhuǎn)儲(chǔ)是指轉(zhuǎn)儲(chǔ)是指DBA將整個(gè)數(shù)據(jù)庫(kù)復(fù)制到磁帶或另將整個(gè)數(shù)據(jù)庫(kù)復(fù)制到磁帶或另一個(gè)磁盤(pán)上保存起來(lái)的過(guò)程。一個(gè)磁盤(pán)上保存起來(lái)的過(guò)程。 這些備用的數(shù)據(jù)文本稱(chēng)為后備副本或后援副這些備用的數(shù)據(jù)文本稱(chēng)為后備副本或后援副本。本。 如何使用?如何使用? 數(shù)據(jù)庫(kù)遭到破壞后可以將后備副本重新裝入。 重裝后備副本只能將數(shù)據(jù)庫(kù)恢復(fù)到轉(zhuǎn)儲(chǔ)時(shí)的狀態(tài)。三、轉(zhuǎn)儲(chǔ)方法三、轉(zhuǎn)儲(chǔ)方法1靜態(tài)轉(zhuǎn)儲(chǔ)與動(dòng)態(tài)轉(zhuǎn)儲(chǔ)靜態(tài)轉(zhuǎn)儲(chǔ)與動(dòng)態(tài)

8、轉(zhuǎn)儲(chǔ)2海量轉(zhuǎn)儲(chǔ)與增量轉(zhuǎn)儲(chǔ)海量轉(zhuǎn)儲(chǔ)與增量轉(zhuǎn)儲(chǔ)3轉(zhuǎn)儲(chǔ)方法小結(jié)轉(zhuǎn)儲(chǔ)方法小結(jié)1靜態(tài)轉(zhuǎn)儲(chǔ)靜態(tài)轉(zhuǎn)儲(chǔ) 在系統(tǒng)中無(wú)運(yùn)行事務(wù)時(shí)進(jìn)行轉(zhuǎn)儲(chǔ)在系統(tǒng)中無(wú)運(yùn)行事務(wù)時(shí)進(jìn)行轉(zhuǎn)儲(chǔ) 轉(zhuǎn)儲(chǔ)開(kāi)始時(shí)數(shù)據(jù)庫(kù)處于一致性狀態(tài)轉(zhuǎn)儲(chǔ)開(kāi)始時(shí)數(shù)據(jù)庫(kù)處于一致性狀態(tài) 轉(zhuǎn)儲(chǔ)期間不允許對(duì)數(shù)據(jù)庫(kù)的任何存取、轉(zhuǎn)儲(chǔ)期間不允許對(duì)數(shù)據(jù)庫(kù)的任何存取、修改活動(dòng)修改活動(dòng) 優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單 缺點(diǎn):降低了數(shù)據(jù)庫(kù)的可用性缺點(diǎn):降低了數(shù)據(jù)庫(kù)的可用性轉(zhuǎn)儲(chǔ)必須等用戶(hù)事務(wù)結(jié)束新的事務(wù)必須等轉(zhuǎn)儲(chǔ)結(jié)束動(dòng)態(tài)轉(zhuǎn)儲(chǔ)動(dòng)態(tài)轉(zhuǎn)儲(chǔ) 轉(zhuǎn)儲(chǔ)操作與用戶(hù)事務(wù)并發(fā)進(jìn)行轉(zhuǎn)儲(chǔ)操作與用戶(hù)事務(wù)并發(fā)進(jìn)行 轉(zhuǎn)儲(chǔ)期間允許對(duì)數(shù)據(jù)庫(kù)進(jìn)行存取或修改轉(zhuǎn)儲(chǔ)期間允許對(duì)數(shù)據(jù)庫(kù)進(jìn)行存取或修改 優(yōu)點(diǎn)優(yōu)點(diǎn)不用等待正在運(yùn)行的用戶(hù)事務(wù)結(jié)束

9、不會(huì)影響新事務(wù)的運(yùn)行 動(dòng)態(tài)轉(zhuǎn)儲(chǔ)的缺點(diǎn)動(dòng)態(tài)轉(zhuǎn)儲(chǔ)的缺點(diǎn)不能保證副本中的數(shù)據(jù)正確有效動(dòng)態(tài)轉(zhuǎn)儲(chǔ)動(dòng)態(tài)轉(zhuǎn)儲(chǔ) 利用動(dòng)態(tài)轉(zhuǎn)儲(chǔ)得到的副本進(jìn)行故障恢復(fù)利用動(dòng)態(tài)轉(zhuǎn)儲(chǔ)得到的副本進(jìn)行故障恢復(fù)需要把動(dòng)態(tài)轉(zhuǎn)儲(chǔ)期間各事務(wù)對(duì)數(shù)據(jù)庫(kù)的修改活動(dòng)登記下來(lái),建立日志文件后備副本加上日志文件才能把數(shù)據(jù)庫(kù)恢復(fù)到某一時(shí)刻的正確狀態(tài)2海量轉(zhuǎn)儲(chǔ)與增量轉(zhuǎn)儲(chǔ)海量轉(zhuǎn)儲(chǔ)與增量轉(zhuǎn)儲(chǔ) 海量轉(zhuǎn)儲(chǔ)海量轉(zhuǎn)儲(chǔ): 每次轉(zhuǎn)儲(chǔ)全部數(shù)據(jù)庫(kù)每次轉(zhuǎn)儲(chǔ)全部數(shù)據(jù)庫(kù) 增量轉(zhuǎn)儲(chǔ)增量轉(zhuǎn)儲(chǔ): 只轉(zhuǎn)儲(chǔ)上次轉(zhuǎn)儲(chǔ)后更新過(guò)的數(shù)據(jù)只轉(zhuǎn)儲(chǔ)上次轉(zhuǎn)儲(chǔ)后更新過(guò)的數(shù)據(jù) 海量轉(zhuǎn)儲(chǔ)與增量轉(zhuǎn)儲(chǔ)比較海量轉(zhuǎn)儲(chǔ)與增量轉(zhuǎn)儲(chǔ)比較 從恢復(fù)角度看,使用海量轉(zhuǎn)儲(chǔ)得到的后備副本進(jìn)行恢復(fù)往往更方便 但如果數(shù)據(jù)庫(kù)很大,事務(wù)處理又十分頻

10、繁,則增量轉(zhuǎn)儲(chǔ)方式更實(shí)用更有效3轉(zhuǎn)儲(chǔ)方法小結(jié)轉(zhuǎn)儲(chǔ)方法小結(jié) 轉(zhuǎn)儲(chǔ)方法分類(lèi)轉(zhuǎn)儲(chǔ)方法分類(lèi) 轉(zhuǎn)儲(chǔ)狀態(tài)轉(zhuǎn)儲(chǔ)狀態(tài)動(dòng)態(tài)轉(zhuǎn)儲(chǔ)動(dòng)態(tài)轉(zhuǎn)儲(chǔ)靜態(tài)轉(zhuǎn)儲(chǔ)靜態(tài)轉(zhuǎn)儲(chǔ)轉(zhuǎn)儲(chǔ)轉(zhuǎn)儲(chǔ)方式方式海量轉(zhuǎn)儲(chǔ)海量轉(zhuǎn)儲(chǔ)動(dòng)態(tài)海量轉(zhuǎn)儲(chǔ)動(dòng)態(tài)海量轉(zhuǎn)儲(chǔ)靜態(tài)海量轉(zhuǎn)儲(chǔ)靜態(tài)海量轉(zhuǎn)儲(chǔ)增量轉(zhuǎn)儲(chǔ)增量轉(zhuǎn)儲(chǔ)動(dòng)態(tài)增量轉(zhuǎn)儲(chǔ)動(dòng)態(tài)增量轉(zhuǎn)儲(chǔ)靜態(tài)增量轉(zhuǎn)儲(chǔ)靜態(tài)增量轉(zhuǎn)儲(chǔ)轉(zhuǎn)儲(chǔ)策略轉(zhuǎn)儲(chǔ)策略 應(yīng)定期進(jìn)行數(shù)據(jù)轉(zhuǎn)儲(chǔ),制作后備副本。應(yīng)定期進(jìn)行數(shù)據(jù)轉(zhuǎn)儲(chǔ),制作后備副本。 但轉(zhuǎn)儲(chǔ)又是十分耗費(fèi)時(shí)間和資源的,不能頻繁但轉(zhuǎn)儲(chǔ)又是十分耗費(fèi)時(shí)間和資源的,不能頻繁進(jìn)行。進(jìn)行。 DBA應(yīng)該根據(jù)數(shù)據(jù)庫(kù)使用情況確定適當(dāng)?shù)霓D(zhuǎn)儲(chǔ)應(yīng)該根據(jù)數(shù)據(jù)庫(kù)使用情況確定適當(dāng)?shù)霓D(zhuǎn)儲(chǔ)周期和轉(zhuǎn)儲(chǔ)方法。周期和轉(zhuǎn)儲(chǔ)方法。 例:例: 每天晚上進(jìn)行動(dòng)態(tài)增量

11、轉(zhuǎn)儲(chǔ) 每周進(jìn)行一次動(dòng)態(tài)海量轉(zhuǎn)儲(chǔ) 每月進(jìn)行一次靜態(tài)海量轉(zhuǎn)儲(chǔ)7.3 恢復(fù)的實(shí)現(xiàn)技術(shù)恢復(fù)的實(shí)現(xiàn)技術(shù)7.3.1 數(shù)據(jù)轉(zhuǎn)儲(chǔ)數(shù)據(jù)轉(zhuǎn)儲(chǔ)7.3.2 登記日志文件登記日志文件7.3.2 登記日志文件登記日志文件一、日志文件的內(nèi)容一、日志文件的內(nèi)容二、日志文件的用途二、日志文件的用途三、登記日志文件的原則三、登記日志文件的原則一、日志文件的內(nèi)容一、日志文件的內(nèi)容1. 什么是日志文件什么是日志文件 日志文件(log)是用來(lái)記錄事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新操作的文件 Oracle 的日志 聯(lián)機(jī)日志 歸檔日志2. 日志文件的格式日志文件的格式以記錄為單位的日志文件以數(shù)據(jù)塊為單位的日志文件日志文件的內(nèi)容(續(xù))日志文件的內(nèi)容(續(xù))3

12、. 日志文件內(nèi)容日志文件內(nèi)容 各個(gè)事務(wù)的開(kāi)始標(biāo)記(BEGIN TRANSACTION) 各個(gè)事務(wù)的結(jié)束標(biāo)記(COMMIT或ROLLBACK) 各個(gè)事務(wù)的所有更新操作 與事務(wù)有關(guān)的內(nèi)部更新操作日志文件中的一個(gè)日志記錄日志文件中的一個(gè)日志記錄 (log record)4. 基于記錄的日志文件基于記錄的日志文件 每條日志記錄的內(nèi)容每條日志記錄的內(nèi)容 事務(wù)標(biāo)識(shí) 操作類(lèi)型(插入、刪除或修改) 操作對(duì)象(記錄內(nèi)部標(biāo)識(shí)) 更新前數(shù)據(jù)的舊值(對(duì)插入操作而言,此項(xiàng)為空值) 更新后數(shù)據(jù)的新值(對(duì)刪除操作而言, 此項(xiàng)為空值)二、日志文件的用途二、日志文件的用途用途用途進(jìn)行事務(wù)故障恢復(fù)進(jìn)行系統(tǒng)故障恢復(fù)協(xié)助后備副本進(jìn)行

13、介質(zhì)故障恢復(fù)三、登記日志文件的原則三、登記日志文件的原則 為保證數(shù)據(jù)庫(kù)是可恢復(fù)的,登記日志文件時(shí)必須為保證數(shù)據(jù)庫(kù)是可恢復(fù)的,登記日志文件時(shí)必須遵循兩條原則遵循兩條原則 登記的次序嚴(yán)格按并行事務(wù)執(zhí)行的時(shí)間次序 必須先寫(xiě)日志文件,后寫(xiě)數(shù)據(jù)庫(kù) 寫(xiě)日志文件操作:把表示這個(gè)修改的日志記錄 寫(xiě)到日志文件 寫(xiě)數(shù)據(jù)庫(kù)操作:把對(duì)數(shù)據(jù)的修改寫(xiě)到數(shù)據(jù)庫(kù)中登記日志文件的原則(續(xù))登記日志文件的原則(續(xù)) 為什么要先寫(xiě)日志文件為什么要先寫(xiě)日志文件 寫(xiě)數(shù)據(jù)庫(kù)和寫(xiě)日志文件是兩個(gè)不同的操作 在這兩個(gè)操作之間可能發(fā)生故障 如果先寫(xiě)了數(shù)據(jù)庫(kù)修改,而在日志文件中沒(méi)有登記下這個(gè)修改,則以后就無(wú)法恢復(fù)這個(gè)修改了 如果先寫(xiě)日志,但沒(méi)有修

14、改數(shù)據(jù)庫(kù),按日志文件恢復(fù)時(shí)只不過(guò)是多執(zhí)行一次不必要的UNDO操作,并不會(huì)影響數(shù)據(jù)庫(kù)的正確性7.4 具有檢查點(diǎn)的恢復(fù)技術(shù)具有檢查點(diǎn)的恢復(fù)技術(shù)一、問(wèn)題的提出一、問(wèn)題的提出二、檢查點(diǎn)技術(shù)二、檢查點(diǎn)技術(shù)三、利用檢查點(diǎn)的恢復(fù)策略三、利用檢查點(diǎn)的恢復(fù)策略一、問(wèn)題的提出一、問(wèn)題的提出 傳統(tǒng)日志的問(wèn)題傳統(tǒng)日志的問(wèn)題 搜索整個(gè)日志將耗費(fèi)大量的時(shí)間 REDO處理:重新執(zhí)行,浪費(fèi)了大量時(shí)間解決方案解決方案 具有檢查點(diǎn)(具有檢查點(diǎn)(checkpoint)的恢復(fù)技術(shù)的恢復(fù)技術(shù) 在日志文件中增加檢查點(diǎn)記錄(checkpoint) 增加一個(gè)重新開(kāi)始文件 恢復(fù)子系統(tǒng)在登錄日志文件期間動(dòng)態(tài)地維護(hù)日志二、檢查點(diǎn)技術(shù)二、檢查點(diǎn)技術(shù)

15、 檢查點(diǎn)記錄的內(nèi)容檢查點(diǎn)記錄的內(nèi)容1. 建立檢查點(diǎn)時(shí)刻所有正在執(zhí)行的事務(wù)清單2. 這些事務(wù)最近一個(gè)日志記錄的地址 重新開(kāi)始文件的內(nèi)容重新開(kāi)始文件的內(nèi)容 記錄各個(gè)檢查點(diǎn)記錄在日志文件中的地址動(dòng)態(tài)維護(hù)日志文件的方法動(dòng)態(tài)維護(hù)日志文件的方法 動(dòng)態(tài)維護(hù)日志文件的方法動(dòng)態(tài)維護(hù)日志文件的方法 周期性地執(zhí)行如下操作:建立檢查點(diǎn),保存數(shù)據(jù)庫(kù)狀態(tài)。具體步驟是:1.將當(dāng)前日志緩沖區(qū)中的所有日志記錄寫(xiě)入磁盤(pán)的日志文件上。2.在日志文件中寫(xiě)入一個(gè)檢查點(diǎn)記錄。3. 將當(dāng)前數(shù)據(jù)緩沖區(qū)的所有數(shù)據(jù)記錄寫(xiě)入磁盤(pán)的數(shù)據(jù)庫(kù)中。4. 把檢查點(diǎn)記錄在日志文件中的地址寫(xiě)入一個(gè)重新開(kāi)始文件。建立檢查點(diǎn)建立檢查點(diǎn) 恢復(fù)子系統(tǒng)可以定期或不定期地

16、建立檢查點(diǎn)恢復(fù)子系統(tǒng)可以定期或不定期地建立檢查點(diǎn),保存數(shù)據(jù)庫(kù)狀態(tài)保存數(shù)據(jù)庫(kù)狀態(tài) 定期 按照預(yù)定的一個(gè)時(shí)間間隔 不定期 按照某種規(guī)則,如日志文件已寫(xiě)滿(mǎn)一半建立一個(gè)檢查點(diǎn)三、利用檢查點(diǎn)的恢復(fù)策略三、利用檢查點(diǎn)的恢復(fù)策略 使用檢查點(diǎn)方法可以改善恢復(fù)效率使用檢查點(diǎn)方法可以改善恢復(fù)效率 當(dāng)事務(wù)T在一個(gè)檢查點(diǎn)之前提交 T對(duì)數(shù)據(jù)庫(kù)所做的修改已寫(xiě)入數(shù)據(jù)庫(kù) 在進(jìn)行恢復(fù)處理時(shí),沒(méi)有必要對(duì)事務(wù)T執(zhí)行REDO操作利用檢查點(diǎn)的恢復(fù)策略(續(xù))利用檢查點(diǎn)的恢復(fù)策略(續(xù))Tc (檢查點(diǎn)檢查點(diǎn))Tf(系統(tǒng)故障系統(tǒng)故障) REDOUNDOUNDO REDOT2T3T4T5不要不要REDOT1系統(tǒng)出現(xiàn)故障時(shí),恢復(fù)子系統(tǒng)將根據(jù)事務(wù)的

17、不同狀態(tài)采取不同的恢復(fù)策略系統(tǒng)出現(xiàn)故障時(shí),恢復(fù)子系統(tǒng)將根據(jù)事務(wù)的不同狀態(tài)采取不同的恢復(fù)策略 利用檢查點(diǎn)的恢復(fù)策略(續(xù))利用檢查點(diǎn)的恢復(fù)策略(續(xù))nT1T1:在檢查點(diǎn)之前提交:在檢查點(diǎn)之前提交nT2T2:在檢查點(diǎn)之前開(kāi)始執(zhí)行,在檢查點(diǎn)之后故障點(diǎn)之:在檢查點(diǎn)之前開(kāi)始執(zhí)行,在檢查點(diǎn)之后故障點(diǎn)之前提交前提交nT3T3:在檢查點(diǎn)之前開(kāi)始執(zhí)行,在故障點(diǎn)時(shí)還未完成:在檢查點(diǎn)之前開(kāi)始執(zhí)行,在故障點(diǎn)時(shí)還未完成nT4T4:在檢查點(diǎn)之后開(kāi)始執(zhí)行,在故障點(diǎn)之前提交:在檢查點(diǎn)之后開(kāi)始執(zhí)行,在故障點(diǎn)之前提交nT5T5:在檢查點(diǎn)之后開(kāi)始執(zhí)行,在故障點(diǎn)時(shí)還未完成:在檢查點(diǎn)之后開(kāi)始執(zhí)行,在故障點(diǎn)時(shí)還未完成恢復(fù)策略:恢復(fù)策略:n

18、T3T3和和T5T5在故障發(fā)生時(shí)還未完成,所以予以撤銷(xiāo)。在故障發(fā)生時(shí)還未完成,所以予以撤銷(xiāo)。nT2T2和和T4T4在檢查點(diǎn)之后才提交,它們對(duì)數(shù)據(jù)庫(kù)所做的修在檢查點(diǎn)之后才提交,它們對(duì)數(shù)據(jù)庫(kù)所做的修改在故障發(fā)生時(shí)可能還在緩沖區(qū)中,尚未寫(xiě)入數(shù)據(jù)庫(kù),改在故障發(fā)生時(shí)可能還在緩沖區(qū)中,尚未寫(xiě)入數(shù)據(jù)庫(kù),所以要所以要REDOREDO。nT1T1在檢查點(diǎn)之前已提交,所以不必執(zhí)行在檢查點(diǎn)之前已提交,所以不必執(zhí)行REDOREDO操作。操作。利用檢查點(diǎn)的恢復(fù)步驟利用檢查點(diǎn)的恢復(fù)步驟1. 從重新開(kāi)始文件中找到最后一個(gè)檢查點(diǎn)記錄在日從重新開(kāi)始文件中找到最后一個(gè)檢查點(diǎn)記錄在日志文件中的地址,由該地址在日志文件中找到最志文件

19、中的地址,由該地址在日志文件中找到最后一個(gè)檢查點(diǎn)記錄后一個(gè)檢查點(diǎn)記錄2.由該檢查點(diǎn)記錄得到檢查點(diǎn)建立時(shí)刻所有正在執(zhí)由該檢查點(diǎn)記錄得到檢查點(diǎn)建立時(shí)刻所有正在執(zhí)行的事務(wù)清單行的事務(wù)清單ACTIVE-LIST 建立兩個(gè)事務(wù)隊(duì)列 UNDO-LIST REDO-LIST 把ACTIVE-LIST暫時(shí)放入U(xiǎn)NDO-LIST隊(duì)列,REDO隊(duì)列暫為空。利用檢查點(diǎn)的恢復(fù)策略(續(xù))利用檢查點(diǎn)的恢復(fù)策略(續(xù))3.從檢查點(diǎn)開(kāi)始正向掃描日志文件,直到日志文件從檢查點(diǎn)開(kāi)始正向掃描日志文件,直到日志文件結(jié)束結(jié)束 如有新開(kāi)始的事務(wù)Ti,把Ti暫時(shí)放入U(xiǎn)NDO-LIST隊(duì)列 如有提交的事務(wù)Tj,把Tj從UNDO-LIST隊(duì)列移

20、到REDO-LIST隊(duì)列4.對(duì)對(duì)UNDO-LIST中的每個(gè)事務(wù)執(zhí)行中的每個(gè)事務(wù)執(zhí)行UNDO操作操作, 對(duì)對(duì)REDO-LIST中的每個(gè)事務(wù)執(zhí)行中的每個(gè)事務(wù)執(zhí)行REDO操作操作7.5 數(shù)據(jù)庫(kù)鏡像數(shù)據(jù)庫(kù)鏡像 介質(zhì)故障是對(duì)系統(tǒng)影響最為嚴(yán)重的一種故障,介質(zhì)故障是對(duì)系統(tǒng)影響最為嚴(yán)重的一種故障,嚴(yán)重影響數(shù)據(jù)庫(kù)的可用性嚴(yán)重影響數(shù)據(jù)庫(kù)的可用性 介質(zhì)故障恢復(fù)比較費(fèi)時(shí) 為預(yù)防介質(zhì)故障,DBA必須周期性地轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù) 提高數(shù)據(jù)庫(kù)可用性的解決方案提高數(shù)據(jù)庫(kù)可用性的解決方案 數(shù)據(jù)庫(kù)鏡像(Mirror)數(shù)據(jù)庫(kù)鏡像(續(xù))數(shù)據(jù)庫(kù)鏡像(續(xù)) 數(shù)據(jù)庫(kù)鏡像數(shù)據(jù)庫(kù)鏡像 DBMS自動(dòng)把整個(gè)數(shù)據(jù)庫(kù)或其中的關(guān)鍵數(shù)據(jù)復(fù)制到另一個(gè)磁盤(pán)上 DBMS

21、自動(dòng)保證鏡像數(shù)據(jù)與主數(shù)據(jù)的一致性每當(dāng)主數(shù)據(jù)庫(kù)更新時(shí),DBMS自動(dòng)把更新后的數(shù)據(jù)復(fù)制過(guò)去(如下圖所示)數(shù)據(jù)庫(kù)鏡像的用途數(shù)據(jù)庫(kù)鏡像的用途 出現(xiàn)介質(zhì)故障時(shí)出現(xiàn)介質(zhì)故障時(shí) 可由鏡像磁盤(pán)繼續(xù)提供使用 同時(shí)DBMS自動(dòng)利用鏡像磁盤(pán)數(shù)據(jù)進(jìn)行數(shù)據(jù)庫(kù)的恢復(fù) 不需要關(guān)閉系統(tǒng)和重裝數(shù)據(jù)庫(kù)副本(如下圖所示)數(shù)據(jù)庫(kù)鏡像的用途(續(xù))數(shù)據(jù)庫(kù)鏡像的用途(續(xù)) 沒(méi)有出現(xiàn)故障時(shí)沒(méi)有出現(xiàn)故障時(shí) 可用于并發(fā)操作(圖7.5a) 一個(gè)用戶(hù)對(duì)數(shù)據(jù)加排他鎖修改數(shù)據(jù) 其他用戶(hù)可以讀鏡像數(shù)據(jù)庫(kù)上的數(shù)據(jù)1 1、物理備份(主):、物理備份(主):就是轉(zhuǎn)儲(chǔ)就是轉(zhuǎn)儲(chǔ)ORACLE物理文件物理文件(如如數(shù)據(jù)文件、控制文件、歸檔日志文件等數(shù)據(jù)文件、控制文件、

22、歸檔日志文件等),一旦數(shù)據(jù),一旦數(shù)據(jù)庫(kù)發(fā)生故障,可以利用這些文件進(jìn)行還原。庫(kù)發(fā)生故障,可以利用這些文件進(jìn)行還原。冷備份熱備份2 2、邏輯備份(輔):、邏輯備份(輔):邏輯備份就是對(duì)數(shù)據(jù)庫(kù)對(duì)象邏輯備份就是對(duì)數(shù)據(jù)庫(kù)對(duì)象(如如用戶(hù)、表、存儲(chǔ)過(guò)程等用戶(hù)、表、存儲(chǔ)過(guò)程等)利用利用EXPORT等工具進(jìn)行導(dǎo)等工具進(jìn)行導(dǎo)出工作,可以利用出工作,可以利用IMPORT等工具把邏輯備份文件等工具把邏輯備份文件導(dǎo)入到數(shù)據(jù)庫(kù)。導(dǎo)入到數(shù)據(jù)庫(kù)。7.6 Oracle7.6 Oracle數(shù)據(jù)庫(kù)的備份與恢復(fù)數(shù)據(jù)庫(kù)的備份與恢復(fù)邏輯備份與物理備份比較邏輯備份與物理備份比較1、邏輯備份的備份集的可移植性比較強(qiáng),可以把數(shù)據(jù)庫(kù)、邏輯備份的

23、備份集的可移植性比較強(qiáng),可以把數(shù)據(jù)庫(kù)的邏輯備份恢復(fù)到不同版本不同平臺(tái)的數(shù)據(jù)庫(kù)上。的邏輯備份恢復(fù)到不同版本不同平臺(tái)的數(shù)據(jù)庫(kù)上。2、邏輯備份和恢復(fù)的效率比較低,對(duì)于大型的系統(tǒng),采、邏輯備份和恢復(fù)的效率比較低,對(duì)于大型的系統(tǒng),采用邏輯備份,其恢復(fù)時(shí)間之長(zhǎng)是大多數(shù)大型業(yè)務(wù)系統(tǒng)所用邏輯備份,其恢復(fù)時(shí)間之長(zhǎng)是大多數(shù)大型業(yè)務(wù)系統(tǒng)所不能忍受的。不能忍受的。 3、物理備份不具備移植性,備份環(huán)境和恢復(fù)環(huán)境必須是、物理備份不具備移植性,備份環(huán)境和恢復(fù)環(huán)境必須是完全相同的。完全相同的。4、物理備份是對(duì)數(shù)據(jù)庫(kù)的文件、物理備份是對(duì)數(shù)據(jù)庫(kù)的文件(Block)進(jìn)行備份,其備份進(jìn)行備份,其備份和恢復(fù)速度相對(duì)比較快,在大型業(yè)務(wù)系

24、統(tǒng)中較多地使用和恢復(fù)速度相對(duì)比較快,在大型業(yè)務(wù)系統(tǒng)中較多地使用物理備份。物理備份。 在實(shí)際應(yīng)用中,應(yīng)該以物理備份為主,邏輯備份作為補(bǔ)在實(shí)際應(yīng)用中,應(yīng)該以物理備份為主,邏輯備份作為補(bǔ)充。充。 物理備份物理備份 冷備份冷備份 冷備份發(fā)生在數(shù)據(jù)庫(kù)已經(jīng)正常關(guān)閉的情況下,當(dāng)冷備份發(fā)生在數(shù)據(jù)庫(kù)已經(jīng)正常關(guān)閉的情況下,當(dāng)正常關(guān)閉時(shí)會(huì)提供給我們一個(gè)完整的數(shù)據(jù)庫(kù)。冷正常關(guān)閉時(shí)會(huì)提供給我們一個(gè)完整的數(shù)據(jù)庫(kù)。冷備份是將關(guān)鍵性文件拷貝到另外的位置。對(duì)于備備份是將關(guān)鍵性文件拷貝到另外的位置。對(duì)于備份份Oracle信息而言,冷備份是最快和最安全的方信息而言,冷備份是最快和最安全的方法。法。 熱備份熱備份 熱備份是在數(shù)據(jù)庫(kù)運(yùn)

25、行的情況下,采用熱備份是在數(shù)據(jù)庫(kù)運(yùn)行的情況下,采用archivelog mode(歸檔模式)備份數(shù)據(jù)庫(kù)的方(歸檔模式)備份數(shù)據(jù)庫(kù)的方法。熱備份要求數(shù)據(jù)庫(kù)在法。熱備份要求數(shù)據(jù)庫(kù)在Archivelog方式下操作。方式下操作。冷備份方法一冷備份方法一 停止所有的停止所有的oracle服務(wù),復(fù)制服務(wù),復(fù)制Oracle目錄下目錄下的的oradata文件夾下的數(shù)據(jù)庫(kù)名整個(gè)目錄復(fù)文件夾下的數(shù)據(jù)庫(kù)名整個(gè)目錄復(fù)制備份。制備份。 冷備份:數(shù)據(jù)庫(kù)正常關(guān)閉狀態(tài)下的全備份冷備份:數(shù)據(jù)庫(kù)正常關(guān)閉狀態(tài)下的全備份234SHUTDOWN IMMEDIATE 備份(復(fù)制,粘貼)備份(復(fù)制,粘貼)STARTUP OPEN 1Con

26、trol filesPasswordfileParameter fileDatafilesRedo log files登錄登錄SQLPLUS查詢(xún)文查詢(xún)文件路徑件路徑 冷備份方法二冷備份方法二1、登錄、登錄SQLPLUS用戶(hù)名:用戶(hù)名:SYSTEM口令:口令:SQLdisconn;SQLconn SYSTEM/ORCLORCL AS SYSDBA 獲取需要備份的文件及存放路徑獲取需要備份的文件及存放路徑 V$DATAFILEV$CONTROLFILEV$LOGFILE查文件路徑查文件路徑查文件路徑查文件路徑SQL SELECT NAME FROM V$CONTROLFILENAME -D:APP

27、ADMINISTRATORORADATAORCLCONTROL01.CTLD:APPADMINISTRATORORADATAORCLCONTROL02.CTL D:APPADMINISTRATORORADATAORCLCONTROL03.CTL 查文件路徑查文件路徑SQL SELECT NAME FROM V$DATAFILE; NAME-D:APPADMINISTRATORORADATAORCLSYSTEM01.DBFD:APPADMINISTRATORORADATAORCLSYSAUX01.DBFD:APPADMINISTRATORORADATAORCLUNDOTBS01.DBFD:APP

28、ADMINISTRATORORADATAORCLUSERS01.DBFD:APPADMINISTRATORORADATAORCLEXAMPLE01.DBF查文件路徑查文件路徑SQL SELECT MEMBER FROM V$LOGFILE; MEMBER-D:APPADMINISTRATORORADATAORCLREDO03.LOGD:APPADMINISTRATORORADATAORCLREDO02.LOGD:APPADMINISTRATORORADATAORCLREDO01.LOG2、關(guān)閉數(shù)據(jù)庫(kù)、關(guān)閉數(shù)據(jù)庫(kù)SQLSHUTDOWN IMMEDIATE;數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。已經(jīng)卸載

29、數(shù)據(jù)庫(kù)。已經(jīng)卸載數(shù)據(jù)庫(kù)。ORACLE例程已經(jīng)關(guān)閉。例程已經(jīng)關(guān)閉。關(guān)閉數(shù)據(jù)庫(kù):關(guān)閉數(shù)據(jù)庫(kù):-該命令不能在該命令不能在SQL developer SQL developer 中使用,需在中使用,需在SQLPLUS SQLPLUS 中使用,中使用,并且是并且是SYSDBASYSDBA登錄。登錄。3、轉(zhuǎn)儲(chǔ)、轉(zhuǎn)儲(chǔ) 在D:APPADMINISTRATORORADATA路徑下拷路徑下拷貝文件夾貝文件夾ORCL (復(fù)制,粘貼)4、 打開(kāi)數(shù)據(jù)庫(kù)打開(kāi)數(shù)據(jù)庫(kù)打開(kāi)數(shù)據(jù)庫(kù)打開(kāi)數(shù)據(jù)庫(kù)SQLstartup open;-該命令不能在該命令不能在SQL developer 中使用,需在中使用,需在SQLPLUS 中使用,并且是

30、中使用,并且是SYSDBA登錄。登錄。-如果不能打開(kāi),請(qǐng)停止如果不能打開(kāi),請(qǐng)停止oracle服務(wù)再啟動(dòng)。服務(wù)再啟動(dòng)。1、新建同名空數(shù)據(jù)庫(kù)(如果存在則不創(chuàng)建)、新建同名空數(shù)據(jù)庫(kù)(如果存在則不創(chuàng)建)2、關(guān)閉數(shù)據(jù)庫(kù)、關(guān)閉數(shù)據(jù)庫(kù) SQLSHUTDOWN IMMEDIATE3、將備份的所有數(shù)據(jù)文件、控制文件、聯(lián)機(jī)重做日、將備份的所有數(shù)據(jù)文件、控制文件、聯(lián)機(jī)重做日志文件,還原到原來(lái)所在的位置志文件,還原到原來(lái)所在的位置(直接把直接把ORCL文件文件夾拷貝到原路徑)。夾拷貝到原路徑)。4、重啟數(shù)據(jù)庫(kù)、重啟數(shù)據(jù)庫(kù) SQLSTARTUP OPEN;利用冷備份恢復(fù)數(shù)據(jù)庫(kù)利用冷備份恢復(fù)數(shù)據(jù)庫(kù)冷備份的優(yōu)點(diǎn)冷備份的優(yōu)點(diǎn)

31、 對(duì)于備份對(duì)于備份Oracle信息而言,冷備份是最快和最安全信息而言,冷備份是最快和最安全的方法。的方法。 冷備份的優(yōu)點(diǎn):冷備份的優(yōu)點(diǎn):1是非??焖俚膫浞莘椒ǎㄖ恍杩截愇募┦欠浅?焖俚膫浞莘椒ǎㄖ恍杩截愇募?容易歸檔(簡(jiǎn)單拷貝即可)容易歸檔(簡(jiǎn)單拷貝即可)3容易恢復(fù)到某個(gè)時(shí)間點(diǎn)上(只需將文件再拷貝回去)容易恢復(fù)到某個(gè)時(shí)間點(diǎn)上(只需將文件再拷貝回去)4能與歸檔方法相結(jié)合,作數(shù)據(jù)庫(kù)能與歸檔方法相結(jié)合,作數(shù)據(jù)庫(kù)“最新?tīng)顟B(tài)最新?tīng)顟B(tài)”的恢復(fù)。的恢復(fù)。5低度維護(hù),高度安全。低度維護(hù),高度安全。冷備份的缺點(diǎn)冷備份的缺點(diǎn)1單獨(dú)使用時(shí),只能提供到單獨(dú)使用時(shí),只能提供到“某一時(shí)間點(diǎn)上某一時(shí)間點(diǎn)上”的恢復(fù)。的恢

32、復(fù)。2在實(shí)施備份的全過(guò)程中,數(shù)據(jù)庫(kù)必須要作備份而不在實(shí)施備份的全過(guò)程中,數(shù)據(jù)庫(kù)必須要作備份而不能作其它工作。也就是說(shuō),在冷備份過(guò)程中,數(shù)據(jù)庫(kù)能作其它工作。也就是說(shuō),在冷備份過(guò)程中,數(shù)據(jù)庫(kù)必須是關(guān)閉狀態(tài)。必須是關(guān)閉狀態(tài)。3若磁盤(pán)空間有限,只能拷貝到磁帶等其它外部存儲(chǔ)若磁盤(pán)空間有限,只能拷貝到磁帶等其它外部存儲(chǔ)設(shè)備上,速度會(huì)很慢。設(shè)備上,速度會(huì)很慢。4不能按表或按用戶(hù)恢復(fù)。不能按表或按用戶(hù)恢復(fù)。 熱備份是在數(shù)據(jù)庫(kù)運(yùn)行的情況下,采用熱備份是在數(shù)據(jù)庫(kù)運(yùn)行的情況下,采用archivelog mode(歸檔模式)備份數(shù)據(jù)庫(kù)的方(歸檔模式)備份數(shù)據(jù)庫(kù)的方法。法。 熱備份要求數(shù)據(jù)庫(kù)在熱備份要求數(shù)據(jù)庫(kù)在Arch

33、ivelog方式下操作,并方式下操作,并需要大量的檔案空間。一旦數(shù)據(jù)庫(kù)運(yùn)行在需要大量的檔案空間。一旦數(shù)據(jù)庫(kù)運(yùn)行在archivelog狀態(tài)下,就可以做備份了。狀態(tài)下,就可以做備份了。 可以熱備份數(shù)據(jù)庫(kù),熱備份表空間。可以熱備份數(shù)據(jù)庫(kù),熱備份表空間。熱備份熱備份熱備份步驟:熱備份步驟:1.數(shù)據(jù)文件一個(gè)表空間一個(gè)表空間的備份:數(shù)據(jù)文件一個(gè)表空間一個(gè)表空間的備份:(1)設(shè)置表空間為備份狀態(tài);設(shè)置表空間為備份狀態(tài); alter tablespace users begin backup;(2)備份表空間的數(shù)據(jù)文件;備份表空間的數(shù)據(jù)文件; (3)回復(fù)表空間為正常狀態(tài)?;貜?fù)表空間為正常狀態(tài)。 alter t

34、ablespace users end backup;2.備份歸檔備份歸檔log文件:文件:(1)臨時(shí)停止歸檔進(jìn)程;臨時(shí)停止歸檔進(jìn)程; (2)log下那些在下那些在archive rede log目標(biāo)目錄中的文件;目標(biāo)目錄中的文件; (3)重新啟動(dòng)重新啟動(dòng)archive進(jìn)程;進(jìn)程; (4)備份歸檔的備份歸檔的redo log文件。文件。3.用用alter database bachup controlfile命令來(lái)備份控制文件:命令來(lái)備份控制文件: 示例:示例: 1. SHUTDOWN IMMEDIATE;-關(guān)閉數(shù)據(jù)庫(kù)2. STARTUP MOUNT;-啟動(dòng)數(shù)據(jù)實(shí)例,加載數(shù)據(jù)庫(kù)3. ALTER

35、 DATABASE ARCHIVELOG;-設(shè)置數(shù)據(jù)庫(kù)日志為存檔模式 4. ALTER DATABASE OPEN;-打開(kāi)數(shù)據(jù)庫(kù) 5. ALTER database BEGIN BACKUP;/將數(shù)據(jù)庫(kù)設(shè)置備份模式 6. -拷貝數(shù)據(jù)文件到備份目錄(復(fù)制,粘貼 ,CP) -比如路徑:D:HORCL熱備份熱備份 7. ALTER database END BACKUP; 8. ALTER database BACKUP CONTROLFILE TO D:HORCL CONTORLO1.CTL;/備份控制文件(1)關(guān)閉數(shù)據(jù)庫(kù))關(guān)閉數(shù)據(jù)庫(kù)(2)物理備份文件還原)物理備份文件還原(3)數(shù)據(jù)庫(kù)啟動(dòng)到)數(shù)據(jù)

36、庫(kù)啟動(dòng)到MOUNT 狀態(tài)狀態(tài) SQLSTARTUP MOUNT(4)SQLRESCOVER database(5)打開(kāi)數(shù)據(jù)庫(kù))打開(kāi)數(shù)據(jù)庫(kù)歸檔模式下的數(shù)據(jù)庫(kù)完全恢復(fù)歸檔模式下的數(shù)據(jù)庫(kù)完全恢復(fù)利用熱備份恢復(fù)利用熱備份恢復(fù)1.-刪除 D:oracleoradataorclUSER01.dbf 2.SHUTDOWN IMMEDIATE3.STARTUP /此時(shí)會(huì)警告,無(wú)法找到指定的文件DATA FILE 4,即是剛才刪掉的數(shù)據(jù)文件,DATA FILE 4只是個(gè)代號(hào),也有可能是DATA FILE 1,DATA FILE 2,等等4.ALTER DATABASE DATAFILE 4 OFFLINE ;/

37、讓這個(gè)出故障的文件暫時(shí)先脫機(jī)5.ALTER DATABASE OPEN;/打開(kāi)數(shù)據(jù)庫(kù)6.-拷貝 D:horcluser01.dbf 到D:oracleoradataorcl*.dbf7.RECOVER DATAFILE 4RMAN 備份備份 RMAN備份是一種物理備份,不是對(duì)象級(jí)的邏輯備份, 可以用RMAN來(lái)備份數(shù)據(jù)文件、控制文件、參數(shù)文件、歸檔日志文件。在數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題的時(shí)候可以通過(guò)RMAN物理備份恢復(fù)到數(shù)據(jù)庫(kù)的失效點(diǎn)。 將備份、還原、恢復(fù)用命令實(shí)現(xiàn)。RMAN技術(shù)技術(shù) RMAN是是Recovery Manager的縮寫(xiě),即恢的縮寫(xiě),即恢復(fù)管理器。它可以用來(lái)備份恢復(fù)數(shù)據(jù)庫(kù)文件、復(fù)管理器。它可以

38、用來(lái)備份恢復(fù)數(shù)據(jù)庫(kù)文件、歸檔日志和控制文件,可以用來(lái)執(zhí)行完全或歸檔日志和控制文件,可以用來(lái)執(zhí)行完全或不完全的數(shù)據(jù)庫(kù)恢復(fù)。不完全的數(shù)據(jù)庫(kù)恢復(fù)。 使用使用RMAN之前,須要做的準(zhǔn)備工作之前,須要做的準(zhǔn)備工作(1)將數(shù)據(jù)庫(kù)設(shè)置為歸檔日志模式)將數(shù)據(jù)庫(kù)設(shè)置為歸檔日志模式RMAN技術(shù)技術(shù)(2)創(chuàng)建恢復(fù)目錄所使用的表空間)創(chuàng)建恢復(fù)目錄所使用的表空間(3)創(chuàng)建)創(chuàng)建RMAN用戶(hù)并授權(quán)用戶(hù)并授權(quán)(4)創(chuàng)建恢復(fù)目錄)創(chuàng)建恢復(fù)目錄(5)注冊(cè)目標(biāo)數(shù)據(jù)庫(kù))注冊(cè)目標(biāo)數(shù)據(jù)庫(kù)RMAN備份和恢復(fù)備份和恢復(fù)RMAN 備份備份Rman target system/oracloraclhttp:/ rmanbackup datab

39、se rmanbackup current contorlfile; rmanbackup datafile 1,2,4; rmanbackup tablespace users; rmanrestore databse rmanrevover databse邏輯備份邏輯備份 利用利用Export可將數(shù)據(jù)從數(shù)據(jù)庫(kù)中提取出來(lái),利用可將數(shù)據(jù)從數(shù)據(jù)庫(kù)中提取出來(lái),利用Import則可將提取出來(lái)的數(shù)據(jù)送回到則可將提取出來(lái)的數(shù)據(jù)送回到Oracle數(shù)據(jù)數(shù)據(jù)庫(kù)中去。庫(kù)中去。 Oracle支持三種方式類(lèi)型的支持三種方式類(lèi)型的Export輸出:輸出: 1、表方式、表方式(T方式方式),將指定表的數(shù)據(jù)導(dǎo)出。,將指定

40、表的數(shù)據(jù)導(dǎo)出。 2、用戶(hù)方式、用戶(hù)方式(U方式方式),將指定用戶(hù)的所有對(duì)象及數(shù),將指定用戶(hù)的所有對(duì)象及數(shù)據(jù)導(dǎo)出。據(jù)導(dǎo)出。 3、全庫(kù)方式、全庫(kù)方式(Full方式方式),將數(shù)據(jù)庫(kù)中的所有對(duì)象導(dǎo),將數(shù)據(jù)庫(kù)中的所有對(duì)象導(dǎo)出。出。Export 連接到:連接到:Oracle Database 10g Enterprise Edition Release .0 ProductionWith the Partitioning, OLAP and Data Mining options輸入數(shù)組提取緩沖區(qū)大?。狠斎霐?shù)組提取緩沖區(qū)大?。?096 /*這里使用默認(rèn)值,直接回車(chē)即這里使用默認(rèn)值,直接回車(chē)

41、即可可*/導(dǎo)出文件:導(dǎo)出文件:EXPDAT.DMPBAKORCL.DMP /*輸入導(dǎo)出文件名稱(chēng)輸入導(dǎo)出文件名稱(chēng)*/(1)E(完整的數(shù)據(jù)庫(kù)完整的數(shù)據(jù)庫(kù)),(2)U(用戶(hù)用戶(hù)) 或或 (3)T(表表):(2)U T /*在這里選擇要導(dǎo)出的類(lèi)型,我們選擇表在這里選擇要導(dǎo)出的類(lèi)型,我們選擇表*/導(dǎo)出表數(shù)據(jù)導(dǎo)出表數(shù)據(jù)(yes/no):yes /*使用默認(rèn)設(shè)置,導(dǎo)出表數(shù)據(jù)使用默認(rèn)設(shè)置,導(dǎo)出表數(shù)據(jù)*/壓縮區(qū)壓縮區(qū)(yes/no):yes /*使用默認(rèn)設(shè)置,壓縮區(qū)使用默認(rèn)設(shè)置,壓縮區(qū)*/ 已導(dǎo)出已導(dǎo)出ZHS16GBK字符集和字符集和AL16UTF16 NCHAR字符集字符集即將導(dǎo)出指定的表通過(guò)常規(guī)路徑即將導(dǎo)出

42、指定的表通過(guò)常規(guī)路徑要導(dǎo)出的表(要導(dǎo)出的表(T)或分區(qū)()或分區(qū)(T:P):():(RETURN退出)退出)S /*在此輸入要導(dǎo)出的表名稱(chēng)在此輸入要導(dǎo)出的表名稱(chēng)*/正在導(dǎo)出表正在導(dǎo)出表S22行被導(dǎo)出行被導(dǎo)出要導(dǎo)出的表(要導(dǎo)出的表(T)或分區(qū)()或分區(qū)(T:P):():(RETURN以退出)以退出) /*導(dǎo)出表導(dǎo)出表S完畢,直接回車(chē)即可完成導(dǎo)出工作。若要導(dǎo)出其他表,在此輸完畢,直接回車(chē)即可完成導(dǎo)出工作。若要導(dǎo)出其他表,在此輸入表名即可入表名即可*/在沒(méi)有警告的情況下成功終止導(dǎo)出。在沒(méi)有警告的情況下成功終止導(dǎo)出。imp 導(dǎo)入文件:導(dǎo)入文件:EXPDAT.DMPBAKORCL.DMP /*輸入要導(dǎo)入

43、的導(dǎo)出轉(zhuǎn)儲(chǔ)文件名輸入要導(dǎo)入的導(dǎo)出轉(zhuǎn)儲(chǔ)文件名*/輸入插入緩沖區(qū)大?。ㄗ钚檩斎氩迦刖彌_區(qū)大?。ㄗ钚?192)30720 /*使用默認(rèn)設(shè)置,然后使用默認(rèn)設(shè)置,然后回車(chē)回車(chē)*/經(jīng)由常規(guī)路徑導(dǎo)出由經(jīng)由常規(guī)路徑導(dǎo)出由EXPORT:V10.02.00創(chuàng)建的文件創(chuàng)建的文件已經(jīng)完成已經(jīng)完成ZHS16GBK字符集和字符集和AL16UTF16 NCHAR字符集中的導(dǎo)入字符集中的導(dǎo)入只列出導(dǎo)入文件的內(nèi)容(只列出導(dǎo)入文件的內(nèi)容(yes/no):):no 由于對(duì)象已存在,忽略創(chuàng)建錯(cuò)誤(由于對(duì)象已存在,忽略創(chuàng)建錯(cuò)誤(yes/no):):no 導(dǎo)入權(quán)限(導(dǎo)入權(quán)限(yes/no):): yes 導(dǎo)入表數(shù)據(jù)(導(dǎo)入表數(shù)據(jù)(yes/no):):yes 導(dǎo)入整個(gè)導(dǎo)出文件(導(dǎo)入整個(gè)導(dǎo)出文件(yes/no):):no 用戶(hù)名:用戶(hù)名:system /*輸入用戶(hù)名,導(dǎo)入的數(shù)據(jù)將會(huì)在此用戶(hù)模式下創(chuàng)建輸入用戶(hù)名,導(dǎo)入的數(shù)據(jù)將會(huì)在此用戶(hù)模式下創(chuàng)建*/ 輸入

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論