上一篇帖子說過須要作一個數據庫在win端下的備份腳本,小白表示做爲一個初級DBA,常常會範一些小錯誤,因此只能把這些問題錯誤記錄下來,可是這也不能阻止我探索的腳步不是。數據庫
因此,在作exp導出的增量備份這個參數使用的時候,發現一個奇怪的問題:bash
我建立的一個新用戶,創建一張新表,作一次數據庫全備後,導出了8條數據,可是我向這張表中插入兩條新數據後,作一次增量導出,增量導出的確實僅僅是這張有數據變更的表,可是導出的是10條數據。oracle
難道exp作增量備份的時候導出的是有數據變更的表嗎?而不是將變更的數據單獨的增量導出?工具
帶着這個問題我須要重新作一次實驗:ui
新建表JJJ,向表內插入兩條數據,下面就是使用導出工具exp導出整個數據庫了。spa
exp system/oracle inctype=complete file=/home/oracle/scotts_full.dmp log=/home/oracle/log01.log複製代碼
在導出日誌中能夠看到SCOTTS用戶下的表JJJ成功的導出了兩條數據。日誌
而後咱們繼續向表JJJ中插入兩條數據,而後使用增量導出,看看導出的是兩條數據仍是4條數據。code
exp system/oracle inctype=incremental file=/home/oracle/scotts_incr.dmp log=/home/oracle/log02.log
複製代碼
導出的日誌顯示,表JJJ導出了4條數據,導出的是整張表,而不是增長變更的數據。cdn
那咱們使用導出的備份驗證一下咱們的出來的結果,刪除用戶SCOTTS下的表JJJ,使用imp導入命令將這個備份導入到數據庫裏,查看導入的數據是什麼。blog
imp system/oracle inctype=RESTORE file=/home/oracle/scotts_incr.dmp full=y
複製代碼
在這裏我就不重新建一個新的實例導入了,僅僅是刪除了用戶裏的表,很明顯導入了4條數據。
咱們能夠得出結論了:使用exp導出的增量備份文件,當表內的數據出現變更時,所作的增量備份導出的是有數據變更的整個表,而不是僅僅增量備份有變更的數據。