异构数据库迁移 db2---oracle
异构数据库迁移
其他数据库迁移到oracle,以移植db2数据库对象到Oracle的操作说明为例,其他数据库迁移到oracle类似。
移植之平台和相关工具
OS:linux
DBMS:db2 Oracle 10g for linux
Migration Tool:Oracle sql developer-2.1.1.64.45
Sql Develper和Migration Workbench简单介绍
以下是摘自Oracle官网:
Ⅰ Oracle SQL Developer 是一个免费的图形化数据库开发工具。使用 SQL Developer,您可以浏览数据库对象、运行 SQL 语句和 SQL 脚本,并且还可以编辑和调试 PL/SQL 语句。您还可以运行所提供的任何数量的报表,以及创建和保存您自己的报表。SQL Developer 可以提高工作效率并简化数据库开发任务。
SQL Developer 可以连接到任何9.2.0.1 版和更高版本的 Oracle 数据库,并且可以在 Windows、Linux 和 Mac OSX 上运行。
Ⅱ Oracle SQL Developer 移植工作台是重新开发的新工具,它极大地扩展了原来的 Oracle 移植工作台的功能和可用性,可以将 Microsoft Access、Microsoft SQL Server 和 MySQL以及db2(早期低版本的sqldeveloper不支持db2) 数据库移植到 Oracle。
移植之驱动配置
1) 检查下你装的Sql Developer的版本,我的是Oraclesql developer-2.1.1.64.45。
2) 配置Sql Developer的运行环境,因为如果设置不好,我们将不能连接第三方数据库(非oracle数据库),本文指的就是db2.
背景知识1:不加载驱动之前,如果我们新建立一个数据库连接时,会出现如下窗口。这里可以连接的数据库,仅仅是Oracle和Access (即是两种默认的数据库)
见图(一)
图(一)
怎么可以让SQL Developer可以访问其它数据库?
答案是:添加JDBC 驱动,使其可以访问诸如db2、My Sql、Sybase等数据库.
添加三方数据库支持的方法
点击sql developer的菜单的选项→ 工具(Tools)→ 首选项(Prefences).见图(二)。
图(二)
点击弹出对话框中数据库(Database)选项→第三方JDBC 驱动程序(Third Party JDBC Drivers)→添加条目,把你的驱动程序加进去。如下图三
图 三
补充说明,这个应该先说的. 即是我们首先要准备好db2的JDBC驱动。
至此我们仅仅是做了可以建立db2的连接的准备工作。
真正的开始
以上只是配置Oracle Sql Developer可以连接db2,这是前提.之下的才是移植的步骤
Step 1 create a oracle connect
鼠标选中连接,然后单击右键,选择建立新连接,弹出新建/选择数据库连接窗口,连接名任意命名,用户system 口令及system用户密码,主机名oracle数据库所属主机ip,端口1521,sid 是oracle的实例名,填写好的样式如下图四
图四
建立次连接的用途: 1 把资料档案库建立在此连接上
2执行移植过程中产生的DDL语句
3 为什么用system用户连接,涉及到权限问题,最好用system用户。
Step 2 :creat a DB2 connect
方法同建立Oracle的连接类似,配置是否成功,点击测试可以查看是否成功,这个连接就是你要迁移的源数据库目标。这里不再赘述。截图见图五:
图五
step 3 create arepository(创建档案资料库)
这一步创建资料档案库,工具---à移植-à资料档案管理-à创建资料档案库如图六
图六
紧接上图,鼠标左键单击创建资料档案库,则会出现如下图七样例,从下列菜单中选择test1_25,此连接名就是step1创建的连接,单击创建,把资料档案库建立在此连接上。
Step 4 Capture table (捕获表)
这时依次展开之前建立的db2的连接(我的例子名称是db2test13),找到要迁移的表,选择捕获表(Capture db2),所捕获的表即是迁移的表,如图八,点击之后会弹出捕获数据库窗口,捕获结束后,点击关闭按钮即可,这时你再看左边栏下的捕获的类型将多出一个db2数据库样的连接,图九标示红线部分
图八
图九
Step 5 Convert to Oracle model
选中刚才捕获表后的那个连接,及图九红线标示所指连接,右键选择转化为oracle模型,这是左边栏的转换的模型将多一个节点,如图十
图十
Setp 6 修改方案名
此处需要修改方案名,方案名要与导入数据库中的方案名相同如图十一。
图十一
Step 7 Generate Sql
右击Step 5下的转换的模型→点击生成(生成Oracle能识别的SQL语法),见图十二,生成的sql见图十三。
图十二
图十三
Step 8 execute sql
连接上要导入的数据库,如图十四标示,执行刚才生成的sql。
图十四
Step 9 Move Data
Step 5下的转换的模型,右键,选择移动数据。如下图十五
图 十五
图 十六
Step 10 Test
select table_name from user_tables 通过此查询可以查询出刚才迁移的表名
select * from 表名(迁移的表名) 查询迁移的数据
ps:这上面如何加上图片呢?图片为什么不显示?
异构数据库迁移 db2---oracle的更多相关文章
- MSSQL数据库迁移到Oracle
MSSQL数据库迁移到Oracle 最近要把一个MSSQL数据库迁移到Oracle上面,打算借助PowerDesigner这个软件来实现;今天简单研究一下这个软件的运用;把一步简单的操作步骤记录下来: ...
- mysql数据库迁移到oracle数据库后 如何删除相同的数据
mysql数据库迁移到oracle数据库后 如何删除相同的数据 首先搞清楚有多少数据是重复的 select pid from product group by pid having count(pid ...
- MSSQL数据库迁移到Oracle(二)
上一篇文章采用的PowerDesigner实现对MSSQL数据库迁移到Oracle,后来博友建议用ESF Database Migration Toolkit进行迁移会更加简单方便,本文就是通过一个实 ...
- 异构数据库迁移——DATAX
背景 在最近接触到的一个case里面,需要把db2的数据迁移至oracle,客户可接收的停机时间为3小时. 同步方式的比较 一说到停机时间,大家第一时间想到Oracle公司的GoldenGate实时同 ...
- MYSQL数据库迁移到ORACLE数据库
一.环境和需求1.环境 MySQL数据库服务器: OS version:Linux 5.3 for 64 bit mysql Server version: 5.0.45 Oracle数据库服务器: ...
- Oracle GoldenGate配置异构数据库数据传输(oracle到sqlserer)的dml操作(带pump进程)
实验环境:os01:Red Hat Enterprise Linux Server release 5.1 (32位)db01:oracle 10.2.0.1.0 os02:Windows 7 (32 ...
- 用kettle实现数据库迁移之oracle到mysql
项目完成后,需要把历史oracle 的数据库转移mysql 用kettle 转换数据. 步骤: 1.打开spoon.bat,文件-->新建-->转换,点击“主对象树”,DB连接右键“新建” ...
- sqlserver 2008R2数据库迁移oracle
x项目需要,将以前的sqlserver数据库迁移的oracle数据库中,由于以前对oracle只是在DML语句的步骤,所以总结一下这次遇到的问题以及具体步骤 1,oracle新建数据库 新建Oracl ...
- 从 Microsoft SQL Server 迁移到 Oracle
来源于:http://www.oracle.com/technetwork/cn/database/migration/sqlserver-095136-zhs.html Oracle SQL Dev ...
随机推荐
- nginx的sendfile指令的作用
linux为了解决对读文件产生的从应用空间到内核空间复制数据产生的效率影响引进了零拷贝.什么是零拷贝?这里就不多说了,请参考http://blog.csdn.net/crazyguang/articl ...
- 14.8.3 Identifying the File Format in Use 确认使用的文件格式;
14.8.3 Identifying the File Format in Use 确认使用的文件格式: 如果 你启用一个不同的文件格式使用 innodb_file_format configurat ...
- uva 129
暴力求解 大致题意 如果一个字符串含有相邻的重复字串称为容易的串,反之为非容易 求字典序第n困难的串…… 大致思路,暴力如果是容易的串停过,然后困难的串继续求解tot++ 总之先记着吧…… 最后输出格 ...
- POJ 1273 Drainage Ditches(网络流,最大流)
Description Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover ...
- linux 查看网络负载
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 前面的 netstat -n是netstat的命令,windo ...
- Swift - 给表格添加编辑功能(删除,插入)
1,下面的样例是给表格UITableView添加编辑功能: (1)给表格添加长按功能,长按后表格进入编辑状态 (2)在编辑状态下,第一个分组处于删除状态,第二个分组处于插入状态 (3)点击删除图标,删 ...
- Citrix 服务器虚拟化之三十一 XenApp 6.5负载均衡
Citrix 服务器虚拟化之三十一 XenApp 6.5负载均衡 说明: 环境基于实验三十 1.准备一台Windows Server 2008 R2的虚拟机名为XenAPP2,然后加入域k ...
- Delphi 中 FindWindow 和 FindWindowEx 找到外部进程,然后发送消息(比如最大化)
FindWindow(lpClassName, {窗口的类名}lpWindowName: PChar {窗口的标题}): HWND; {返回窗口的句柄; 失败返 ...
- 常用的JQuery数字类型验证正则表达式
var regexEnum = { intege:"^-?[1-9]//d*$", //整数 intege1:"^[1-9]//d*$", ...
- Android 异步链式调用设计
本文讨论一下异步链式调用的设计与实现. 考虑如下情况: 情况1: 访问网络(或其他耗时的事情).通常的做法是: 1.显示一个ProgressDialog对话框,提示用户. 2.启动工作线程来执行耗时操 ...