ORACLE導出(exp)與數據泵(expdp)
ORACLE提供了兩個外部實用程序來將數據庫對象從一個數據庫傳輸到另一個數據庫。傳統的導出(exp/imp)是在10g之前引入的,然後從10g開始,ORACLE引入了datapump(expdp/impdp),作為對傳統導出工具的增強。
傳統出口(出口/進口)
這是一個ORACLE數據庫外部實用程序,用於將數據庫對象從一個數據庫服務器傳輸到另一個數據庫服務器。它允許在不同的平臺、不同的硬件和軟件配置上傳輸數據庫對象。在數據庫上執行導出命令時,數據庫對象將與其依賴對象一起提取。這意味著,如果它提取一個表,依賴項(如索引、註釋和授權)將被提取並寫入導出文件(二進制格式轉儲文件)。下面是導出完整數據庫的命令,
Cmd>;exp userid=用戶名/[電子郵件保護]\u tns文件=出口.dmp日誌=導出.log完整=y統計=無
上面的命令將把數據庫導出到名為出口.dmp. 然後可以使用imp實用程序將這些數據導入到另一個數據庫中。下面是要導入的命令,
Cmd>;imp userid=用戶名/[電子郵件保護]\u tns文件=出口.dmp日誌=導入.log完整=y統計=無
數據泵導出(expdp/impdp)
這也是一個ORACLE數據庫外部實用程序,用於在數據庫之間傳輸對象。此實用程序來自ORACLE 10g數據庫。它比傳統的exp/imp實用程序有更多的增強。把元數據和這些對象的數據格式都用這個文件來控制。expdp和impdp命令可以通過三種方式執行,
- 命令行界面(在命令行中指定expdp/impdp參數)
- 參數文件接口(在單獨的文件中指定expdp/impdp參數)
- 交互式命令界面(在導出提示中輸入各種命令)
使用expdp有五種不同的數據卸載模式。他們是,
- 完全導出模式(卸載整個數據庫)
- 模式(這是默認模式,卸載特定模式)
- 表模式(卸載指定的一組表及其從屬對象)
- 表空間模式(卸載指定表空間中的表)
- 可傳輸表空間模式(僅卸載指定表空間集中的表及其依賴對象的元數據)
下面是使用expdp導出完整數據庫的方法,
Cmd>;expdp userid=用戶名/密碼dumpfile=expdp_出口.dmp日誌文件=expdp_導出.logfull=y目錄=導出
然後應該使用impdp實用程序將此文件導入另一個數據庫。
傳統的輸出和數據泵有什麼區別?•Datapump操作一組名為轉儲文件集的文件。但是,正常的導出操作在一個文件上。•Datapump訪問服務器中的文件(使用ORACLE目錄)。傳統的導出可以同時訪問客戶端和服務器中的文件(不使用ORACLE目錄)。•導出(exp/imp)將數據庫元數據信息表示為轉儲文件中的ddl,但在datapump中,它以XML文檔格式表示。•Datapump具有並行執行,但採用exp/imp單流執行。•Datapump不支持磁帶等順序媒體,但傳統的導出支持。 |