我們將我們的Oracle數據庫移植到了新的環境中。有一些客戶表同時存在於兩個數據庫中,但是在新環境中的數據庫的那些表有一些額外的字段。你能幫助我使用導入/導出工具嗎?這樣我就可以或者導入新的空值,或者從原來的環境中導出為空值,然後再導入了。非常感謝。
專家回答:
這裡有兩個類似的選項可以讓你從源數據庫中轉換數據到目標數據庫中,同時在目標系統中保存額外的字段。使用導出/導入工具不會讓你在目標數據庫中保存那些字段。你可以使用帶有導出的查詢選項,但是這只能允許某些行導出,而不能允許只有某些字段(列)導出。
第一個選擇涉及了在源和目標數據庫之間創建一個數據庫鏈接,然後使用插入命令來只插入你需要的數據行和字段。這裡是例子:
INSERT INTO emp (empid, ename, email)
SELECT empid, ename, email
FROM emp@remote_db
WHERE ... ;
第二個選擇可以使用SQL*Loader。你必須以SQL*Loader可以讀取的格式從源表中讀取某些行,但是之後你還可以選擇使用SQL*Loader來插入目標數據庫,或者如果這些行已經存在的話,就把它們附加上去。要了解更多有關SQL*Loader的信息,請查看《Oracle Database 10g Release 2 UtilitIEs (10.2).》