轉載: Oracle 11g Release 1 (11.1) Data Pump 技術 http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_overview.htm#g1015896 本文內容 Oracle Data Pump 技術(O ...
轉載: Oracle 11g Release 1 (11.1) Data Pump 技術 http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_overview.htm#g1015896 本文內容 Oracle Data Pump 技術(Oracle 數據泵技術)可以讓你高速地把數據和元數據從一個資料庫移動到另一個資料庫。 Data Pump 組件 Data Pump 如何移動數據 參考資料 Data Pump 組件 Oracle Data Pump 由三個不同的部分組成: 命令行客戶端 expdp 和 impdp DBMS_DATAPUMP PL/SQL 包(也叫 Data Pump API) DBMS_METADATA PL/SQL 包(也叫 Metadata API) Data Pump 客戶端 expdp 和 impdp 分別調用 Data Pump Export 和 Import 實用工具。 備註: 由 Data Pump 導出實用工具(expdp )導出的轉儲文件與原來的導出工具(exp)導出的文件不相容。因此,由 exp 工具生成的文件不能使用 impdp 工具導入。 多數情況下,Oracle 推薦你使用 Data Pump Export 和 Import 實用工具。與原來的導出/導入工具相比,它們提供更強的數據移動性能。 expdp 和 impdp 客戶端程式通過在命令行輸入的參數,使用 DBMS_DATAPUMP PL/SQL 包中提供的存儲過程,執行導出和導入命令。這些參數可以導出和導入全部部分資料庫的數據和元數據。 當移動元數據時,Data Pump 使用 DBMS_METADATA PL/SQL 包提供的功能。DBMS_METADATA 包提供了一個集中化的設施,來提取、操作,和字典元數據的重新提交。 DBMS_DATAPUMP 和 DBMS_METADATA 包可以在命令行獨立使用。 備註: 所有的 Data Pump 導出和導入處理,包括讀寫轉儲文件,都是在你指定的資料庫上完成的。因此,對於沒有許可權的用戶,DBA 必須在伺服器的文件系統上為 Data Pump 文件創建讀寫的目錄對象。對於有許可權的用戶,可以使用一個預設的目錄對象。 Data Pump 如何移動數據 Data Pump 使用四種機制來移動數據。按移動速度遞增排序,如下所示: Data file 複製 Direct path External tables 資料庫鏈路導入 備註: Data Pump 不會載入禁用 unique 索引的那些表。如果數據被載入到這些表,那麼必須刪除或啟用索引。 備註: 有些情況,使用 direct path 或 external tables,Data Pump 將不能把數據載入到一個表。當表的屬性存在衝突時,就會發生。例如,如果一個表包含一個 LONG 類型的欄位(它需要 direct path 訪問方法),但是有一個阻止 direct path 訪問的條件。此時,會產生一個 ORA-39242 錯誤。為瞭解決該問題,導入前,創建 LOB 列的表。這樣,可以執行導入,並使用值為 APPEND 或 TRUNCATE 的 TABLE_EXISTS_ACTION 參數。 參考資料 Oracle 11g Release 1 (11.1) Documents-Oracle Data Pump http://docs.oracle.com/cd/B28359_01/server.111/b28319/part_dp.htm#CEGJCCHC 最後嘗試 query_db 查詢庫 grant select on dba_tables to query_db; 導入成功