用了mysql報oracle錯誤_mysql數據遷移到oracle錯誤總結

最近處理一個需求,使用腳本方式將mysql里的數據遷移到oracle中。處理思路主要是利用mysqldump導出的insert dump文件,oracle中建立相同表結構執行insert。記錄本次操作中遇到的問題與處理方式:

1、超4000字節字符串導入

問題描述

oracle varchar2是不能插入超4000字節的字符串的。但是mysql中并沒有限制。此類字段數據無法導入。

處理方式

開始將字段轉換為clob字段。但目標端oracle數據庫部分業務使用dblink連接。dblink是不支持使用lob字段的。目標端oracle版本為12.2。oracle 12c版本已擴展最大值支持到32767。調整數據庫支持32k修改如下:

ALTER SYSTEM SET MAX_STRING_SIZE = EXTENDED SCOPE=SPFILE;

shutodnw immediate;

startup upgrade;

@$ORACLE_HOME/rdbms/admin/utl32k ;

shut immediate;

startup;

再將導入列屬性改為需求大小導入成功。但是還有一個問題,dblink不支持clob字段,但是超4000字節的字符串同樣不支持。分析主要是select查詢業務,業務的sql語句中改為substr取4000字節即可。

2、日期字段修改

問題描述

mysql dump方式導出的insert語句中,關于日期部分,目標oracle端建立date屬性列無法識別導入。

處理方式

oracle建立表結構時先使用varchar導入。導入后再進行手工準換。

alter table test add col_name_t date; --添加一個date中間列

update test set col_name_t = TO_DATE(col_name,'yyyy-mm-dd hh24:mi:ss');

commit;

alter table test drop column old_col_name; --刪除舊的列

alter table xxx rename column col_name_t to col_name; --轉換中間列

3、目標oracle端數據與mysql時間相差8小時

問題描述

數據導入后,業務查詢發現oracle端日期比mysql庫晚8小時。這主要是時區導致。數據庫采用北京時間東八區,mysqldump默認使用–tz-utc參數是0時區。導致導出文件中的timestamp時間值相對于數據庫查詢顯示的時間倒退了8個小時。

處理方式

mysqldump加入 --skip-tz-utc參數

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540033.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540033.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540033.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

運行Hadoop自帶的wordcount單詞統計程序

1.使用示例程序實現單詞統計 (1)wordcount程序 wordcount程序在hadoop的share目錄下,如下: 123456789[rootleaf mapreduce]# pwd /usr/local/hadoop/share/hadoop/mapreduce[rootleaf mapreduce]# ls hadoop-mapreduce-client-app…

java for 線程_如何在for循環中使用多線程

import java.util.concurrent.Executor;import java.util.concurrent.Executors;public class Test {private final static Executor executor Executors.newCachedThreadPool();//啟用多線程public static void main(String[] args) {for(int i0;i<3;i){final int ji; …

office2010安裝出現錯誤1935的解決方法

安裝Office2010 professional plus 2010過程中彈出錯誤&#xff0c;提示錯誤 1935&#xff0c;安裝程序集組件的過程中發生錯誤。HRESULT:0x800070BC9 如下圖所示&#xff1a; 這個錯誤是由于電腦.net framework 未安裝或安裝有錯誤導致的。解決方法為&#xff1a;下載.net fra…

java linux 服務_java項目部署Linux服務器幾種啟動方式總結經驗

一&#xff1a;兩種部署包&#xff1a;部署之前先說下兩種包&#xff0c;java項目部署到服務器一般有用war包的&#xff0c;也有用jar包的&#xff0c;微服務spring-cloud普及后大部分打包都是jar&#xff0c;部署之前先搞清楚自己要打war包還是jar包&#xff0c;下面小介紹兩種…

HTML溫故知新1

什么是 HTML&#xff1f; HTML 是用來描述網頁的一種語言。 HTML 指的是超文本標記語言 (Hyper Text Markup Language)HTML 不是一種編程語言&#xff0c;而是一種標記語言 (markup language)標記語言是一套標記標簽 (markup tag)HTML 使用標記標簽來描述網頁 HTML 標簽 HTML 標…

java 接口與包_java常用類包接口

類StringIntegerLongFileDateThread(java.lang.ThreadThread類的定義&#xff1a;public class Thread extends Object implements Runnable)包java.lang.*;java.io.*;java.util.*;java.sql.*;java.math.*;接口:ComparableCollectionMapListRunnable(java.lang.Runnable 該接口…

當使用easyui時,表單的onchange事件失效

功能&#xff1a;新增信徒頁面&#xff0c;當選擇未受洗&#xff0c;設置受洗時間&#xff0c;教堂選項 disabled。 步驟&#xff1a; 在<select>標簽里加入 οnchange"xxxxx()"。 在js里編寫xxxxx()方法。 測試 教堂選項沒有 disabled。 原因&#xff1…

shell腳本:批量修改文件名(文件名中添加字符)

舉例如下&#xff1a;批量創建10個隨機字符串的文件&#xff0c;要求每個文件名后面添加_aaa,后綴名不變&#xff1b; [rootlocalhost goodboy]# ls adddbbdedf.html baacjaiija.html bhcfaabcfh.html dgjdcdfbca.html efejadfdji.html agdhcdeaje.html bgffbffjcg.html …

java 格式化小數_java-如何格式化小數位數精度

正如評論中指出的那樣,如果您只有一個String表示形式,那么就無法判斷它實際上是否有重復的部分,或者精度是否不夠高.更新我正在研究一個用分子和分母表示為BigIntegers的有理數的類(并假定盡可能地簡化).在那里,我實現了一種以十進制字符串形式表示的方法,并提出了以下方法&…

當使用easyui時,jquery的設置disabled屬性方法失效

功能&#xff1a;選擇未受洗&#xff0c;設置受洗時間&#xff0c;教堂選項 disabled 步驟&#xff1a; 使用了常規的jquery的方法 //兩種方法設置disabled屬性$(#areaSelect).attr("disabled",true);$(#areaSelect).attr("disabled","disabled&quo…

用戶登錄提交前,密碼加密傳輸

需求&#xff1a; 因為OA放在外網&#xff0c;為了提高安全性&#xff0c;用戶登錄時&#xff0c;密碼加密傳輸&#xff0c;數據庫密碼加密保存。 解決方案&#xff1a; 前臺加密用JQUERY MD5插件&#xff0c;這個工具從網上下載的。 后臺密碼加密&#xff0c;用java的MD5工…

java 內存分布_一圖看懂JVM內存分布,永久記住!

經常在說JVM內存分布&#xff0c;也經常去看&#xff0c;但是總是在面試的時候說不清楚或者模糊&#xff0c;甚至有可能說錯&#xff0c;只有真正的理解&#xff0c;并且在心中有一個總結構圖才能記得清楚說的清楚&#xff01;| JVM總覽圖java內存區域主要分程序計數器、Java虛…

Winodows10 安全登錄(Administrator賬戶與Microsoft Account關聯

我們都知道windows系統最大的管理員是administrator&#xff0c;linux是root&#xff0c;從windows7時代開始&#xff0c;安裝操作系統的時候會在最后一步提示創建一個本地賬戶一直延續到windows8、windows8.1、windows10。近期微軟發布了windows10后&#xff0c;很多用戶都開始…

微信企業號三個連接模式

在銀行里做微信企業號開發有半年多了&#xff0c;因銀行封裝了調用微信企業號的方法&#xff0c;說是微信企業號開發&#xff0c;其實就是jsp&#xff0c;java代碼的編寫&#xff0c;銀行用的開發工具是EOS&#xff0c;對這個工具我只想說&#xff0c;用久了&#xff0c;就找不…

java opencv安裝路徑_Java搭建opencv開發環境

由本菜13歷經4天才搭建的好的Java OpenCv開發環境帶來 .PS:不保證過程都是必須的,必要的.反正我自己成功了... 嘿嘿嘿.官方網站SourceForge點擊FilesFiles因為我的機器是Mac,所以選擇了unix. 然后下載3.4.3版本3.4.3PS:主要是因為剛開始接觸這個OpenCv的時候是用HomeBrew裝的, …

iBatis——執行原理

a) 執行原理 1、 將一個對象作為 參數&#xff08;對象可以是Java Bean&#xff0c;Map實現和基本類型的包裝類&#xff09;&#xff0c;參數對象將為SQL修改語句和查詢語句設定參數值。 2、 執行 mapped statement。這是SQL Maps最重要的步驟。SQL Map框架將創建一個PreparedS…

讓IT工作者過度勞累的12個壞習慣

1. QQ、MSN、Gtalk&#xff0c;一個都不少。壞習慣 由于聊天對象與聊天內容的不可控制性&#xff0c;使用即時通訊軟件是降低工作效率的罪魁禍首。有調查顯示&#xff0c;使用即時通訊軟件&#xff0c;工作效率會降低 20%. 2. “總想多看一點點”——忘記上網的目的。 本想查找…

flux java_Java反應式框架Reactor中的Mono和Flux

1. 前言最近寫關于響應式編程的東西有點多&#xff0c;很多同學反映對Flux和Mono這兩個Reactor中的概念有點懵逼。但是目前Java響應式編程中我們對這兩個對象的接觸又最多&#xff0c;諸如Spring WebFlux、RSocket、R2DBC。我開始也對這兩個對象頭疼&#xff0c;所以今天我們就…

MySQL grant 權限,分別可以作用在多個層次上

1. grant 作用在整個 MySQL 服務器上&#xff1a;grant select on *.* to dbalocalhost; -- dba 可以查詢 MySQL 中所有數據庫中的表。grant all on *.* to dbalocalhost; -- dba 可以管理 MySQL 中的所有數據庫2. grant 作用在單個數據庫上&#xff1a;grant select on testdb…

用了2年的EOS的感受

EOS是普元信息技術股份有限公司開發的產品&#xff0c;核心是eclipse&#xff0c;給eclipse穿上了很多衣服。不知道普元公司給eclipse捐款了沒。 開發人員可以從它的官網免費下載&#xff0c;免費用。免費版的服務器最多鏈接數是5個人&#xff0c;這5個人在生產上行不通的&…