您好,登錄后才能下訂單哦!
下文內容主要給大家帶來Oracle導數據至MySQL教程講解,這里所講到的知識,與書籍略有不同,都是億速云專業技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。
因部分項目需求,需要將Oracle中單表的數據定期導入至MySQL,注意此處對數據的時效性要求不高。要求高可以利用goldengate
首先,需要將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數據庫名 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參數可以忽略第一行輸出 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數據導入MySQL
對于以上關于Oracle導數據至MySQL教程講解,如果大家還有更多需要了解的可以持續關注我們億速云的行業推新,如需獲取專業解答,可在官網聯系售前售后的,希望該文章可給大家帶來一定的知識更新。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。