資料庫匯入匯出

2021-10-22 18:26:47 字數 2135 閱讀 6994

spool緩衝池

附:oracle匯出匯入**

在實際專案中,資料庫的匯出與匯入是一項非常重要的工作,它常常用於資料庫的備份及恢復,或是用於資料的接收(來自上游系統)和下發(給予下游系統)。

oracle中匯出匯入的方法有很多,主要有以下幾項:

1)匯出insert語句,通過執行sql來匯入

2)通過pl/sql developer工具進行匯出匯入

3)exp/imp工具

4)expdp/impdp資料幫浦

5)spool/sqlldr

方法1適用於資料量比較小的匯出匯入,操作還算簡單,資料量比較大時不適用,效率會非常低;

方法2也是適用資料量比較小的匯出匯入,同樣資料量大時效率會驟降;

方法3及方法4都是oracle自帶的匯出匯入專用工具,適用於大量資料的匯出匯入,同時也支援使用者、表空間和資料庫的匯出匯入,區別在於exp/imp是客戶端工具,expdp/impdp是服務端工具,另外expdp/impdp的效率要比exp/imp還要高一些;

方法5也是oracle自帶的工具,它是為解決匯出資料到非oracle資料庫或接收非oracle資料庫資料而存在的,效率也非常可觀。

我們主要介紹上述提到的資料幫浦expdp/impdp、spool和sqlldr。

需要特別注意的是,實際專案中也有可能用到exp/imp工具,當由expdp匯出時,相應的匯入一定要通過impdp進行;而由exp匯出時,相應的匯入一定要通過imp進行。

資料幫浦匯出匯入分四種情況,對應匯出不同內容:表、模式(即使用者)、表空間、資料庫。表方面常用來備份資料或傳遞資料,模式和資料庫方面常用來備份或搭建測試環境。表空間的匯出匯入很少使用。

資料幫浦中牽扯到乙個邏輯概念:路徑名稱(directory),它在物理上對應乙個實際路徑,當使用資料幫浦時,路徑名稱用於指明匯出檔案所在路徑。

資料幫浦雖然功能強大,但有一點非常尷尬,就是它面向的物件仍為oracle,匯出的檔案不能直接匯入到其他種類的資料,且匯出檔案為二進位制檔案,也不能直接檢視匯出內容。為了給下游系統提供資料,或某些時候以**形式為業務人員提供大量資料,可以採用spool緩衝池技術。

spool緩衝池需要在sqlplus工具中使用,為了匯出格式正確,需要提前設定一些引數

sqlplus中的各項引數都有其預設值,而且每次重新登入sqlplus都會重置引數為預設值,鑑於每次使用spool都需要設定引數,我們可以將spool命令封裝在乙個.sql檔案中,每次直接呼叫該檔案即可。

sqlldr是oracle另一項非常方便的工具,它常用來接收其它種類資料庫匯出的文字檔案。

它的命令組成中常包括以下幾項內容:

資料檔案:即接收到的文字檔案(常見.dat.txt)

控制檔案:一種控制資料如何載入的控制檔案(.ctl)

日誌檔案:記錄sqlldr的載入過程、執**況、報錯資訊等(.log)

錯誤檔案:記錄資料載入過程中因各種問題匯入失敗的資料(.bad)

匯入匯出資料庫

1.匯出整個資料庫 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 2.匯出乙個表 mysqldump u 使用者名稱 p 資料庫名 表名 匯出的檔名 3.匯入資料庫 mysql 資料庫名 檔案 mysql u root 資料庫名 檔案 4.備份時,排除某張表的 mysqldump u...

資料庫匯入匯出

啥 也不說了。資料的匯出 1 將資料庫 test 完全匯出 使用者名稱 system 密碼manager 匯出到d daochu.dmp中 exp system manager test file d daochu.dmp full y 2 將資料庫中 system 使用者與sys 使用者的表匯出 ...

資料庫匯入匯出

檢視檔案位置 select from dba directories 建立 create or replace directory my dir as usr datapump create or replace directory my logdir as usr logs 匯出單個例項 expd...