數據庫恢復是指在數據庫發生故障時,使用數據庫備份還原數據庫,使數據庫恢復到無端障狀態。
數據庫
根據數據庫恢復時使用的備份不一樣,恢復分爲物理恢復和邏輯恢復。所謂的物理恢復就是,利用物理備份來恢復數據庫,即利用物理備份文件恢復損毀文件,是在操做系統級別上進行的。邏輯恢復是指利用邏輯備份的二進制文件,使用Oracle提供的導入工具(如Impdp,Import)將部分或所有信息從新導入數據庫,恢復損毀或丟失的數據。windows
這裏主要講一下邏輯備份與恢復。oracle
這是針對Oracle 12c 的數據備份與恢復,在Oracle的其它版本可能有細微的不一樣,不過原理都是同樣的。app
1.用EXP或EXPDB 導出某個用戶
ide
在DOS環境下輸入EXP或EXPDB,回車。按提示選擇要導出的模式,我這裏是導出用戶模式。工具
oracle數據庫導出時,輸入exp指令後,結果顯示exp不是內部命令或外部命令。 出現這個問題的緣由是系統找不到exp.exe程序,也就是沒有給系統變量配置exp.exe的路徑。解決辦法是將exp.exe的路徑配置到系統變量path中。spa
在windows8環境變量下,配置path系統變量以下:操作系統
Win+X --->「系統」---> 「高級系統設置」---> 「環境變量」--->「系統變量」--->path;orm
而後添加";oracle導入導出命令所在的目錄"這樣就行了;it
oracle導入導出命令所在的目錄:bin下面。
個人配置是這樣的:E:\app\201131001027\product\12.1.0\dbhome_1\BIN;
2.刪除該用戶
用DROP USER C##USER1;刪除一個用戶,但這裏會顯示失敗,緣由是該用戶裏面有表或其它數據,因此要用DROP USER C##USER1 CASCADE;刪除用戶。刪除過程以下:
3.從新建立刪除的用戶(同名),並賦予相同的權限
4 .用IMP或IMPDB導入該用戶的數據,並查詢數據表,存儲過程,觸發器等是否與以前相同
導入數據後查詢導入的數據表,存儲過程,觸發器都和原來的相同,以下圖。
5.用IMP或IMPDB將導出的數據導入另外一個用戶中,並查詢數據表,存儲過程,觸發器等是否在該用戶下存在
用IMP將C##USER1導出的文件導入到C##USER3後,數據表,存儲過程,觸發器都成功導入到了C##USER3用戶下。
邏輯備份與恢復成功!