1. 程式人生 > >資料庫遷移之從oracle 到 MySQL

資料庫遷移之從oracle 到 MySQL

前言

之前搭建了一個ExtJS + Spring + Oracle 的這樣一個報表系統的框架。 因為其他部門的要求, 也需要這個Framework 進行一些特殊的定製。

但是有一個問題是 Oracle 的資料庫是需要收費的, 個人使用倒沒什麼問題, 公司使用的話就會有侵權的問題了。

而MySQL 則是完全免費的。

所以使用 ExtJS + Spring + MySQL  這樣的組合應該就沒什麼問題了。

理論上來說, MySQL 已經被Oracle 收購, 這兩者之間的Migrate 應該比較容易, 但實際的遷移還是有一些問題, 以下就說一說一些實現的方式和問題。

方式一: 手動方式匯入匯出

手動的方式匯入, 就是操作步驟會比較繁瑣一些。

對Table 的結構和資料:

1. 使用 SQL Developer 把 oracle 的 table 的schema 和 Data(.sql 和 .xls) 匯出

2. 使用 MySQL 的 WorkBench 建立 Table 和匯入資料。

這裡語法上會稍微有一些不同, 所以需要略微做一些調整。

對於View 來說, 特別是複雜的有子查詢的Oracle View 說, 要匯入到MySQL 看起來就不是那麼容易了。

方式二: 使用工具Navicat 進行匯入

Navicat , 這是MySQL 官方網站上有人建議使用的工具。 這是一個收費的軟體。 目前的收費是 1000 到1600 人民幣。 但是可以免費試用一個月。

下載安裝後, 啟動的頁面如下:


遷移的流程如下:

1. 新建資料庫的連線


建立需要遷移的Oracle 和 MySQL 的資料庫連線。

另外, 建立Oracle 連線的時候還需要下載一個oci.dll 的檔案。

下載地址:

下載之後, 解壓到某個目錄:

在 Navicat  的 工具 --> 選項 下做類似如下設定:

InstantClientOptions.jpg

細部可以參見:

完成設定後, 重啟 navicat

2.  設定過連線之後, 接下來就可以進行表和資料的migrate 了

點選: 工具 --》 資料傳輸

在 "常規" 的標籤頁中設定需要 migrate 的連線

在 “高階” 的標籤頁中 , 設定需要 migrate 哪些具體的內容:

配置完成之後, 點 "開始" 就可以了。

基本上: 對於 Table 的結構和資料的遷移的話, 基本上沒什麼問題。

但是對於 View 的匯入, 因為MySQL 的View 的語法不能有子查詢語句。

在Navite 上, 可以看到從 Oracle 匯入到 MySQL 的時候, View 的Checkbox 不能選取。

相關推薦

資料庫遷移oracleMySQL最簡單的方法

因工作需要將oracle資料庫換到MySQL資料庫,資料量比較大,百萬級別的資料,表也比較多,有沒有一種既快捷又安全的方法呢?答案是肯定的,下面介紹一個工具,非常的好用 需要的工具:Navicat Premium  Navicat Premium 原本是收費的,但是網上也

資料庫遷移oracleMySQL

前言之前搭建了一個ExtJS + Spring + Oracle 的這樣一個報表系統的框架。 因為其他部門的要求, 也需要這個Framework 進行一些特殊的定製。但是有一個問題是 Oracle 的資料庫是需要收費的, 個人使用倒沒什麼問題, 公司使用的話就會有侵權的問題了

資料庫遷移-OracleMySQL互相轉換

       理論上來說, MySQL 已經被Oracle 收購, 這兩者之間的Migrate 應該比較容易, 但實際的遷移還是有一些問題, 以下就說一說一些實現的方式和問題。 方式一:手動方式匯入匯出 手動的方式匯入, 就是操作步驟會比較繁瑣一些。  對Table 的

轉載優化編輯_navicat實現資料庫遷移oraclemysql

簡介: Navicat Premium 非常強大,可以連線大部分主流關係型資料庫,如oracle、mysql、sqlserver、sqlite等,操作方便、介面簡潔。但它還有一個更強大的功能,可以跨庫批量遷移資料表,有這種需求的朋友可以通過這個工具輕鬆實現。 我目前通過n

資料庫遷移分離附加

資料庫遷移一般會選擇備份還原方法,也可以使用指令碼檔案備份的方法,除了上面兩種常用方法,還有一種快速方法就是分離附加的方法,下面說下此方法: 1.開啟並連線資料庫,找到要遷移資料庫,右擊屬 -->任務 -->分離 2.分離頁面如下,如果資料庫正在使用"訊息欄"會有提

jsp資料庫基礎---jsp與MySQL資料庫的連線

專案地址:https://gitee.com/martinHuang/jsp-basic/  這是jsp資料庫基礎篇的第一篇教程,比較簡單,主要介紹jsp頁面與MySQL資料庫的連線。廢話不多說,我們就開門見山吧!  我選用的MySQL版本為:5.0.22  MySQL的驅動

sqooporacle匯入hbase的問題與sqoop hbase 需要注意的一個問題

轉載URL: http://blog.csdn.net/liuxingjiaofu/article/details/6953701 sqoop從oracle匯入, 需要有ojdbc6.jar,放在$SQOOP_HOME/lib裡,不用新增到classpath裡,因為sq

JIRA資料庫遷移HSQL到MYSQL/Oracle

Jira資料庫遷移,從HSQL到MYSQL 通過JIRA管理員登入,進入“管理員頁面”,“系統”--“匯入&匯出”,以XML格式備份資料。 在MySQL中建立Schema,命名為jira 關閉JIRA服務 備份一下JIRA的安裝目錄和資料目錄 在JIRA的資料目錄下刪除檔案:dbconfig.xml

oracle資料庫遷移mysql sysdate格式化及運算替換

例1,查詢當前系統日期 select to_char(sysdate,'yyyy-mm-dd') from dual 替換為 select current_date; 或者 select curdate(); 例2,查詢當前系統時間 select to_c

Oracle遷移MySQL的各種坑及自救方案

ppi 行數據 服務器 內部 fin htm 分離 data 意思 當企業內部使用的數據庫種類繁雜時,或者有需求更換數據庫種類時,都可能會做很多數據遷移的工作。有些遷移很簡單,有些遷移可能就會很復雜,大家有沒有考慮過為了順利完成復雜的數據庫遷移任務,都需要考慮並解決哪些

ApolloStudio高手路(7):用Python輕鬆連線SQLServer/Oracle/MySQL/SQLite/MS Access等關係型資料庫

關係型資料庫,是建立在關係模型基礎上的資料庫,藉助於集合代數等數學概念和方法來處理資料庫中的資料。現實世界中的各種實體以及實體之間的各種聯絡均用關係模型來表示。關係模型是由埃德加·科德於1970年首先提出的,並配合“科德十二定律”。現如今雖然對此模型有一些批評意見,但它還是資料儲存的傳統標準。標

環境遷移Oracle資料庫遷移

因環境升級變更,現需要將舊的開發測試環境中的資料遷移到新的開發環境中。以下是本次資料遷移工作的過程記錄。 第一步:連線登入舊的資料庫環境,檢視業務使用者的預設表空間是哪些。 select username, default_tablespace from dba_user

SQL Server 到 MySQL (一):異構資料庫遷移

背景 滬江成立於 2001 年,作為較早期的教育學習網站, 當時技術選型範圍並不大: Java 的版本是 1.2,C# 尚未誕生,MySQL 還沒有被 Sun 收購, 版本號是 3.23。 工程師們選擇了當時最合適的微軟體系,並在日後的歲月裡, 逐步從 ASP 過度到 .net,資料庫也跟隨 SQL Ser

[資料庫遷移] ORACLEMYSQL經驗總結

最近工作中有個專案需要做資料庫遷移,ORACLE到MYSQL,WEBLOGIC到TOMCAT. 原因是ORACLE和WEBLOGIC都是收費的,降低專案成本。 經過半個月的工作總算初見成效,以下是工作中的經驗總結。 1.轉移資料庫檔案(表結構,序列,檢視,索引,資料)

Nodejs指令碼實現mongo資料庫遷移資料至mysql資料庫

weibo.jsvar mongoose = require('mongoose'); var connection = mongoose.createConnection('mongodb://12

記一次Oracle資料庫遷移Mysql資料庫的過程

 很簡單,我用的Navicat for mysql 12 搞定的 首先用 Navicat for mysql 連結上這兩個資料庫 然後    工具--資料傳輸 然後選擇好 源資料庫 和目標資料庫 然後在 選項 tab 勾上 遇到錯誤時繼續 然後一路下

Oracle資料庫遷移MySQL——instr()方法

Oracle中使用instr方法確定某個字元的位置,前提字元出現頻率為2或者3使用case when then 判斷,並使用instr方法確定最後字元出現位置,使用substr切割 case instr('字串','/',1,3)

Kettle7.0實現oraclemysql資料庫遷移

一、Kettle簡介 Kettle是一款國外開源的ETL工具,純java編寫,可以在Window、Linux、Unix上執行,綠色無需安裝,資料抽取高效穩定。kettle的資料抽取主要在於抽取資料,而沒有考慮資料庫的函式、儲存過程、檢視、表結構以及索引、約束等

PostgreSQL: 資料遷移序列問題(也可以使用在所有使用序列資料庫上,比如Oracle)

一、問題背景:            今天在做一個OA系統,原先的資料庫是Oracle的,後來改到Postgresql資料庫,一開始把資料庫遷移到Postgresql上來,序列和建表都通過Oracle匯出的sql語句來完成,沒有考慮到序列在重新建立後,會重新重初始值開始計算

使用 Navicat_premium 將 oracle 資料庫遷移mysql

   最近想把原來的資料庫從 Oracle 遷移到 MySQL, 主要方便於自己開發. 用到了 Navicat.  當然 Navicat 是收費的, 但是可以免費試用 14 天 需要準備的程式:Navicat. 這個是我的下載地址 http://pan.baidu.c