Posted on 2010-02-11 12:46
Prayer 閱讀(554)
評論(0) 編輯 收藏 引用 所屬分類:
DB2
轉過來的,希望對你有用
http://www-900.ibm.com/cn/support/forum/app/tscforum/topic?tid=47273
當用DELETE TABLE命令刪除整個表中數據時,該操作會逐條刪除表中記錄,并記入活動的交易日志。當表中數據量很大時,如果活動的交易日志不夠大,就會遇到交易日志已滿的錯誤,并回滾日志。即使活動的交易日志足夠大,刪除數據量很大的表的操作也會占用很多時間。用以空文件為數據文件導入(IMPORT)并替換(REPLACE)表的辦法可以解決這個問題。例如
IMPORT FROM /dev/null OF DEL REPLACE INTO 目標表名
這樣交易日志只會記錄下該條命令,并立即釋放所占的空間,而不會像刪除命令一樣逐條掃描記錄,這就類似于DROP掉該表再創建一個完全相同只是沒有數據的表一樣。對于屬于DMS表空間的表來說,刪除命令逐條掃描記錄,所占的記錄空間仍標記為該表所用,而不立即釋放空間,需要用REORG命令才可以釋放剩余空間。用 LIST TABLESPACE SHOW DETAIL 可以對比兩條命令執行后表空間中的剩余空間的大小。
用LOAD命令加REPLACE參數可以達到類似IMPORT命令加REPLACE的效果,但是由于LOAD本身不記日志,所以對于可恢復的數據庫,LOAD完成后建議馬上做一下聯機備份的,相比之下,IMPORT命令加REPLACE操作上比較簡單一些。