[20140827]imp exp 使用管道遷移資料.txt
[20140827]imp exp 使用管道遷移資料.txt
--最近幫別人升級一套資料庫,9i到11g.
--那個慢真讓人受不了,也許是以前的老機器效能不行.資料量並不大.匯出花了時間比較長.
--我很久就知道匯出可以管道壓縮匯出檔案,實現一邊匯出一邊壓縮的功能,現在硬碟空間都很大,很少考慮這種方式.
--而且現在很少使用這種方式備份資料.
--是否可以使用管道實現一邊匯出一邊匯入呢?這樣可以節約時間,我做了一個測試:
--全部操作都在目的端進行,主要是exp/imp版本問題(煩),作業系統都是linux。
1.首先測試是否不用管道是否正常使用:
exp system/xxxx file=ticd10.dmp tables=icare.ticd10 buffer=20971520 consistent=y log=ticd10_exp.log direct=y triggers=n
imp scott/btbtms@192.168.100.40/test.com file=ticd10.dmp tables=ticd10 buffer=20971520 commit=y log=ticd10_imp.log fromuser=icare touser=scott
--測試透過!為了後面的驗證,改名錶,刪除索引以及約束等資訊。
alter table ticd10 rename to ticd10_org;
2.建立shell指令碼:
$ cat ./play_pipe.sh
#! /bin/bash
mknod exp_pipe p
mknod imp_pipe p
exp system/xxxx file=exp_pipe tables=icare.ticd10 buffer=20971520 consistent=y log=ticd10_exp.log direct=y triggers=n &
sleep 1
dd bs=1M if=exp_pipe of=imp_pipe &
sleep 1
imp scott/btbtms@192.168.100.40/test.com file=imp_pipe tables=ticd10 buffer=20971520 commit=y log=ticd10_imp.log fromuser=icare touser=scott &
chmod 755 play_pipe.sh
./play_pipe.sh > /dev/null 2>&1
--說明: 加入>/dev/null 2>&1後面的引數,主要避免顯示介面太亂了。
3.驗證資料是否正確:
--檢查匯出日誌正常!檢查資料看看。
SCOTT@test> select count(*) from ticd10_org ;
COUNT(*)
----------
24177
SCOTT@test> select count(*) from ticd10 ;
COUNT(*)
----------
24177
SCOTT@test> select * from ticd10 minus select * from ticd10_org;
no rows selected
SCOTT@test> select * from ticd10_org minus select * from ticd10;
no rows selected
SCOTT@test> analyze table scott.ticd10 validate structure;
Table analyzed.
SCOTT@test> analyze table scott.ticd10_org validate structure;
Table analyzed.
--沒有資料丟失,說明是可行。
4.總結:
--測試說明以上方法是可行的。沒有做大規模的測試,真不敢在遷移中使用。
--真正遷移使用,估計自己也不敢用,保險還是選擇傳統的方式。僅僅為了學習的需要,做了這個測試。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-1259389/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- exp,imp 遷移資料
- imp/exp資料遷移
- [20140828]imp exp 使用管道遷移資料(補充)
- 大表exp/imp遷移
- EXP_IMP與dblink資料遷移案例比照
- 誇平臺多個schame資料遷移(exp,imp)
- exp/imp和expdp/imp在跨使用者邏輯遷移資料時的差異
- 用exp、imp遷移包含物化檢視日誌的資料
- Oracle的exp、imp的資料遷移步驟Oracle
- exp imp資料
- EXP,IMP遷移資料庫的時候註釋亂碼解決方法資料庫
- Oracle備份與恢復系列 五 續 EXP/IMP遷移、複製資料庫Oracle資料庫
- 通過oracle10g exp/imp在不同表空間間遷移資料Oracle
- exp_imp_遷移_同使用者_不同表空間的小記
- 【imp】使用imp工具遷移資料時迂迴地排除特定表的匯入
- EXP/IMP遷移資料庫小技巧-不知道使用者密碼的情況下複製使用者資料庫密碼
- Oracle資料庫資料遷移或匯出匯入(exp/imp,dblink)應該注意的點(總結)Oracle資料庫
- Oracle中exp,imp(匯入匯出)資料遷移注意事項Oracle
- 【EXP/IMP】使用EXP /IMP工具“模糊”匯出和匯入
- 【遷移】使用rman遷移資料庫資料庫
- 資料匯入匯出EXP/IMP
- exp/imp匯出匯入資料
- exp/imp工具的使用
- 使用exp/imp來移動表空間到另一個資料庫中的例子資料庫
- 【exp/imp不同版本】Oracle不同版本的exp/imp使用注意事項Oracle
- oracle資料匯出匯入(exp/imp)Oracle
- exp/imp對資料庫版本的要求資料庫
- 【exp】使用exp工具的rows選項完成結構遷移
- 【資料遷移】使用傳輸表空間遷移資料
- exp/imp遷移大表(大小11個G)的疑惑?請指教(已解決)
- Oracle資料匯入匯出imp/exp命令Oracle
- oracle資料庫 exp/imp命令詳解(轉)Oracle資料庫
- oracle資料的匯入匯出imp/expOracle
- Oracle資料庫 Exp/Imp工具效能調優Oracle資料庫
- exp/imp工具
- Oracle imp/expOracle
- 理解exp, imp 使用direct=y 及imp commit=yMIT
- 使用exp/imp匯出匯入資料(邏輯備份恢復)