MySQL数据导入oracle
步驟:
? 1、從mysql導出數據文件
?
select sender,imsi,random_code,date_format(token_create_time,'%Y%m%d%H%i%s'),date_format(last_login_time,'%Y%m%d%H%i%s'),1 as status??
from tb_sms_token where last_login_time is not null?
into? outfile '/home/mysql/TB_GH_WLAN_TOKEN.dat'?
FIELDS???
TERMINATED BY '$'???
ESCAPED BY '\\'???
LINES???
TERMINATED BY '\r\n'?
?
select sender,imsi,random_code,date_format(token_create_time,'%Y%m%d%H%i%s'),date_format(last_login_time,'%Y%m%d%H%i%s'),1 as status
from tb_sms_token where last_login_time is not null
into? outfile '/home/mysql/TB_GH_WLAN_TOKEN.dat'
FIELDS
TERMINATED BY '$'
ESCAPED BY '\\'
LINES
TERMINATED BY '\r\n'
?
各條數據用換行分割,字段之前用$分割
2、如有oracle無法處理字段可以用linux的awk或sed工具進行轉換
3、使用oracle的sqlldr命令導入數據文件,控制文件內容如下
?
LOAD DATA???
INFILE "/home/oracle/TB_GH_WLAN_TOKEN.dat"?
APPEND??
INTO TABLE GAME_HALL_TOKEN_TEMP??
FIELDS TERMINATED BY '$'???
(id sequence(max,1),??
?PHONE_NUMBER ,IMSI,TOKEN_VALUE,??
?CREATE_TIME date "yyyyMMddhh24miss",??
?LAST_USE_TIME date "yyyyMMddhh24miss",??
?STATUS integer)?
?
LOAD DATA
INFILE "/home/oracle/TB_GH_WLAN_TOKEN.dat"
APPEND
INTO TABLE GAME_HALL_TOKEN_TEMP
FIELDS TERMINATED BY '$'
(id sequence(max,1),
?PHONE_NUMBER ,IMSI,TOKEN_VALUE,
?CREATE_TIME date "yyyyMMddhh24miss",
?LAST_USE_TIME date "yyyyMMddhh24miss",
?STATUS integer)
?
具體sqlldr使用可以參考oracle幫助
?
需要注意的問題有:
1、主鍵的生成
2、日期格式處理
3、空值的處理
4、大數據量導入可以目標庫中先不建索引,導入后再加上索引,應該可以加快導入速度
轉載于:https://www.cnblogs.com/ylqmf/archive/2012/04/17/2453165.html
總結
以上是生活随笔為你收集整理的MySQL数据导入oracle的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开发管理 (2) -规划项目
- 下一篇: 动态规划求数塔问题