Oracle備份與恢復

2021-08-31 11:17:33 字數 4843 閱讀 7244

oracle備份與恢復:

邏輯備份 [匯出(export)匯入(import)]

物理備份 [冷備份(noarchivelog-style)熱備份--歸檔模式(archivelog-style)]

優點:邏輯備份匯入匯出方式:能夠針對行物件進行備份,能夠跨平台實施備份操作並遷移資料,資料庫可以

不關閉.

物理冷備份:備份和恢復迅速,容易達到低維護,高安全的效果執行效率高.

物理熱備份:(理論上)可以根據日誌回溯到上一秒的操作,備份恢復更為精確,而且不需要送閉資料

庫。缺點:

邏輯備份匯入匯出方式:匯出方式並不能保護介質失效,它僅僅是邏輯上的備份。

物理冷備份:單獨使用時,只能提供到某一時間點上的恢復不能按表和按用恢復而肯必須關閉資料庫。

物理熱備份:過程較其他方式複雜,需要不小的空間存放歸檔檔案,操作不允許失誤,否則恢復不能進

行。使用時機:

邏輯備份匯入匯出方式:一般用於有規律的日常備份.

物理冷備份:資料庫可能暫時關閉,或者需要和熱備份配合使用時。

物理熱備份:資料訪問量小,或需要實現表空間及庫檔案級的備份,或需要更高精確備份時。

邏輯備份方式的方法:

現在先來介紹一下邏輯備份方式的方法,利用export可將資料從資料中提取出來,利用import則可將提

取出來的資料送回到oracle資料庫中去。

理論基礎:oracle提供的export和import具有三種不同的操作方式(就是備份的資料輸出/入型別):

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

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

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

在匯入匯出備份方式中,提供了很強大的一種方法,就是增量匯出/匯入,但是它必須作為system來完

成增量的匯入匯出,而且只能是對整個資料庫進行實施。增量匯出以可以分為三種型別:

1.完全增量匯出(complete export)

這種方式將把整個資料庫檔案匯出備份;exp system/manager inctype=complete file=20070911.dmp(

為了方便檢索和事後的查詢,通常我們將備份檔案以日期或者其他有時確含義的字元命名)

2.增量型增量匯出(incremental export)

這種方式將只會備份上一次備份後改變的結果;exp system/manager inctype=incremental

file=20070911.dmp

3. 累積型增量匯出(cumulate export)

這種方式的是匯出自上次完全增量匯出後資料庫變化的資訊。exp system/manager

inctype=cumulative file=20070911.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最好對每次的備份做乙個比較詳細的說明文件,使得數

據庫的恢復更加可靠。

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

當資料庫可以暫時處於關閉狀態時,我們需要將它在這一穩定時刻的資料相關檔案轉移到安全的區域,

當資料庫遭到到破壞,再從安全區域將備份的資料庫相關檔案拷貝回原來的位置,這樣就完成了一次快

搜安全等資料轉移。由於是在資料庫不揭供服務的關閉狀態所以稱為冷備份。冷備份具有很多優良特性

,比如上面圖中我們提到的,快速,方便,以用高效。一次完整的冷備份步驟應該是:

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

2.拷貝相關檔案到安全區域(利用作業系統命令拷貝資料庫的所用的資料檔案、日誌檔案,控制檔案、

引數檔案、口令檔案等(包括路徑))

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

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

su-oracle可以用指令碼來完成。

物理備份之熱備份:(條件--archivelog)

當我們需要做乙個精度比較訥的備份,而且我們的資料庫不可能停掉(少許訪問量)時,這個情況下,

我們就需要歸檔方式下的備份,就是下面計論的熱備份。熱備份可以非常精確的備份表空間級和使用者級

的資料,由於它是根據歸檔日誌的時間軸來備份恢復的,理論上可以恢復到前乙個操作,甚至就是前一

秒的操作。具體步驟如下:

1.通過檢視v$database,檢視資料庫是否在archive模式下:

sql>select log_mode from v$database;

如果不是archive模式則設定資料庫執行於當檔模式下:

sql>shutdown immediate;

sql>startup mount;

sql>alter database archivelog;

sql>alter database open;

如果automaticarchival顯示為「enabled」,則資料庫歸檔方式為自動歸檔。否遇需要手工歸檔,或者

將歸檔方式修改為自動歸檔,如:

正常shoutdown資料庫,在引數檔案中init.ora中加入如下引數

sql>shutdown immediate

修改init.ora

log_archive_start=true

log_archive_dest1=oracle_home/admin/o816/arch(歸檔日值存放位置可以自己定義)

sql>startup

然後重新啟動資料庫,此時oracle資料庫將以自動歸檔的方式工作在archive模式下。其中引數

log_archive_dest1是指定的歸檔日誌檔案的路徑,建議與oracle資料庫檔案存在不同的硬碟,一方面

減少磁碟i/o競爭,另外一方面也可以避免資料庫檔案所在地在硬碟毀壞之後的文丟失。歸檔路徑也可

以直接指定為磁帶等其它物理儲存裝置,但可能要考慮讀寫速度、可寫條件和效能等因素。

注意:當資料庫處在archive模式下時,一定要保證指定的歸檔路徑可寫,否則資料庫就會掛起,直到

能夠歸檔所有歸檔資訊後才可能使用。另外為建立乙個有效的備份,當資料庫在建立時,必須履行乙個

全資料庫的冷備份,就是說資料庫需要執行歸檔方式,然後正常關閉資料庫,備份所有的資料庫組成文

件。這一備份是整個備份的基礎,因為該備份提供了乙個所用資料庫檔案的拷貝。(體現了冷備份與熱

備份的合作關係,以級強大的能力)

2.備份表空間檔案:

a.首先修改表空間檔案為備份模式 alter tablespace tablespace_name end backup;

b.然後拷貝表空間檔案到安全區域!cp tablespace_name d_path;

c.最後將表空間的備份模式關閉 alter tablespace tablespace_name end backup;

3.對歸檔日誌檔案的備份:

停止歸檔程序式-->備份歸檔日誌檔案-->啟動歸檔程序

如果日誌文件比較多,我們將它們寫入乙個檔案成為乙個恢復的參考: $files ls 《歸檔檔案路徑

>/arch*.dbf;export files

4.備份控制檔案:

sql>alter database backup controlfile to 'controlfile_back_name(一般用2007-09-11的方式)'

reuse;

當然,我們也可以將上面的東東寫為乙個指令碼,在需要的時候執行就可以了:

指令碼範例:

su-oraclereuse;

!files ls《歸檔檔案路徑》/arch*.dbf;export files

熱備份的恢復,對於歸檔方式資料庫的恢復要求不但有有效的日誌備份還要求有乙個在歸檔方式下作的

有效的全庫備份。歸檔備份在理論上可以無資料丟失,但是對於硬體以及操作人員的要求都比較高。在

我們使用歸檔方式備份的時時候。全庫物理備份也是非常重要的歸當方式下資料庫的恢復要求從全備份

至失幾點所有的日誌都要完好無缺。

恢復步驟:log_archive_dest_1

shutdown資料庫。

將全備份的資料檔案放到原來系統的目錄中。

將全備份到失敗點的所有歸檔日誌放到引數log_archive_dest_1所指定的位置。

利用sqlplus登陸到空例項。(connect / as sysdba)

然後  startup mount

set autorecovery on

recover database;

alter database open;

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...