利用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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用bulkCollect解決資料遷移問題
- 模擬利用MV進行資料遷移
- 兩款工具解決SQL Server遷移問題DJSQLServer
- sqlldr 完成mysql到oracle的資料遷移MySqlOracle
- 利用MongoDB的SplitVector命令實現併發資料遷移MongoDB
- Laravel5的資料庫表建立問題 資料庫遷移操作報錯問題解決Laravel資料庫
- EXP,IMP遷移資料庫的時候註釋亂碼解決方法資料庫
- 使用RMAN進行資料遷移
- 今天晚上進行資料遷移
- 利用RMAN Convert database特性進行跨平臺遷移資料Database
- 使用資料泵遷移遇到的問題
- 遷移資料庫資料考慮問題資料庫
- Vue 中利用 eventBus 進行資料通訊的問題Vue
- 海量資料遷移之sqlldr和datapump的缺點分析SQL
- 解決mysql8.0.13dm7資料遷移相關問題undefinedMySqlUndefined
- 用python進行資料庫資料遷移Python資料庫
- 資料遷移部分問題總結
- 解決Oracle資料庫遷移後的伺服器負載效能問題JSOracle資料庫伺服器負載JS
- SQL SERVER 資料庫遷移孤立使用者的解決方法SQLServer資料庫
- 行遷移(鏈化行)問題
- 使用RMAN進行Oracle資料庫遷移Oracle資料庫
- rman進行跨平臺資料遷移
- 關於Oracle資料庫中行遷移/行連結的問題Oracle資料庫
- 資料遷移中需要考慮的問題
- 發現問題,解決問題
- 解決svn遷移過程中出現:SVN Error: is not the same repository as的問題Error
- Oracle 利用RMAN 完成資料遷移Oracle
- Mysql資料遷移方法MySql
- 利用RMAN遷移表空間碰到的問題(五)
- 利用RMAN遷移表空間碰到的問題(四)
- 利用RMAN遷移表空間碰到的問題(三)
- 利用RMAN遷移表空間碰到的問題(二)
- 利用RMAN遷移表空間碰到的問題(一)
- 升級windows10失敗提示“執行此工具時出現問題”的2個解決方法Windows
- 教程:使用遷移學習來解決影像問題!遷移學習
- 谷歌利用資料解決女性員工流失問題谷歌
- 處理表的行遷移的問題
- GoldenGate資料遷移的問題總結(一)Go