1. 程式人生 > >Oracle另存為~

Oracle另存為~

備份 恢復 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(備份位置的路徑)

解析:其實就是將以文件(塊)存儲在磁盤的數據庫復制到另一個文件夾內保存

恢復更簡易,只要保證數據庫關閉狀態,把備份的庫復制到老的庫位置即可

什麽是熱備份:有人也叫平滑升級,在啟動狀態的數據庫下進行數據庫備份,因為很多場合應用場景絕不可能讓你把某一臺數據庫關閉,高可用集群除外,所以掌握熱備份非常必要(數據庫一定是歸檔模式)

什麽是歸檔模式:當我們啟動數據庫的時候,會有很多初始化信息,其中就會有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另存為~