首先说一下笨办法,主要了解一下mysql和oracle有什么不同:
1. 自动增长的数据类型处理
MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。
CREATE SEQUENCE 序列号的名称 (最好是表名+序列号标记) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;
INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL
2. 单引号的处理
MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。当然你如果使用 Convert Mysql to Oracle 工具就不用考虑这个问题
3.长字符串的处理
在ORACLE中,INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字节, 如果要插入更长的字符串, 请考虑字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告,返回上次操作。
4. 翻页的SQL语句的处理
MYSQL处理翻页的SQL语句比较简单,用LIMIT 开始位置, 记录个数。ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置, 并且只能用ROWNUM<100, 不能用ROWNUM>80。
以下是经过分析后较好的两种ORACLE翻页SQL语句( ID是唯一关键字的字段名 ):
语句一:
SELECT ID, [FIELD_NAME,...] FROM TABLE_NAME WHERE ID IN ( SELECT ID FROM (SELECT ROWNUM AS NUMROW, ID FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 条件3;
语句二:
SELECT * FROM (( SELECT ROWNUM AS NUMROW, c.* from (select [FIELD_NAME,...] FROM TABLE_NAME WHERE 条件1 ORDER BY 条件2) c) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY 条件3;
5. 日期字段的处理
MYSQL日期字段分DATE和TIME两种,ORACLE日期字段只有DATE,包含年月日时分秒信息,用当前数据库的系统时间为SYSDATE, 精确到秒。
日期字段的数学运算公式有很大的不同。MYSQL找到离当前时间7天用 DATE_FIELD_NAME > SUBDATE(NOW(),INTERVAL 7 DAY)ORACLE找到离当前时间7天用 DATE_FIELD_NAME >SYSDATE - 7;
6. 字符串的模糊比较
MYSQL里用 字段名 like '%字符串%',ORACLE里也可以用 字段名 like '%字符串%' 但这种方法不能使用索引, 速度不快,用字符串比较函数 instr(字段名,'字符串')>0 会得到更精确的查找结果。
7. 空字符的处理
MYSQL的非空字段也有空的内容,ORACLE里定义了非空字段就不容许有空的内容。按MYSQL的NOT NULL来定义ORACLE表结构, 导数据的时候会产生错误。因此导数据时要对空字符进行判断,如果为NULL或空字符,需要把它改成一个空格的字符串。
然后说一下简单的办法,用oracel sql developer这个工具,卧槽,一键搞定啊!具体用法很简单,就不详细说了!
相关推荐
在这个场景中,我们将讨论如何将MySQL数据库中的数据正确地迁移到Oracle数据库,具体使用的是Kettle(Pentaho Data Integration)的Spoon工具。 MySQL数据库中的表`student`需要被迁移至Oracle数据库的`from_mysql`...
在IT领域,数据库迁移是一项常见的任务,特别是在不同的数据库系统之间,如从MySQL迁移到Oracle。本文将详细讲解如何使用Oracle SQL Developer工具进行这样的迁移过程,以及如何解决在迁移过程中遇到的问题。 首先...
Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结
### 迁移MySQL数据到Oracle上的详细步骤 在企业级应用环境中,数据库迁移是一个常见的需求。随着业务的发展或系统架构的变化,将数据从一个数据库管理系统迁移到另一个数据库管理系统的需求日益增多。本文主要介绍...
总的来说,从MySQL迁移到Oracle是一个涉及多个层面的任务,包括数据转换、结构设计、代码调整和性能优化。尽管有一些自动化工具可以减轻工作负担,但整个过程仍需谨慎操作,确保数据完整性和系统稳定性。在实际操作...
当业务发展需要将MySQL中的数据迁移到Oracle时,数据同步技术就显得尤为重要。 数据同步可以分为实时同步和批量同步。实时同步通常通过触发器、消息队列或者中间件实现,确保数据一旦在源数据库更新,目标数据库...
Oracle 数据迁移是一种常见的数据库管理操作,目的是将 Oracle 数据库从一台服务器迁移到另一台服务器。以下是 Oracle 数据迁移的完整手册,涵盖了迁移方法概述、实现步骤、其他方法等方面的知识点。 一、迁移方法...
Oracle导Mysql适用于百、千万级别数据迁移,速度是kettle的10倍以上数据库迁移 数据迁移 千万级 亿万级数据,MySQL oracle关系型 现需要开发一套程序用来快速迁移数据库,要求如下: 1.使用人员可以指定迁移数据库...
MySQL到Oracle的数据迁移是一项复杂而重要的任务,尤其在企业级应用中,确保数据的完整性和一致性至关重要。Dbmover for MySQL to Oracle 是一款专为此目的设计的实用工具,旨在简化和加速这一过程。这款试用版软件...
描述虽然简洁,但暗示了这个过程可能涉及到数据转换、数据清洗以及使用特定工具或脚本来实现数据迁移。标签“mysql2oracle”进一步确认了这是一个从MySQL到Oracle的数据迁移项目。 在提供的文件列表中,我们可以...
1.使用人员可以指定迁移数据库类型 如:(orcal,sqlServer,csv 迁移至mysql) 2.在迁移数据库时,可以只迁移指定字段. 3.开发多任务的平台,按权重去执行任务,如:权重为1,1,2,3,4 那么1,1的权重一起执行,执行完毕后2...
Oracle和Mysql互相迁移数据,可同时迁移多个不同数据库数据(并发的将数据在oracle和mysql之间随意迁移),效率高(实际测试表明,将100万数据从oracle迁移到mysql耗时2分30秒,其中1分30秒耗在oracle查询上),支持...
在IT行业中,数据库迁移是一项常见的任务,特别是在不同的数据库系统之间,如从MySQL迁移到Oracle。本文将详细讨论如何实现这个过程,并提供相关的知识点。 标题"mysql数据导入到Oracle中"指出,我们的目标是从...
在进行MySQL到Oracle的数据迁移之前,首先需要做好一系列的准备工作。 ##### 1.1 导入机 - **安装Oracle 11g数据库**:确保安装过程中正确配置数据库的各项参数,包括数据库实例名、管理端口等。 - **安装MySQL...
NULL 博文链接:https://noobjava.iteye.com/blog/870011
migration-v4.1.4,瀚高数据库迁移工具支持源端为Oracle、MySQL、SQL Server、DB2、KingbaseV7、KingbaseV8、DM7、DM8、HIGHGO数据库,目标端为HIGHGO、PostgreSQL数据库的自动化迁移,为了能更好地实现数据迁移工程...