利用sqlldr工具進行資料遷移時發現的問題解決方法
利用oracle自帶的sqlldr工具從mysql轉到oracle中時,一千萬條的記錄遷移時間只需七,八分鐘左右,真是快啊,但在遷移前也要做好相關的準備工作,下面是我發現的兩個不容易碰到的問題
1.載入clob大型別物件時的問題
當使用sqlldr載入很長的字串(超過4000)到表中的clob型別中時,老是報錯: 資料檔案的欄位超出最大長度.查詢相關資料後得知,sqlldr每次讀入檔案中資料流的資料型別預設為CHAR ,長度為 255 .所以只要超過255字元的段都會報這個錯.解決方法很簡單,在控制檔案中欄位後新增上char(1000000),例如:
LOAD DATA
INFILE *
INTO TABLE DEMO
TRUNCATE
FIELDS TERMINATED BY ','
(d1 ,
d2 char(1000000)
)
其中表demo的列d2是clob型別,當然1000000只是隨便用的一個大數字,只要保證載入的長度不超這個數字就成
2.在匯出文字檔案中,一條記錄多行顯示
load data
infile 'ABC.txt' "str '
'"
continueif last="," //告訴sqlldr在每行的末尾找逗號 找到逗號就把下一行附加到上一行,紅線部分就是需要在控制檔案中加上的語句
into table ABC
fields terminated by ' '
trailing nullcols
(ID,
TITLE_GB2312,
TITLE_BIG5,
TITLE_EN,
COLOR,
SELECT_TYPE,
URL_GB2312,
URL_BIG5,
URL_EN,
CONTENT_GB2312,
CONTENT_BIG5,
CONTENT_EN char(1000000),
FREQUENTLY,
DEFAULT_,
CREATED_DATE,
LAST_MODIFIED_DATE,
STATUS)
1.載入clob大型別物件時的問題
當使用sqlldr載入很長的字串(超過4000)到表中的clob型別中時,老是報錯: 資料檔案的欄位超出最大長度.查詢相關資料後得知,sqlldr每次讀入檔案中資料流的資料型別預設為CHAR ,長度為 255 .所以只要超過255字元的段都會報這個錯.解決方法很簡單,在控制檔案中欄位後新增上char(1000000),例如:
LOAD DATA
INFILE *
INTO TABLE DEMO
TRUNCATE
FIELDS TERMINATED BY ','
(d1 ,
d2 char(1000000)
)
其中表demo的列d2是clob型別,當然1000000只是隨便用的一個大數字,只要保證載入的長度不超這個數字就成
2.在匯出文字檔案中,一條記錄多行顯示
load data
infile 'ABC.txt' "str '
'"
continueif last="," //告訴sqlldr在每行的末尾找逗號 找到逗號就把下一行附加到上一行,紅線部分就是需要在控制檔案中加上的語句
into table ABC
fields terminated by ' '
trailing nullcols
(ID,
TITLE_GB2312,
TITLE_BIG5,
TITLE_EN,
COLOR,
SELECT_TYPE,
URL_GB2312,
URL_BIG5,
URL_EN,
CONTENT_GB2312,
CONTENT_BIG5,
CONTENT_EN char(1000000),
FREQUENTLY,
DEFAULT_,
CREATED_DATE,
LAST_MODIFIED_DATE,
STATUS)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-62550/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 兩款工具解決SQL Server遷移問題DJSQLServer
- 遷移資料庫資料考慮問題資料庫
- 解決mysql8.0.13dm7資料遷移相關問題undefinedMySqlUndefined
- 解決Oracle資料庫遷移後的伺服器負載效能問題JSOracle資料庫伺服器負載JS
- Vue 中利用 eventBus 進行資料通訊的問題Vue
- 教程:使用遷移學習來解決影像問題!遷移學習
- Mysql資料遷移方法MySql
- 伺服器資料遷移的方法-硬體不同如何遷移資料伺服器
- Redis migrate 資料遷移工具Redis
- Larabel遷移檔案時報SQLSTATE[42000]錯誤的解決方法SQL
- 遷移ORACLE資料到MogDB/openGauss時的字符集問題Oracle
- 利用網校原始碼進行網校系統開發可以解決哪些問題原始碼
- 利用rman copy的方法實現儲存上裸裝置資料檔案的遷移ITPUB
- python利用list列表資料進行地圖資料視覺化時需要注意到的問題Python地圖視覺化
- 使用dbeaver 用csv 檔案進行資料遷移
- Dynamics CRM 資料遷移工具DataMigrationUtility
- EaseUS Todo PCTrans,資料遷移工具
- 利用offline datafile檔案方式遷移資料
- Azure Storage 利用 azCopy 複製遷移資料
- fastdfs資料遷移以及fastdfs問題排查記錄AST
- 腦洞小開-Selenium程式碼遷移時常出現的9個報錯問題(內附解決方案)
- 資料庫連結時的時區問題serverTimezone永久解決資料庫Server
- 解決代理超時問題的三種方法
- 解決POI多執行緒匯出時資料錯亂問題執行緒
- 用prebuild mv 方法遷移資料Rebuild
- JPA使用pg資料庫時,bool欄位不能跨庫遷移的解決方案資料庫
- 【Redis 技術探索】「資料遷移實戰」手把手教你如何實現線上 + 離線模式進行遷移 Redis 資料實戰指南(scan模式遷移)Redis模式
- 減少熱備方法遷移資料庫的停機時間資料庫
- 使用Kettle抽取資料時,出現中文亂碼問題解決方案
- EF Core 小技巧:遷移已經應用到資料庫,如何進行遷移回退操作?資料庫
- Windows共享資料夾常見問題解決方法Windows
- 安裝mysql資料庫及問題解決方法MySql資料庫
- max_allowed_packet引起MySQL遷移丟失資料的問題MySql
- 解決AI的小資料問題AI
- 資料編號+1 併發問題解決
- vue渲染時閃爍{{}}的問題及解決方法Vue
- 使用nodeAPI時遇到非同步問題的解決方法API非同步
- 資料遷移的時候出現RMAN-03002,RMAN-06026
- 遇到問題的解決方法