数据迁移OracleMySQL

Posted mingyuewu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据迁移OracleMySQL相关的知识,希望对你有一定的参考价值。

数据迁移mysql、Oracle

一、Mysql导出单一数据库库

1 登陆MySQL

mysql  -h  localhost -u root -p 

2 mysqldump命令格式

mysqldump -h IP -u 用户名 -p -d 数据库名 > 导出的文件名
参数解析:
-h:表示host地址
-u:表示user用户
-p:表示password密码
-d:表示不导出数据
/*注意:
(1)-p 后面不能加password,只能单独输入数据库名称
(2)mysqldump是在cmd下的命令,不能再mysql下面,即不能进入mysql的(如果进入了mysql,得exit退出mysql后才可以的。)
*/

3 mysqldump 导出数据例子

mysqldump -h localhost -u root -p dbtest > C:\\Users\\Administrator\\Desktop\\users2.sql
mysqldump -h localhost -u root -p dbtest > /data/backup/dbtest.sql

4 在新库上导入数据

# 登录新的数据库后
1 创建和新的数据库 (mysqldump导出单库时,只导出表结构和表数据,没有建库语句)
create   database   dbtest;
user  dbtest;
2 执行.sql文件
source   /data/backup/dbtest.sql;  # 注意dbtest.sql放到mysql有权限操作的路径,修改dbtest.sql的所有者为mysql
3 创建用户授权
CREATE USER 'mingyue'@'%' IDENTIFIED BY 'password';   # % 代表用户可以从任何机器上登录,localhost代表只能从本机登录
GRANT ALL PRIVILEGES ON `testdb`.* TO 'mingyue'@'%';
4 查看用户的权限
SHOW GRANTS FOR mingyue@localhost;
SHOW GRANTS FOR mingyue@%;

二、Oracle数据库的迁移

这里介绍的是以用户为单位的导出数据,shemas

1 导出原有Oracle数据库

# 1 创建存放导出数据的目录
select * from dba_directories where DIRECTORY_NAME='DIR_DUMP';  
create directory dump_dir as '/backup/dumpdir';	
dump文件路径   /backup/dmp
# 2 给oralce普通用户授予导出数据库的权限
grant read, write on directory DIR_DUMP  to ehcportal_jdy;
grant exp_full_database,imp_full_database to ehcportal_jdy;
# 3 导出oralce数据库 
    expdp username/password@内网IP:1521/orcl   directory=dir_dump  dumpfile=testdb-20211209.dmp schemas=testdb logfile=export-testdb.log compression=ALL

2 在新数据库上创建表空间、用户、授权

# 创建表空间
create  tablespace  testdb   datafile'/data/oracle/data/orcl/testdb.dbf'  size 512M
autoextend on next 512M maxsize unlimited extent management local;

create user mingyue identified by "123456" 
default tablespace testdb profile DEFAULT;

grant connect,resource, dba to mingyue;
grant exp_full_database,imp_full_database to mingyue;
# 删除用户和表空间
drop  user  mingyue  cascade;
DROP TABLESPACE   dbtest  INCLUDING CONTENTS AND DATAFILES;

3 在新的数据库上导入数据

impdp  mingyue/123456  directory=dump_dir  dumpfile=testdb-20211209.dmp  logfile=testdb-20211209.log 

4 其他导出oracle数据的语句

# 1 按用户导出数据
expdp  scott/123456@orcl   schemas=scott  dumpfile=expdb.dmp derectory=dir_dump logfile=export.log;
# 2 并行进程parallel
expdp  scott/123456@orcl  derectory=dir_dump   dumpfile=expdb.dmp parallel=40  job_name=scottt3
# 3 按表名导
expdp  scott/123456@orcl  TABLES=table1,table2  dumpfile=expdb.dmp  derectory=dir_dump;
# 4 按查询条件导
expdp  scott/123456@orcl  dumpfile=expdb.dmp derectory=dir_dump  Tables=emp query='WHERE deptno=20';
# 5 按表空间导
expdp  system/manager  dumpfile=expdb.dmp derectory=dir_dump   TABLESPACES=temp,example;
# 6 导整个数据库
expdp  system/manager   dumpfile=full.dmp derectory=dir_dump   FULL=y;

以上是关于数据迁移OracleMySQL的主要内容,如果未能解决你的问题,请参考以下文章

数据迁移OracleMySQL

数据迁移OracleMySQL

Mybatis JdbcType与OracleMySql数据类型对应列表

数据库健康检查脚本支持OracleMySQL和OS的检查

MyBatis JdbcType 与OracleMySql数据类型对应关系详解

MyBatis JdbcType 与OracleMySql数据类型对应关系详解