導出工具(Export)和導入工具(Import)是年頭已久的Oracle數據抽取和加載工具,很多個版本中都有這些工具。導出工具的任務是創建一個平**立的DMP文件(轉儲文件),其中包含所有必要的元數據(CREATE和ALTER語句形式),可能還有數據本身,可以用於重新創建表、模式甚至整個數據庫。導入工具的惟一作用就是讀取這些DMP文件,執行其DDL語句,並加載它找到的所有數據。
DMP文件設計為向後兼容,這說明新版本可以讀取老版本的DMP,並成功地處理。我聽說有人導出過一個Oracle 5的數據庫,並將其成功地導入到Oracle 10
g中(只是一個測試!)。所以導入工具可以讀取老版本的DMP文件,並處理其中的數據。不過,大多數情況下反過來不成立:Oracle9
i Release 1的導入工具進程不能(也不會)成功地讀取Oracle9
i Release 2 或 Oracle 10
gRelease 1創建的DMP。例如,我曾經從Oracle 10
gRelease 1 和Oracle9
i Release 2導出過一個簡單的表。我試圖在Oracle9
i Release 1中使用這些DMP文件時,很快發現Oracle9
i Release 1導入工具甚至不打算處理Oracle 10
gRelease 1的DMP文件:
處理Oracle9
i Release 2文件時,情況也好不到哪兒去: