熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle數據庫的備份與恢復的三種方法

2013-11-13 22:25:46  來源: Oracle 

  Oracle數據庫有三種標准的備份方法它們分別是導出/導入(EXP/IMP)熱備份和冷備份導出備件是一種邏輯備份冷備份和熱備份是物理備份

  一 導出/導入(Export/Import)

  利用Export可將數據從數據庫中提取出來利用Import則可將提取出來的數據送回到Oracle數據庫中去

   簡單導出數據(Export)和導入數據(Import)

  Oracle支持三種方式類型的輸出

  ()表方式(T方式)將指定表的數據導出

  ()用戶方式(U方式)將指定用戶的所有對象及數據導出

  ()全庫方式(Full方式)瘵數據庫中的所有對象導出

  數據導入(Import)的過程是數據導出(Export)的逆過程分別將數據文件導入數據庫和將數據庫數據導出到數據文件

   增量導出/導入

  增量導出是一種常用的數據備份方法它只能對整個數據庫來實施並且必須作為SYSTEM來導出在進行此種導出時系統不要求回答任何問題導出文件名缺省為exportdmp如果不希望自己的輸出文件定名為exportdmp必須在命令行中指出要用的文件名

  增量導出包括三種類型

  ()“完全”增量導出(Complete)

  即備份三個數據庫比如

  exp system/manager inctype=complete file=dmp

  ()“增量型”增量導出

  備份上一次備份後改變的數據比如

  exp system/manager inctype=incremental file=dmp

  ()“累積型”增量導出

  累計型導出方式是導出自上次“完全”導出之後數據庫中變化了的信息比如

  exp system/manager inctype=cumulative file=dmp

  數據庫管理員可以排定一個備份日程表用數據導出的三個不同方式合理高效的完成

  比如數據庫的被封任務可以做如下安排

  星期一完全備份(A)

  星期二增量導出(B)

  星期三增量導出(C)

  星期四增量導出(D)

  星期五累計導出(E)

  星期六增量導出(F)

  星期日增量導出(G)

  如果在星期日數據庫遭到意外破壞數據庫管理員可按一下步驟來回復數據庫

  第一步用命令CREATE DATABASE重新生成數據庫結構;

  第二步創建一個足夠大的附加回滾

  第三步完全增量導入A

  imp system/manager inctype=RESTOREFULL=y FILE=A

  第四步累計增量導入E

  imp system/manager inctype=RESTOREFULL=Y FILE=E

  第五步最近增量導入F

  imp system/manager inctype=RESTOREFULL=Y FILE=F

  二 冷備份

  冷備份發生在數據庫已經正常關閉的情況下當正常關閉時會提供給我們一個完整的數據庫冷備份時將關鍵性文件拷貝到另外的位置的一種說法對於備份Oracle信息而言冷備份時最快和最安全的方法冷備份的優點是

   是非常快速的備份方法(只需拷文件)

   容易歸檔(簡單拷貝即可)

   容易恢復到某個時間點上(只需將文件再拷貝回去)

   能與歸檔方法相結合做數據庫“最佳狀態”的恢復

   低度維護高度安全

  但冷備份也有如下不足

   單獨使用時只能提供到“某一時間點上”的恢復

   再實施備份的全過程中數據庫必須要作備份而不能作其他工作也就是說在冷備份過程中數據庫必須是關閉狀態

   若磁盤空間有限只能拷貝到磁帶等其他外部存儲設備上速度會很慢

   不能按表或按用戶恢復

  如果可能的話(主要看效率)應將信息備份到磁盤上然後啟動數據庫(使用戶可以工作)並將備份的信息拷貝到磁帶上(拷貝的同時數據庫也可以工作)冷備份中必須拷貝的文件包括

   所有數據文件

   所有控制文件

   所有聯機REDO LOG文件

   Initora文件(可選)

  值得注意的使冷備份必須在數據庫關閉的情況下進行當數據庫處於打開狀態時執行數據庫文件系統備份是無效的

  下面是作冷備份的完整例子

  () 關閉數據庫

  sqlplus /nolog sql>;connect /as sysdba sql>;shutdown normal;

  () 用拷貝命令備份全部的時間文件重做日志文件控制文件初始化參數文件

  {$PageTitle=sql>;cp ; ;}

  () 重啟Oracle數據庫

  sql>;startup

  三 熱備份

  熱備份是在數據庫運行的情況下采用archivelog mode方式備份數據庫的方法所以如果你有昨天夜裡的一個冷備份而且又有今天的熱備份文件在發生問題時就可以利用這些資料恢復更多的信息熱備份要求數據庫在Archivelog方式下操作並需要大量的檔案空間一旦數據庫運行在archivelog狀態下就可以做備份了熱備份的命令文件由三部分組成

   數據文件一個表空間一個表空間的備份

  () 設置表空間為備份狀態

  () 備份表空間的數據文件

  () 回復表空間為正常狀態

   備份歸檔log文件

  () 臨時停止歸檔進程

  () log下那些在archive rede log目標目錄中的文件

  () 重新啟動archive進程

  () 備份歸檔的redo log文件

   用alter database bachup controlfile命令來備份控制文件

  熱備份的優點是

   可在表空間或數據庫文件級備份備份的時間短

   備份時數據庫仍可使用

   可達到秒級恢復(恢復到某一時間點上)

   可對幾乎所有數據庫實體做恢復

   恢復是快速的在大多數情況下愛數據庫仍工作時恢復

  熱備份的不足是

   不能出錯否則後果嚴重

   若熱備份不成功所得結果不可用於時間點的恢復

   因難於維護所以要特別仔細小心不允許“以失敗告終”


From:http://tw.wingwit.com/Article/program/Oracle/201311/19094.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.