溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle導數(shù)據(jù)至MySQL教程講解

發(fā)布時間:2020-04-26 14:04:58 來源:億速云 閱讀:275 作者:三月 欄目:關系型數(shù)據(jù)庫

下文內容主要給大家?guī)鞳racle導數(shù)據(jù)至MySQL教程講解,這里所講到的知識,與書籍略有不同,都是億速云專業(yè)技術人員在與用戶接觸過程中,總結出來的,具有一定的經(jīng)驗分享價值,希望給廣大讀者帶來幫助。

因部分項目需求,需要將Oracle中單表的數(shù)據(jù)定期導入至MySQL,注意此處對數(shù)據(jù)的時效性要求不高。要求高可以利用goldengate

Oracle導數(shù)據(jù)至MySQL教程講解

首先,需要將visit表中的vid,userid,goodid,time4個字段導出來

export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export TNS_ADMIN=$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export NLS_LANG="AMERICAN_AMERICA.UTF8"
MYDB=visit   #MySQL數(shù)據(jù)庫名
MYUSER=vis_my_user  #MySQL用戶名
MYPASS=is_my_pass  #MySQL密碼
ORA_NAME=visit       #Oracle實例名
ORA_USER=visuser    #Oracle用戶名
ORA_PASS=vispass    #Oracle密碼
 
id=`mysql -u$MYUSER -p$MYPASS $MYDB -N -e "select max(vid) from visit;"`
#MySQL -N參數(shù)可以忽略第一行輸出

sqlplus -S ${ORA_USER}/${ORA_PASS}@${ORA_NAME} << EOF 
set echo off;
set feedback off;
set newpage none;
set verify off;
set pagesize 0;
set term off;
set trims on;
set linesize 600;
set heading off;
set timing off;
set numwidth 38;
SPOOL /tmp/visit_result.txt;   #導出結果位置,以下為查詢語句
select 
        vid || ',' || 
        userid || ',' || 
        goodsid || ',' || 
        time
from
        VISIT
WHERE
        to_char(time,'yyyymmdd') >= to_char(SYSDATE-30,'yyyymmdd')
AND 
        vid > $id
order by
        CREATETIME asc;
SPOOL OFF;
exit
EOF

mysql -u$MYUSER -p$MYPASS $MYDB -e "load data local infile '/tmp/visit_result.txt' into table visit FIELDS TERMINATED BY ',' (userid,goodsid,time,vid);"
#此處為將Oracle數(shù)據(jù)導入MySQL

對于以上關于Oracle導數(shù)據(jù)至MySQL教程講解,如果大家還有更多需要了解的可以持續(xù)關注我們億速云的行業(yè)推新,如需獲取專業(yè)解答,可在官網(wǎng)聯(lián)系售前售后的,希望該文章可給大家?guī)硪欢ǖ闹R更新。

 

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI