Oracle9i数据迁移改善工作流程
随着数据库技术的不断发展,数据库的数据量不断增长,数据迁移的重要性也日益凸显。在此背景下,利用Oracle 9i的迁移工具实现数据迁移变得越来越流行。本文将介绍如何利用Oracle 9i 的PowerDesigner和Data Migration Assistant数据迁移工具来改善工作流程。
一、Power Designer工具
PowerDesigner是一款全面的数据建模和设计工具,可用于设计数据库和应用程序。PowerDesigner可支持多个数据库平台,包括Oracle、SQL Server、IBM DB2等等,且在数据库物理模型设计方面表现优异。PowerDesigner也是一个强大的数据迁移工具,可通过图形化界面进行数据转移。
1.1 迁移步骤
以下为PowerDesigner 集成的数据迁移的六个主要步骤:
1. 导出源数据库模型:
在PowerDesigner 中,通过“Export Physical Model to DBMS Data Definition Language” 面板可以将数据模型导出到DDL脚本,中间可能需要进行一些适当的调整。
2. 生成目标数据库模式: ,
在Oracle9i中,创建新模式时可以通过传递DDL脚本来实现。
3. 执行迁移:
用SQLPLUS或PL/SQL Developer执行DDL脚本,导入源数据库模型。
4. 数据加载:
将源数据库中的所有表连接到目标数据库并加载数据。
5. 检查数据:
验证源数据是否与目标数据相同,可以使用比较工具,如WinMerge或Beyond Compare等进行数据比较。
6. 调整:
如果存在任何问题,修改数据库本身或修改源数据库模型并重新开始迁移过程。
以上这六个步骤可以有效优化数据迁移的过程,缩短迁移时间,减少不必要的错误。
1.2 示例
以下代码列出了在PowerDesigner中使用的一个示例:
1.建立一个新的本地数据库映射:
CREATE DATABASE MyNewDB SYBASE;
2.使用“逆向工程操作”将源数据库模型载入PowerDesigner:
RENAME COLUMN [dbo].[supplier].[supplier_code] TO [ dbo].[supplier].[ code];
ALTER TABLE [dbo].[supplier] CHANGE [tax_no] [tax_number] CHAR[10];
3.导出数据模型,通过这个DDL脚本可以在一个新的Oracle 9i数据库中创建同样的表和数据类型:
CREATE TABLE [supplier]
(supplier_id INT NOT NULL,
name CHAR(25) NOT NULL,
tax_number CHAR(10) NULL,
address CHAR(50) NOT NULL,
city CHAR(25) NOT NULL,
state CHAR(2) NOT NULL,
PRIMARY KEY (supplier_id));
4.导出模型并生成相应的向导脚本。
导出模型将步骤1-3中的动作导出到aep文件,生成相应的向导脚本使其他用户能够复制这些动作
5.执行迁移脚本。
利用SQL*Plus连接到Oracle 9i数据库,使用SQL语句执行最近生成的迁移脚本。
二、数据迁移助手DMA
DMA是使用Java编写的Data Migration Assistant。DMA工具能够帮助Oracle数据库用户轻松地将第三方数据库迁移到Oracle9i数据库。它提供了源到目标数据库之间的直接数据迁移。 DMA工具支持的资源包括microsoft SQL Server、Microsoft Access和Sybase Adaptive Server Anywhere等。
DMA和PowerDesigner工具不同,DMA工具没有集成化的界面,但其优点是可以编写多种类型的数据迁移。DMA 工具的大部分代码都是Java编写的,因此工具的可移植性更好。DMA工具具有高度的可扩展性,并支持各种不同的数据源。
1. 使用DMA 工具迁移数据的步骤:
1. 下载 DMA 工具。
下载DMA工具最新版本,与Oracle 9i版本匹配。
2. 连接到源数据库。
连接到要移动数据的源数据库。
3. 创建目标数据库。
创建要将数据移动到的目标数据库
4. 指定数据对象。
选择需要移动的数据对象
5. 执行数据迁移。
选择需要迁移的数据,然后执行数据迁移
2.示例
以下代码列出了使用DMA工具的一个示例:
JDBC数据库URL:
jdbc:odbc:bookstore
DB类型:
MS Access
JDBC驱动程序类:
sun.jdbc.odbc.JdbcOdbcDriver
从数据源选择表名称:
SELECT BOOK_NAME, AUTHOR_NAME, ISBN, EDITION, PUBLISHER_NAME
FROM BOOKS
将数据迁移到Oracle数据库:
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=myorcldbserv)))
书籍目标表格:
BOOK_LIST
对于大型数据集,可能需要对上面的不同步骤进行切分以便更好地进行跟踪和调试。
三、总结
本文介绍了如何使用PowerDesigner和数据迁移助手DMA两种数据迁移工具优化数据库迁移过程。无论是在PowerDesigner还是DMA工具中,用户都可以选择最合适的工具和步骤以达到最佳效果。同时,这两种工具的使用不是二选一的,而是根据具体需求来选择最合适的工具和方法进行数据迁移操作。