備份的目的在於,當系統或資料庫出現問題時,能夠快速將資料庫進行恢復。對於
oracle
資料庫,一般有兩種備份方式:
「物理備份」和「邏輯備份」。「物理備份」指的是以
copy
資料檔案方式進行備份;「邏輯備份」指的是用
export
等方式將資料從資料庫中抽取出來。物理備份又可以分為冷備份和熱備份。以下是各種備份的說明及前提條件。
◆cold backup
(冷備份)
主要指在關閉資料庫的狀態下進行的資料庫完全備份,備份內容包括所有資料檔案、控制檔案、聯機日誌檔案、
ini檔案。 ◆
hot backup
(熱備份)
指在資料庫處於執行狀態下,對資料檔案和控制檔案進行備份,要使用熱備份必須將資料庫執行在(
archive log
)歸檔方式下。 ◆
export
(邏輯備份)這是最簡單的備份方法,可按資料庫中某個表、某個使用者或整個資料庫來匯出,並且支援全部、累計、增量三種方式。使用這種方法,資料庫必須處於開啟狀態,而且如果資料庫不是在
restrict
狀態將不能保證匯出資料的一致性。
「物理備份」方式以相當於
copy
資料檔案的方式進行備份,恢復時可以快速以相當於
copy
的方式將備份的資料
copy
回來,所以備份速度特別是恢復速度非常快。
如果不採用
oracle archive log
模式,只有兩種可用的備份方法:冷備份或
export
邏輯備份。根據關鍵業務伺服器的特點,停下資料庫進行冷備份是根本不可能的,因此如果不採用
archive log
,只能進行邏輯備份。
如果僅採用「邏輯備份」方式,恢復時會有以下兩個主要問題: 1
.無法恢復到最近時間點的資料。只能恢復到上一次
export
時的資料狀態,當天的資料將丟失。
oracle archive log
模式下的物理備份可以用資料檔案備份及
archive log
備份,將資料庫恢復到資料庫失敗前的時間點,不會丟失資料。 2
.完成恢復可能需要很長時間。恢復只能用
import
方法進行,所以需要的時間包括: a
.create database
及所有的
tablespace:以每
2分鐘初始化乙個
2g的資料檔案來計算,建立乙個
400g
的oracle
資料庫需要約6.
7個小時。 b
.import
。時間較難確定,但保守估計應在
10個小時以上(如果
import
過程中出現問題,恢復時間將延長) 3
.恢復時步驟較多,易出現人為故障。 由於
這些原因,一般備份
/恢復時都把
export/import
的方式做為輔助備份
/恢復方式,對一些重要的表進行二級保護。這種備份方式也稱為「邏輯備份」方式,當某些重要的表被意外刪除時可進行邏輯
import
恢復。
而對於整個資料庫的日常備份
/恢復,需要採用「物理備份」方式,即以相當於
copy
資料檔案的方式進行備份,恢復時可以快速以相當於
copy
的方式將備份的資料
copy
回來。一般物理備份
/恢復都採用
oracle rman
工具來進行。
下面是「邏輯備份」與「物理備份」在資料庫故障時的恢復比較: 1
.oracle
邏輯錯誤造成無法啟動
邏輯恢復:
重新create database
及各tablespace
,import
。可恢復到上次
export
的資料
物理恢復:
將所有datafile copy
回來,並利用
archive log
將資料庫
recover
到故障前的狀態 2
.某乙個
datafile
故障或丟失
邏輯恢復:
重新create database
及各tablespace
,import
。可恢復到上次
export
的資料
物理恢復:
將該datafile copy回來
3.某乙個tablespace故障
邏輯恢復:
重新create database
及各tablespace
,import
。可恢復到上次
export
的資料
物理恢復:
將該tablespace copy回來
4.意外drop table
邏輯恢復:
import
該table
物理恢復:
將備份恢復到另一伺服器上,
export
該table
,在原資料庫中
import 5
.意外drop user
邏輯恢復:
import
該user
物理恢復:
將備份恢復到另一伺服器上,
export
該user
,在原資料庫中
import 6
.意外drop tablespace
邏輯恢復:
情況較複雜,恢復易造成資料庫表之間的參照完整性被破壞。在此不做分析
物理恢復:
情況較複雜,恢復易造成資料庫表之間的參照完整性被破壞。在此不做分析
在進行資料庫的恢復時,一定要了解
oracle archive log
模式的原理,分析故障的原因,然後針對故障的情況進行相應的恢復。例如以下情況: ◆
oracle
程式檔案損壞?
◆control file損壞?
◆online redo log損壞?
◆datafile損壞?
◆archive log損壞?
◆table
或其中資料被意外刪除?
51cto
.com
講一講抽象工廠模式
1.新建產品族介面 我這裡可以理解為生產乙個產品需要兩個步驟 步驟1 public inte ce iproduct1 步驟2 public inte ce iproduct2 2.新建工廠介面 乙個工廠生產乙個產品都需要這兩個步驟 public inte ce ifactory 3.新建各個產品的...
設計模式課程 設計模式精講 10 1 外觀模式講解
1 課堂講解 1.1 型別 1.2 定義 1.3 適用場景 1.4 優點 1.5 缺點 1.6 相關聯設計模式對比 1 課堂講解 1.1 型別 型別 結構型 1.2 定義 定義 又叫門面模式,提供了乙個統一的介面,用來訪問子系統中的一群介面 外觀模式定義了乙個高層介面,讓子系統更容易使用 1.3 適...
設計模式精講
c 實現設計模式 1 設計模式簡介 c 實現設計模式 2 模板方法 c 實現設計模式 3 strategy模式 c 實現設計模式 4 觀察者模式 c 實現設計模式 5 裝飾模式 c 實現設計模式 6 橋模式 c 實現設計模式 7 工廠模式 c 實現設計模式 8 抽象工廠模式 c 實現設計模式 9 原...