当前位置:首页 » 操作系统 » mysql迁移到oracle数据库

mysql迁移到oracle数据库

发布时间: 2022-05-28 04:15:46

① 怎么把MYsql数据移植到oracle去

两种方法···一种是我给你说的用musqlmp加参数进行.sql的导出,然后再用oracle执行。还有一个是用etl工具建工程去做这个事情···

② 如何把mysql数据库的表导到oracle数据库中

在PL/SQL中把一个表的数据select *出来,按alt+end;
然后然后右键那张表有导出按钮,但是导出cvs貌似mysql不能用(至少我的MYSQL不能用),你可以试试。
可以用的方法是,右键那张表,有个 复制到excel,然后就有一个excel,然后打开excel,删掉第一列,因为那个是ROWID,mysql没有的。
然后用SQLyog或者别的图形界面工具,导入这张excel

③ mysql表怎么导入oracle数据库

1、用navicat
premium,可以同时连接mysql和oracle,支持在各种数据库系统间传输数据
2、用mysqlmp备份数据
mysqlmp
-uuser01
-pp123456
db01
>
db01.sql
3、然后在oracle导入sql数据
SQL>@db01.sql
可能会有语句兼容问题,根据提示db01.sql参数

④ 怎么把mysql中的数据表导入到oracle数据中

可以用PB、PLSQL Developer等软件,把表的数据倒成SQL文件,在MySql中执行!

PLSQL Developer下载: http://www.oyksoft.com/downinfo/1924.html

我们项目组曾经将Oracle的数据倒入到DB2中,没有DBA,没有用到任何工具,是写数据迁移程序,大概步骤是这样:
1、根据双方数据库的数据字典,罗列出需要的字段
2、编写相应的迁移程序,主要注意的地方就是Oracle的数据类型要做相应的转换,转移成DB2里有的,删除倒出时一些无用的数据,使导入的数据具有意义!
3、抽取数据做验证!

你参考一下,如果数据量不大的话,完成可以用把表的数据倒成SQL文件再执行!

⑤ 怎样将mysql数据库导入到oracle数据库中

1、 运行MySQL Migration Toolkit,一路“Next”到“Source Database”,在Database System中选择Oracle Database Server,如果第一次使用会告之要求加载驱动程序ojdbc14.jar。

加载驱动程序之后,界面将变成如下的形式,在其中填写Oracle数据库的连接信息,按“Next”继续。

2、 在Target Database中默认Database System为MySQL Server,在Connection Parameters中填写相应的MySQL数据库的连接信息,按“Next”继续。

3、进行数据库连接测试,测试通过后按“Next”到Source Schemata Selection,点选准备进行数据迁移的Schemata后按“Next”继续。

4、在Object Type Selection,点Detailed selection按钮,在下方左侧列表中选择不进行迁移的表,将其放入右侧列表中,即左侧列表剩余的表都将进行数据迁移。选择好之后按“Next”继续。

5、

在Object Mapping的Migration of type Oracle Schema,如果要设置参数,点Set

Parameter按钮。如果默认数据库表为UTF8的话,则选择Multilanguage;如果默认数据库表为GBK的话,则需要选择User

defined,并在下方填写charset=gbk, collation=gbk_general_ci。Migration of type

Oracle Table中要设置参数点Set Parameter按钮。如果默认数据库表为UTF8的话,则选择Data

consistency/multilanguage;如果默认数据库表为GBK的话,则需要选择User

defined,并在下方填写addAutoincrement=yes, charset=gbk,

collation=gbk_general_ci, engine=INNODB。选择好之后按“Next”继续。

6、再到Manual

Editing,在这里可以修改建表脚本。由于Oracle与MySQL之间语法规则的差异,通常需要对脚本的数据类型以及默认值进行调整,比如

Oracle中通常会对Timestamp类型的数据设置默认值sysdate,但在MySQL中是不能识别的。在Filter中选择Show All

Objects,然后在Migrated

Objects中选择要修改脚本的表,再点击左下方的Advanced就可以进行脚本编辑了。修改完之后点击右侧Apply

Changes按钮保存,按“Next”继续。

7、然后一路“Next”,如果没有提示出错的话,就可以将指定表中的数据导入MySQL了。如果有提示出错信息,则需要返回到Manual Editing处对脚本重新进行修改。

要补充一点,在导大容量数据特别是CLOB数据时,可能会出现异常:“Packets larger than max_allowed_packet

are not

allowed”。这是由于MySQL数据库有一个系统参数max_allowed_packet,其默认值为1048576(1M),可以通过如下语句

在数据库中查询其值:

show VARIABLES like '%max_allowed_packet%';

修改此参数的方法是在mysql文件夹找到my.ini文件,在my.ini文件[mysqld]中添加一行:

max_allowed_packet=16777216

重启MySQL,这样将可以导入不大于16M的数据了,当然这数值可以根据需要作调整。

⑥ 数据从MySQL迁移到Oracle需要注意些什么

答:以下是MySQL迁到Oracle需要掌握的注意事项,希望对你有所帮助。 1.自动增长的数据类型处理 MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。 CREATE SEQUENCE 序列号的名称 (最好是表名+序列号标记) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE; 其中最大的值按字段的长度来定, 如果定义的自动增长的序列号 NUMBER(6) , 最大值为999999 INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL 2. 单引号的处理 MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号。 3. 翻页的SQL语句的处理 MYSQL处理翻页的SQL语句比较简单,用LIMIT 开始位置, 记录个数;PHP里还可以用SEEK定位到结果集的位置。ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位 置, 并且只能用ROWNUM80。 以下是经过分析后较好的两种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; 4. 长字符串的处理 长字符串的处理ORACLE也有它特殊的地方。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字节, 如果要插入更长的字符串, 请考虑字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包。插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长 度字段值都应该提出警告,返回上次操作。 5. 日期字段的处理 MYSQL日期字段分DATE和TIME两种,ORACLE日期字段只有DATE,包含年月日时分秒信息,用当前数据库的系统时间为SYSDATE, 精确到秒,或者用字符串转换成日期型函数TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)年-月-日 24小时:分钟:秒 的格式YYYY-MM-DD HH24:MI:SS TO_DATE()还有很多种日期格式, 可以参看ORACLE DOC.日期型字段转换成字符串函数TO_CHAR(‘2001-08-01’,’YYYY-MM-DD HH24:MI:SS’) 日期字段的数学运算公式有很大的不同。MYSQL找到离当前时间7天用 DATE_FIELD_NAME > SUBDATE(NOW(),INTERVAL 7 DAY)ORACLE找到离当前时间7天用 DATE_FIELD_NAME >SYSDATE - 7; 6. 空字符的处理 MYSQL的非空字段也有空的内容,ORACLE里定义了非空字段就不容许有空的内容。按MYSQL的NOT NULL来定义ORACLE表结构, 导数据的时候会产生错误。因此导数据时要对空字符进行判断,如果为NULL或空字符,需要把它改成一个空格的字符串。 7. 字符串的模糊比较 MYSQL里用 字段名 like '%字符串%',ORACLE里也可以用 字段名 like '%字符串%' 但这种方法不能使用索引, 速度不快,用字符串比较函数 instr(字段名,'字符串')>0 会得到更精确的查找结果。 8. 程序和函数里,操作数据库的工作完成后请注意结果集和指针的释放。

⑦ 数据库 从mysql 导入oracle ,江湖救急啊,各位大神帮帮忙

1、CMD登录:
sqlplus 用户名/密码@数据库
2、执行sql
@D:\oracle\oradata\test.sql
3、创建用户
create user usernamer identified by passwd;
例:create user test identified by 12test21;
创建用户并指定表空间
create user username identified by password
default tablespace user_data
temporary tablespace user_temp;
4、给用户赋权限
grant connect,resource,dba to username;
例:grant connect,resource,dba to test;
5、创建表空间
创建临时表空间
create temporary tablespace user_temp
tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
创建数据表空间
create tablespace user_data
logging
datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
6、创建表
create table table_name ( column_name1 datatype,column_name2 datatype)
例:create table test ( id number, name varchar2(10));
7、导入导出
exp username/passwd@orcl file=D:\oracle\oradata\bak.dmp full=y
imp username/passwd@orcl file=D:\oracle\oradata\bak.dmp full=y ignore=y
ip导出方式: exp username/passwd@ip:1521/orcl file=D:\oracle\oradata\bak.dmpfull=y
8、如果登陆的用户名或者密码里含有特殊字符,登陆时需注意
Linux平台:1个双引号扩密码,1个单引号扩 用户名+密码,形如: '用户名/"密码"'@服务名,形如:
$sqlplus 'test/"123@123"'@orcl
Windows 平台:3个双引号扩密码,形如: 用户名/"""密码"""@服务名 ,形如:
sqlplus test/"""123@123"""@orcl
或者使用管理员登陆,修改密码
sqlplus / as sysdba
alter user username identified by passwd;

⑧ 如何将mysql数据库导入oracle

第一种方法:使用数据迁移工具
第二种方法:一、将表中数据导入文本文件保存我是在win下的命令行模式做的Mysql>select * from my_mysql_table into outfile 'c: /my_tmp.txt';二、写控制文件用记事本开文档写完后改扩展名为.ctl,以下是具体内容load datainfile 'c:/my_tmp.txt'into table my_ora_tablereplace fields terminated by x'09'(字段1,字段2,字段3,......字段N)字段1~N是你要导入的Mysql的表字段数据,不需要的字段可以不写。三、用sqlldr导入文本c:\>sqlldr ora_usr回车后输入控制文件的路径,密码,接下来加载控制文件自动导入。导入完成后,会生成个.log文件,可以查看你导入是否成功,不成功按提示的错误查找原因。注意的是:导入文本前,应在oracle数据库中事先建好要写入数据的表,并且要和所要导入的数据字段一致,如果不知Mysql的表结构,可以在Mysql>show create table my_mysql_table;查看建表的SQL,将其转换成oracle中可执行的SQL.

⑨ 如何把MYSQL数据库改为ORACLE

1.修改数据库连接字符串:
如:
驱动器com.mysql.jdbc.Driver 改为 oracle.jdbc.driver.OracleDriver
连接字符串jdbc:mysql://localhost:3306/xxx 改为 jdbc:oracle:thin:@localhost:1521:sid

2.调整SQL语句:
如:
分页查询SELECT * FROM TABLE_NAME LIMIT 1, 20 改为 SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 20) WHERE RN >= 1

3.将mysql库中的数据导入到oracle库:
可以手工进行,如将mysql中的数据转储为sql文,作下调整,在oracle中执行;
建议使用相关工具,如Oracle SQL Developer。

4.将连接数据库的jar包换成oracle的。

热点内容
android商业软件 发布:2024-10-28 05:22:18 浏览:29
风流武则天ftp 发布:2024-10-28 05:22:12 浏览:51
存储器地址寄存器 发布:2024-10-28 05:22:09 浏览:685
印刷厂数据库 发布:2024-10-28 05:00:23 浏览:911
ios缓存网络数据 发布:2024-10-28 04:58:42 浏览:468
php静态方法好处 发布:2024-10-28 04:58:03 浏览:844
压缩狂战 发布:2024-10-28 04:58:02 浏览:707
sqlserver建立表 发布:2024-10-28 04:57:54 浏览:56
想学服务器买什么样的服务器 发布:2024-10-28 04:56:31 浏览:676
数据库重新跑 发布:2024-10-28 04:55:48 浏览:669