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另存為~