標籤:備份 恢複 oracle 資料庫
很多的應用情境下,為了防止災難的發生,防範重要資料的丟失,異地容災解決方案層次不窮。那麼資料庫無疑成為廠家重點保護的對象,那麼來一起學習一下Oracle的備份機制。
Oracle備可以分為邏輯匯出/匯入和物理備份/恢複
邏輯備份:其實就是利用exp/imp命令來實現表庫的資料資訊
匯出:
CMD命令模式下exp -? 查看協助,簡單介紹兩個參數和使用格式
1)owner users to export: format is '(user1, user2, .., userN)'指定匯出那些使用者的表,如果一個使用者不存在會出警告不會影響另一個使用者表匯出
格式如下:exp system/system owner=(user1,user2) file=D:/path ------->file為儲存路徑 ------------>owner等於多個參數時候要用括弧括起來
2)tables tables to export: format is '(table1, table2, ..., tableN)'指定匯出那些表,一次可以靈活選擇多個表備份
格式如下:exp system/system tables=(tables1,tables2) file=D:/path.dmp
基本格式大同小異 希望大家多多看協助手冊(參考必須)
匯入:
sql*plus中通過host 指令來調用DOS命令,注意Oracle 9i命令增量匯出inctype已經廢棄,匯入使用imp命令 imp -? SQL*PLUS下要先打上 host
匯入格式:imp system/system file=D:/path.dmp 帶上參數 tables=(user1,user2) 該命令只匯入user1,user2這兩張表。
SQL>host imp system/system file=D:/path.dmp tables=(user1,user2); 在SQL*PLUS中使用方式
不論匯入還是匯出在沒有指定參數的情況下將使用ORACLE_SID預設的環境變數庫,前面已經涉及SID知識。
物理備份/恢複
分為兩大類:冷備份和熱備份
什麼是冷備份,簡單粗暴來說關閉資料庫,複製庫檔案,這些檔案有資料檔案,控制檔案,記錄檔,聯機的BEDOLOG和Init.org(可選)。
冷備份步驟
1)關閉資料庫 shutdown normal(正常關閉)
2)當前在SQL*PLUS環境下 SQL>host copy D:\oracle\product\...\oradata\test(原庫的路徑) E:\Backup(備份位置的路徑)
解析:其實就是將以檔案(塊)儲存在磁碟的資料庫複寫到另一個檔案夾內儲存
恢複更簡易,只要保證資料庫關閉狀態,把備份的庫複製到老的庫位置即可
什麼是熱備份:有人也叫平滑升級,在啟動狀態的資料庫下進行Database Backup,因為很多場合應用情境絕不可能讓你把某一台資料庫關閉,高可用叢集除外,所以掌握熱備份非常必要(資料庫一定是歸檔模式)
什麼是歸檔模式:當我們啟動資料庫的時候,會有很多初始化資訊,其中就會有Redo Buffer重做緩衝區大小,那麼我們資料庫有聯機重做日誌,這個日誌是記錄增刪改查等等操作記錄,一個Oracle的資料庫有至少有兩個歸檔重做日誌,在非歸檔模式下,那麼當第一個歸檔日誌寫滿之後切換第二個聯機重做日誌,當第二個歸檔日誌寫滿以後切換寫第一個聯機重做日誌,新內容將老的日誌記錄覆蓋,那麼會導致內容丟失。如果在歸檔模式下,在一個聯機重做日誌寫滿之後切換時候將會歸檔,並複製到其他目錄,這樣會相對了避免了資料丟失。
熱備份步驟
1)首先我們把資料庫進入mount階段,修改歸檔模式,命令如下
SQL>alter database mount
SQL>alter database archivelog;
2)那麼我們開啟資料,便於對資料庫操作
SQL>alter database open;
3)查看是否開啟歸檔模式
SQL>archive log list;
4)開啟資料表空間備份模式
SQL>alter tablespace users begin backup;
5)備份資料表空間
SQL>host copy D:\app\....\oradate\xx.dbf D:\Backup
6)關閉資料表空間備份
SQL>alter tablespace users end backup;
7)備份控制檔案
SQL>alter database backup controlfile to '' reuse;
8)備份控制檔案指令碼
SQL>alter database backup controllfile to trace;
在Oracle_home\intsance_name\udump控制的追蹤檔案,複製檔案到備份目錄下,熱備份完成,詳細的知識點會繼續完善。
Oracle另存新檔~