增量匯出是一種常用的資料備份方法,它只能對整個資料庫來實施,並且必須作為system來匯出。在進行此種匯出時,系統不要求回答任何問題。匯出檔名預設為export.dmp,如果不希望自己的輸出檔案定名為export.dmp,必須在命令列中指出要用的檔名。
增量匯出包括三個型別:
(1)「完全」增量匯出(complete)
即備份整個資料庫,比如:
$exp system/manager inctype=complete file=990702.dmp
(2) 「增量型」增量匯出
備份上一次備份後改變的資料。比如:
$exp system/manager inctype=incremental file=990702.dmp
(3) 「累計型」增量匯出(cumulative)
累計型匯出方式只是匯出自上次「完全」 匯出之後資料庫中變化了的資訊。比如:
$exp system/manager inctype=cumulative file=990702.dmp
資料庫管理員可以排定乙個備份日程表,用資料匯出的三個不同方式合理高效地完成。
比如資料庫的備份任務可作如下安排:
星期一:完全匯出(a)
星期二:增量匯出(b)
星期三:增量匯出(c)
星期四:增量匯出(d)
星期五:累計匯出(e)
星期六:增量匯出(f)
星期日:增量匯出(g)
如果在星期日,資料庫遭到意外破壞,資料庫管理員可按以下步驟來恢復資料庫:
第一步:用命令create database重新生成資料庫結構;
第二步:建立乙個足夠大的附加迴段。
第三步:完全增量匯入a:
$imp system./manager inctype= rectore full=y file=a
第四步:累計增量匯入e:
$imp system/manager inctype= rectore full=y file =e
第五步:最近增量匯入g:
$imp system/manager inctype=restore full=y file=g
但是 資料庫的增量備份意義沒想象中那麼大,因為增量備份最小的差異單元是表,也就是說只要乙個表的資料有變動,那麼這個表就要被全表匯出。
後來我做了乙個試驗,證明他的觀點是錯誤的
首先在資料庫的suk使用者下建立a、b兩個表,並分別插入2、3條資料,執行匯出:
c:>exp system/space6212 file='d:tempincri_com.dmp' inctype=complete log='d:
empincri_com.log' full=y
export: release 9.2.0.1.0 - production on 星期五 3月 24 15:14:10 2006
連線到: oracle9i enterprise edition release 9.2.0.1.0 - production
with the partitioning, olap and oracle data mining options
jserver release 9.2.0.1.0 - production
exp-00041: inctype 引數已廢棄
今天遇到乙個需求,需要對兩個資料庫做資料同步,由於兩個資料分別處於內網和外網,無法直接連通。由於資料量較大,同事建議用exp做增量備份。我的觀點是exp的增量備份沒有意義,因為增量備份最小的差異單元是表,也就是說只要乙個表的資料有變動,那麼這個表就要被全表匯出。同事的觀點是exp的增量是只匯出新增的資料行,並說以前做過測試驗證過。
目前我們的資料庫版本是9204。
後來我做了乙個試驗,證明他的觀點是錯誤的
首先在資料庫的suk使用者下建立a、b兩個表,並分別插入2、3條資料,執行匯出:
c:>exp system/space6212 file='d:tempincri_com.dmp' inctype=complete log='d:
empincri_com.log' full=y
export: release 9.2.0.1.0 - production on 星期五 3月 24 15:14:10 2006
連線到: oracle9i enterprise edition release 9.2.0.1.0 - production
with the partitioning, olap and oracle data mining options
jserver release 9.2.0.1.0 - production
exp-00041: inctype 引數已廢棄
已匯出 zhs16gbk 字符集和 al16utf16 nchar 字符集
. 正在匯出同義詞
. 正在匯出檢視
. 正在匯出引用完整性約束條件
. 正在匯出儲存的過程
. 正在匯出運算子
. 正在匯出索引型別
. 正在匯出位圖, 功能性索引和可擴充套件索引
. 正在匯出後期表活動
. 正在匯出觸發器
. 正在匯出實體化檢視
. 正在匯出快照日誌
. 正在匯出作業佇列
. 正在匯出重新整理組和子組
. 正在匯出維
. 正在匯出 post-schema 過程物件和操作
. 正在匯出使用者歷史記錄表
. 正在匯出預設值和系統審計選項
. 正在匯出統計
匯出成功終止,但出現警告。
然後在a表再插入一條資料,提交,增量匯出:
c:>exp system/space6212 file='d:tempincri_incremental.dmp' inctype=incremen
l log='d:tempincri_incremental.log' full=y
export: release 9.2.0.1.0 - production on 星期五 3月 24 15:15:57 2006
連線到: oracle9i enterprise edition release 9.2.0.1.0 - production
with the partitioning, olap and oracle data mining options
jserver release 9.2.0.1.0 - production
exp-00041: inctype 引數已廢棄
已匯出 zhs16gbk 字符集和 al16utf16 nchar 字符集
即將匯出整個資料庫...
. 正在匯出表空間定義
. 正在匯出配置檔案
. 正在匯出使用者定義
. 正在匯出角色
. 正在匯出資源成本
. 正在匯出回退段定義
. 正在匯出資料庫鏈結
. 正在匯出序號
. 正在匯出目錄別名
. 正在匯出上下文名空間
. 正在匯出外部函式庫名稱
. 正在匯出物件型別定義
. 正在匯出系統過程物件和操作
. 正在匯出 pre-schema 過程物件和操作
. 正在匯出群集定義
. 即將匯出 system 的表通過常規路徑 ...
. 即將匯出 outln 的表通過常規路徑 ...
. 即將匯出 dbsnmp 的表通過常規路徑 ...
. 即將匯出 wmsys 的表通過常規路徑 ...
. 即將匯出 suk 的表通過常規路徑 ...
. . 正在匯出表 a 4 行被匯出.
正在匯出同義詞
. 正在匯出檢視
. 正在匯出引用完整性約束條件
. 正在匯出儲存的過程
. 正在匯出運算子
. 正在匯出索引型別
. 正在匯出位圖, 功能性索引和可擴充套件索引
. 正在匯出後期表活動
. 正在匯出觸發器
. 正在匯出實體化檢視
. 正在匯出快照日誌
. 正在匯出作業佇列
. 正在匯出重新整理組和子組
. 正在匯出維
. 正在匯出 post-schema 過程物件和操作
. 正在匯出使用者歷史記錄表
. 正在匯出預設值和系統審計選項
. 正在匯出有關刪除物件的資訊
. 正在匯出統計
匯出成功終止,但出現警告。
c:>
從紅色標註文字可以發現a表插入一條資料後再進行增量備份時時將整個a表的所有資料進行輸出備份!!!!!
並且,exp時會提示增量備份引數被廢除,但其實這個引數還是起作用的,估計是為了向後相容
innobackupex備份(全備 增量備)與恢復
安裝教程請檢視這篇文章 innobackupex備份選項 user 指定資料庫備份使用者 password 指定資料庫備份使用者密碼 port 指定資料庫埠 host 指定備份主機 socket 指定socket檔案路徑 databases 備份指定資料庫,多個空格隔開,如 databases db...
pg rewind增量同步備庫
在資料庫變得比較大時,例如上tb,如果部署了postgresql primary standby 流複製或者log shipping ha.當發生了failover,old primary節點可能因為某些原因需要重新同步資料.在廣域網上,由於網路異常也可能造成standby節點落後主節點,導致需要重...
mysql增量備份幾種 mysql的增量備份
一 啟用 binary log 修改 mysql server 的系統設定檔案 eg.etc my.cnf 在 mysqld 區塊中加上 log bin mysql bin 選項,然後重新啟動 mysql server,例如 mysqld log bin 啟用後你應該可以在 mysql 的 data...