MTK迁移Oracle单库
MTK迁移Oracle单库
一. Mtk安装
1.1 安装jdk
要求jdk版本在1.7以上
安装完jdk后将需要的数据库jdbc驱动拷贝到$JAVA_HOME/jre/lib/ext 目录下面
https://www.enterprisedb.com/advanced-downloads的跳转连接下载对应Oracle版本的第三方JDBC驱动ojdbc8.jar。放置于服务器的JAVA_HOME/jre/lib/ext下。
https://www.enterprisedb.com/advanced-downloads的跳转链接下载对应PostgreSQL版本的JDBC驱动postgresql-42.2.2.jar。放置于服务器JAVA_HOME/jre/lib/ext下
将上图驱动包包括 Oracle及postgresql的JDBC驱动包拷贝到此目录下
其中oracle驱动包为压缩包需要解压出来tar -xzvf ojdbc-full.tar.gz
驱动包不能发错位置,否则数据迁移不成功
查看java安装路径:
[ceresdata@test135]$ whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
[ceresdata@test135]$ ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 Oct 29 10:23 /usr/bin/java -> /etc/alternatives/java
[ceresdata@test135]$ ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 71 Oct 29 10:23 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre/bin/java
ceresdata@test135]$ cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre
[ceresdata@test135 jre]$ ll
total 4
drwxr-xr-x. 2 root root 172 Oct 29 10:23 bin
drwxr-xr-x. 9 root root 4096 Oct 29 10:22 lib
[ceresdata@test135 jre]$ cd lib/
[ceresdata@test135 lib]$ cd ext/
将驱动放在此目录下
1.2获取安装包
http://sbp.enterprisedb.com/getfile.jsp?fileid=10872 下载地址
Linux版:edb-migrationtoolkit-51.0.1-1-linux-x64
https://www.enterprisedb.com/downloads/edb-migration-toolkit
也可以自己下载需要注册用户,下载链接会发到邮箱里面,Linux,Windows自选
使用xftp或者其他方法上传到安装postgresql数据库的服务器
chmod +x edb-migrationtoolkit-51.0.1-1-linux-x64.run
给安装包赋予可执行权限
./ edb-migrationtoolkit-51.0.1-1-linux-x64.run
执行安装
安装方式图形化安装或者命令行安装这里使用图像化安装:
这里是命令行安装
1.3安装MTK
[root@test128]./edb-migrationtoolkit-51.0.0-1-linux-x64.run
Language Selection
Please select the installation language
[1] English - English
[2] Japanese -日本語
[3] Simplified Chinese -简体中文
[4] Traditional Chinese -繁体中文
[5] Korean -한국어
Please choose an option [1] :
----------------------------------------------------------------------------
Welcome to the EDB Postgres Migration Toolkit Setup Wizard.
----------------------------------------------------------------------------
Please read the following License Agreement. You must accept the termsofthis
agreement before continuing with the installation.
Press [Enter] to continue:
Limited Use Software License Agreement
Version2.9
IMPORTANT - READ CAREFULLY
...............................................
Please specify the directory where Migration Toolkit will be installed.
Installation Directory [/opt/edb/mtk]:
----------------------------------------------------------------------------
Setupisnow ready to begin installing Migration Toolkitonyour computer.
Do you want tocontinue? [Y/n]: Y
----------------------------------------------------------------------------
Please waitwhileSetup installs Migration Toolkitonyour computer.
Installing EDB Postgres Migration Toolkit
0% ______________50% ______________100%
#########################################
----------------------------------------------------------------------------
EnterpriseDB is the leading provider of value-added products and services for
the Postgres community.
Please visit our website at www.enterprisedb.com
二. MTK配置
2.1 修改MTK配置文件
Mtk配置文件路径,安装时候使用的是默认安装路径:/opt/edb/mtk/etc
进入此目录
vi toolkit.properties
SRC_DB_URL=jdbc:oracle:thin:@192.168.227.129:1521/orcl
SRC_DB_USER=C##TEST //数据库账号
SRC_DB_PASSWORD=123456 //数据库密码
TARGET_DB_URL=jdbc:postgresql://localhost:5432/postgres
TARGET_DB_USER=ceresdata //数据库账号
TARGET_DB_PASSWORD=123 //数据库密码
SRC_DB :源数据库库
TARGET_DB:目标数据库
配置完成:wq 保存退出
2.2 JDBC连接测试
这边因为中间出了很多问题,所以找了一个JDBC连接测试脚本,查看JDBC是否能够连接成功
此步骤不是必要步骤如果你操作顺利此步骤可以忽略不记
具体代码如下,图中标红部分为需要修改部分:
import java.sql.*;
public class test {
public static void main(String[] args) {
ResultSet rs = null;
Statement stmt = null;
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
/*String dbURL =
"jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.227.129)(PORT=1521)))"
+ "(CONNECT_DATA=(SERVICE_NAME=orcl.city.com)))";
*/
String dbURL = "jdbc:oracle:thin:@192.168.227.129:1521:orcl";
conn = DriverManager.getConnection(dbURL, "C##TEST", "123456");
System.out.println("连接成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
如图所示JDBC连接Oracle数据库成功;
三. 数据库数据导出
3.1数据迁移及准备
确认配置无误,及驱动包存放地方没有错误进入到MTK安装目录:
新建数据存放目录:
cd /opt/edb/mtk/bin/
mkdir Migration //数据存放目录需手动创建
在Oracle数据库中新建一张表(student),内容可以随意;
在/opt/edb/mtk/bin目录下执行此命令:
./runMTK.sh -targetdbtype postgres -sourcedbtype oracle -offlineMigration /opt/edb/mtk/bin/Migration/ C##TEST/
出现如下画面则代表成功:
[root@test128 bin]# ./runMTK.sh -targetdbtype postgres -sourcedbtype oracle -targetSchema public -offlineMigration /opt/edb/mtk/bin/Migration/ -singleDataFile -safeMode C##TEST
+++++++++++++++++++
gration/ -singleDataFile -safeMode C##TEST
Running EnterpriseDB Migration Toolkit (Build 51.0.1) ...
Source database connectivity info...
conn =jdbc:oracle:thin:@192.168.227.129:1521:orcl
user =C##TEST
password=******
Connecting with source Oracle database server...
Connected to Oracle, version 'Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options'
Importing redwood schema C##TEST...
Creating Tables...
Creating Table: COURSE
Creating Table: SCORE
Creating Table: STUDENT
Creating Table: TEACHER
Created 4 tables.
Loading table data in safe mode...
Loading Table: COURSE ...
[COURSE] Table Data Load Summary: Total Time(s): 0.006 Total Rows: 0
Loading Table: SCORE ...
[SCORE] Table Data Load Summary: Total Time(s): 0.002 Total Rows: 0
Loading Table: STUDENT ...
[STUDENT] Table Data Load Summary: Total Time(s): 0.006 Total Rows: 6
Loading Table: TEACHER ...
[TEACHER] Table Data Load Summary: Total Time(s): 0.002 Total Rows: 0
Data Load Summary: Total Time (sec): 0.016 Total Rows: 6 Total Size(MB): 0.0
Creating Constraint: PK_COURSE
Creating Constraint: PK_SCORE
Creating Constraint: PK_STUDENT
Creating Constraint: PK_TEACHER
Creating Constraint: FK_TNO
Creating Constraint: FK_CNO
Creating Constraint: FK_SNO
Schema C##TEST imported successfully.
Migration process completed successfully.
Migration logs have been saved to /home/ceresdata/.enterprisedb/migration-toolkit/logs
进入数据存放目录查看导出的数据
[ceresdata@test135 Migration]$ ll
total 20
-rw-rw-r-- 1 ceresdata ceresdata 635 Nov 5 10:51 mtk_public_constraint_ddl.sql
-rw-rw-r-- 1 ceresdata ceresdata 1620 Nov 5 10:51 mtk_public_data.sql
-rw-rw-r-- 1 ceresdata ceresdata 3287 Nov 5 10:51 mtk_public_ddl.sql
-rw-rw-r-- 1 ceresdata ceresdata 24 Nov 5 10:51 mtk_public_schema_ddl.sql
-rw-rw-r-- 1 ceresdata ceresdata 2654 Nov 5 10:51 mtk_public_table_ddl.sql
然后查看导出的Oracle数据验证一下
迁移数据:
cd /opt/edb/mtk/bin/Migration/
csql -h loclhost -p 5432 -d postgres -f mtk_public_ddl.sql
sql -h loclhost -p 5432 -d postgres -f mtk_public_data.sql
然后登录数据库验证一下
\d 查看表
select * from 表名; //查看表的内容是否和oracle数据库一致
MTK迁移Oracle单库的更多相关文章
- 干货 | RDS For SQL Server单库上云
数据库作为核心数据的重要存储,很多时候都会面临数据迁移的需求,例如:业务从本地迁移上云.数据中心故障需要切换至灾备中心.混合云或多云部署下的数据同步.流量突增导致数据库性能瓶颈需要拆分-- 本文将会一 ...
- webservice 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下运行,将出现此问题
最近做的项目中,应用服务器迁移到另外一台服务器,操作系统升级为win10,配置好IIS里的应用程序发布网站和Webservice网站后, 客户端程序调用Webservice出错: “尝试加载 Orac ...
- 通过Xtrabackup实现MySQL实例的全库备份与按需单库恢复
在实际的生产环境中,为了管理方便,我们一般是通过 Xtrabackup实现实例的全库备份,即将实例上的所有数据库备份. 但是,考虑到快速恢复 我们常常面临的需求是快速还原单个数据库.针对初学者来说,网 ...
- oracle 单实例DG(搭建篇一)
一,介绍 lodding... 二,安装前环境配置 01,依赖包的安装: yum install binutils-* yum install compat-libstdc++-* yum insta ...
- Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0
Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0 系统环境: 操作系统:RedHat EL6(64位) Oracle: Oracle 11gR2 ...
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException
尝试加载 Oracle 客户端库时引发 BadImageFormatException 工程师给计算机诊断,就像医生给病人诊断一样,很多同样的症状,可能是由多种截然不同的原因导致的. 最近进行C# ...
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。问题记录
电脑是win8 64位,安装oracle 11g r2 64位的,谁知道一切装完毕后,打开项目却连不上oracle数据了...首先是pl/sql连不上,装了oracle服务器,应该是不用再装客户端,p ...
- “尝试加载 Oracle 客户端库时引发 BadImageFormatException”的解决方案
今天要写个程序,环境是win8.1+ vs2012+ oracle,可是却出现了一个意想不到的问题: 异常!以下为数据库提示详细错误信息:尝试加载 Oracle 客户端库时引发 BadImageFor ...
- Windows C盘格式化或者同平台迁移oracle数据库
我们知道如果是Linux 同平台迁移oracle数据库.只要是安全关闭了数据库,在新机器上创建用户组,配置了环境变量,将数据库安装目录拷贝到对应的目录就好用了. 一直在寻求Windows平台上这类的解 ...
随机推荐
- 认识Class -- 终于不在怂
引子 本是新年,怎奈新冠肆掠,路上行人,男女老少几乎是全副口罩,形色匆匆:偶尔有一两个裸露口鼻的,估计都是没囤到口罩的,这几天药店几乎都是贴上大字:口罩没货.看着网络上病毒消息满天飞,我也响应 ...
- 外网通过frp进行windows远程文件共享
需求 远程访问位于内网中的文件.例如,家里,公司内. 所需技术 frp windows文件共享 具有公网地址的服务器一台 实现过程 windows文件共享,首先自己在局域网内实现.这不是本文重点. 公 ...
- Android教程2020 - RecyclerView显示多种item
Android教程2020 - 系列总览 本文链接 前面我们已经用RecyclerView显示一些数据.也知道如何获取滑动的距离. 前面我们的列表中显示的都是同类数据.如果要在一个列表中显示不同类别的 ...
- 1233: 输出杨辉三角前n行
#include <stdio.h> int main() { int n,i,j,ch[15][15],v,k; char *nl = ""; while(scanf ...
- CAD制图系列一之绘图、标注、修改、视图
笔记内容: 缩放.平移.键盘操作 绘图:直线.矩形 修改:删除.修剪.延时 标注:线型.对齐.半径.折弯.直径.角度 知识点 鼠标中键上下滚动 平移:先全部选中,然后点击中间的空格,随便移动 重点:空 ...
- SASS用法入门
本文参考了 阮一峰 老师对 SASS 用法的讲解. 学过 CSS 的人都知道,它不是一种编程语言,在日常的开发中,经常要写大量的 css 代码,有很多的重复代码,效率很低.Sass 是一个 CSS 的 ...
- 基于HTTPS的接口测试——nginx配置SSL
目录 基于HTTPS的接口测试--nginx配置SSL 1. 背景 2. 所需环境与域名备案解析 2.1 云服务器 2.2 域名 2.3 SSL证书 2.4 网站备案 2.5 域名解析 3.nginx ...
- 【WPF学习】第三十九章 理解形状
在WPF用户界面中,绘制2D图形内容的最简单方法是使用形状(shape)——专门用于表示简单的直线.椭圆.矩形以及多变形的一些类.从技术角度看,形状就是所谓的绘图图元(primitive).可组合这些 ...
- python3 ansible api 命令和playbook
一.api代码 # coding: utf-8 import os import sys from collections import namedtuple from ansible.parsing ...
- 使用mysqlfrm恢复frm表结构的方法
1.mysqlfrm安装 由于mysqlfrm是mysql-utilities工具一部分,那么我们安装mysql-utilities即可,下载好对应的源码包,进行编译安装 shell> wget ...