Oracle備份與恢復

2021-08-29 04:27:31 字數 2635 閱讀 8886

oracle備份與恢復

學習過程中的總結,有興趣不妨看看,如果有不對的地方,高手不要留情!!

oracle的備份與恢復有三種標準的模式,大致分為兩大類,備份恢復(物理上的)以及匯入匯出(邏輯上的),而備份恢復又可以根據資料庫的工作模式分為非歸檔模式(nonarchivelog-style)和歸檔模式(archivelog-style),通常,我們把非歸檔模式稱為冷備份,而相應的把歸檔模式稱為熱備份,他們的關係如下所示

oracle備份與恢復

學習過程中的總結,有興趣不妨看看,如果有不對的地方,高手不要留情!!

oracle的備份與恢復有三種標準的模式,大致分為兩大類,備份恢復(物理上的)以及匯入匯出(邏輯上的),而備份恢復又可以根據資料庫的工作模式分為非歸檔模式(nonarchivelog-style)和歸檔模式(archivelog-style),通常,我們把非歸檔模式稱為冷備份,而相應的把歸檔模式稱為熱備份,他們的關係如下所示

三種方式各有優點,我們做個比較(這個是用fireworks畫的,有點糙):

$a:   現在先來介紹一下邏輯備份方式的方法,利用export可將資料從資料庫中提取出來,利用import則可將提取出來的資料送回到oracle資料庫中去。理論基礎:oracle提供的export和import具有三種不同的操作方式(就是備份的資料輸出(入)型別):

1,表方式(t)    可以將指定的表匯出備份;

2,全庫方式(full)    將資料庫中的所有物件匯出;

3,使用者方式(u)     可以將指定的使用者相應的所有資料物件匯出;

*在匯入匯出備份方式中,提供了很強大的一種方法,就是增量匯出/匯入,但是它必須作為system來完成增量的匯入匯出,而且只能是對整個資料庫進行實施。增量匯出又可以分為三種類別:

1,完全增量匯出(complete export)     這種方式將把整個資料庫檔案匯出備份;exp system/manager inctype=complete file=20041125.dmp(為了方便檢索和事後的查詢,通常我們將備份檔案以日期或者其他有明確含義的字元命名)

2,增量型增量匯出(incremental export)     這種方式將只會備份上一次備份後改變的結果;exp system/manager inctype=incremental file=20041125.dmp

3,累積型增量匯出(cumulate export)      這種方式的話,是匯出自上次完全增量匯出後資料庫變化的資訊。exp system/manager inctype=cumulative file=20041125.dmp

通常情況下,dba們所要做的,就是按照企業指定或者是自己習慣的標準(如果是自己指定的標準,建議寫好計畫說明),一般,我們採用普遍認可的下面的方式進行每天的增量備份:

mon: 完全備份(a)

tue: 增量匯出(b)

wed:增量匯出(c)

thu: 增量匯出(d)

fri:   累計匯出(e)

sat: 增量匯出(f)

sun: 增量匯出(g)

這樣,我們可以保證每週資料的完整性,以及恢復時的快捷和最大限度的資料損失。恢復的時候,假設事故發生在週末,dba可按這樣的步驟來恢復資料庫:

第一步:用命令create database重新生成資料庫結構;

第二步:建立乙個足夠大的附加回滾。

第三步:完全增量匯入a:

imp system/manager inctype=restore full=y file=a

第四步:累計增量匯入e:

imp system/manager inctype=restore full=y file=e

第五步:最近增量匯入f:

imp system/manager inctype=restore full=y file=f

通常情況下,dba所要做的匯入匯出備份就算完成,只要科學的按照規律作出備份,就可以將資料的損失降低到最小,提供更可靠的服務。另外,dba最好對每次的備份做乙個比較詳細的說明文件,使得資料庫的恢復更加可靠。

$b 物理備份之冷備份(條件-nonarchivelog):

當資料庫可以暫時處於關閉狀態時,我們需要將它在這一穩定時刻的資料相關檔案轉移到安全的區域,當資料庫遭到破壞,再從安全區域將備份的資料庫相關檔案拷貝回原來的位置,這樣,就完成了一次快捷安全等資料轉移。由於是在資料庫不提供服務的關閉狀態,所以稱為冷備份。冷備份具有很多優良特性,比如上面圖中我們提到的,快速,方便,以及高效。一次完整的冷備份步驟應該是:

1,首先關閉資料庫(shutdown normal)

2,拷貝相關檔案到安全區域(利用作業系統命令拷貝資料庫的所有的資料檔案、日誌檔案、控制檔案、引數檔案、口令檔案等(包括路徑))

3,重新啟動資料庫(startup)

以上的步驟我們可以用乙個指令碼來完成操作:

su – oracle < sqlplus /nolog

connect / as sysdba

shutdown immediate;

!cp 檔案   備份位置(所有的日誌、資料、控制及引數檔案);

startup;

exit;

這樣,我們就完成了一次冷備份,請確定你對這些相應的目錄(包括寫入的目標資料夾)有相應的許可權。

恢復的時候,相對比較簡單了,我們停掉資料庫,將檔案拷貝回相應位置,重啟資料庫就可以了,當然也可以用指令碼來完成。

Oracle備份與恢復

oracle的備份與恢復有三種標準的模式,大致分為兩大類,備份恢復 物理上的 以及匯入匯出 邏輯上的 而備份恢復又可以根據資料庫的工作模式分為非歸檔模式 nonarchivelog style 和歸檔模式 archivelog style 通常,我們把非歸檔模式稱為冷備份,而相應的把歸檔模式稱為熱備...

oracle備份與恢復

完全恢復 前提條件 所需要的歸檔日誌檔案和online redolog都在 方式一 資料庫在開啟的情況下進行恢復 適合的環境 普通資料檔案損壞 非system undo的表空間的資料檔案 環境準備 1 以scott使用者登入,往test表當中插入資料,並導致日誌切換至少3組以上。sql select...

oracle 備份與恢復

oracle備份和恢復 1 邏輯備份 不用去拷貝資料庫的物理檔案 備份邏輯上的結構 外部的工具 匯出和匯入的工具 dos下的命令 cmd下執行 匯出exp export縮寫形式 檢視幫助 exp help y 使用引數檔案匯出 exp parfile c abc.par abc.par的內容 a s...