ITPub博客

首页 > 数据库 > Oracle > 数据移植到Oracle数据库(一)

数据移植到Oracle数据库(一)

原创 Oracle 作者:polalisi 时间:2007-10-12 18:49:00 0 删除 编辑
当一个企业内部使用的数据库种类繁杂时,往往需要有一个工利用Oracle Migration Workbench将第三方架构对象移植到Oracle数据库。具能够轻轻松松地把这些数据库中所有的数据重审一遍,然后通过把对象和数据移植到一个Oracle数据库的方法合并这些数据库。本专题将为大家介绍这样一个工具——新一代Oracle Migration Workbench,它是Oracle SQL Developer的扩展工具,功能强大,让你能够在Oracle和第三方数据库里存取数据,并把第三方数据库移植到同一个Oracle 9i Database或Oracle Database 10g,可移植的数据包括架构对象、触发器和存储程序。目前能够支持的第三方数据库包括Microsoft SQL Server、Microsoft Access和MySQL

  本文首先介绍怎样配置安装环境,接着以Microsoft SQL Server数据库为例,为大家演示怎样浏览SQL Server 数据库对象和数据,并把它们移植到一个Oracle数据库。

  配置运行环境

  在进行第三方数据库对象移植之前,必须先配置好Oracle SQL Developer和Oracle Migration Workbench的运行环境,以确保能够与第三方数据库正常连接。在自1.2.0.29.98版本开始,Oracle SQL Developer中就附带有 Oracle Migration Workbench。而Oracle SQL Developer则可以在Oracle的官方网站上下载,链接地址为otn.oracle.com/products/database/sql_developer。

  Oracle SQL Developer利用Java DataBase Connectivity (JDBC)连接到数据库,因此除了安装Oracle SQL Developer,还需要为需要连接的第三方数据库安装和配置JDBC驱动程序。相关第三方数据库的下载要求和链接信息列举如下:

  · MySQL JDBC驱动程序,5.04版,下载地址 http://dev.mysql.com/downloads/connector/j/5.0.html

  · Microsoft SQL Server需要有JDBC驱动程序,相关链接 http://jtds.sourceforge.net 1.2版的下载地址为 http://sourceforge.net/project/showfiles.php?group_id=33291

  · 由于Microsoft Access使用JDBC/ODBC,所以不需要额外的驱动程序。

  装配驱动程序

  一旦下载完所需的JDBC驱动程序后,展开驱动程序二进制JAR文件,通常是下载的归档文件内部的一个独立JAR文件。

  · 对于MySQL,下载的mysql-connector-java-5.0.4.tar.gz(或.zip)压缩包里包含一个名为mysql-connector-java-5.0.4-bin.jar的二进制驱动JAR文件。

  · 对于SQL Server,jtds-1.2-dist.zip压缩包里包含一个名为jtds-1.2.jar的文件。

  确保第三方数据库启动且正常运行,并启动Oracle SQL Developer。在主菜单里选择Tools -> Preferences...,展开数据库节点,选择Third Party JDBC Drivers,点击Add Entry...。接着浏览并选择上文提到的JAR文件,点击OK。

  创建数据库连接

  在运行Oracle SQL Developer里的一个数据库之前,需要先建立一个数据库连接。为任何一个你想要浏览和作为移植源的第三方数据库和任何一个你想要流浪和作为移植目标的数据库建立分别建立一个连接。

  想要在Oracle SQL Developer建立一个数据库连接,首先点击Connections选项卡,右击Connections节点选择New Connection。想要为SQL Server建立一个连接,点击SQLServer选项卡,然后按照以下顺序完成连接工序:

  输入连接名,如SQLServer2005_mwb
  输入用户名和口令
  输入SQL Server database所在的机器的主机名
  输入端口
  接下来,点击Retrieve数据库以生成可移植SQL Server数据库表单。

  最后点击Test,确保你所创建的所有连接都是成功的,然后点击Connect保存连接,关闭对话框,连接到选择好的SQL Server数据库。

  浏览数据

  当你打开Oracle SQL Developer里的一个数据库连接的同时,也打开了一个SQL工作表供你写入基本的查询和命令。展开你建立好的SQL Server连接,导航至dbo菜单下的Tables节点。你可以选择和拖拽任何图表到SQL工作表上,而且这个操作会产生一个SELECT指令。按F9键执行这一查询。

  按F5键可以进行多重查询。同样的对于任何其他的Oracle数据库连接,你可以点击列表头对返回的数据进行分类排序。

  直接点击表就可以查看表的定义,如Connections Navigator 中的Customers。注意这时显示的选项卡与连接到Oracle database时出现的选项卡稍许不同。还要注意当Oracle SQL Developer连接到一个Oracle数据库时,右键快捷菜单提供很多Data Definition Language (DDL)命令或实用命令;第三方数据库连接时的右键菜单主要是浏览和移植命令。

建立一个信息库

  Oracle Migration Workbench利用一个Oracle数据库架构作为移植信息库,用来储存其为移植进程所收集和转换的元数据。不管你要进行多少次移植操作,建立移植信息库只需要执行一次就够了。这个信息库由37个表以及相关的主键、索引,8个视图,触发器和PL/SQL代码组成。虽然不是必须的,不过Oracle还是建议专门为这个信息库配置一个数据库架构。

  必须赋予创建和拥有这个信息库的用户多种系统权限和任务。列表1创建了一个名为migration的用户,并赋予其必要的特权。

  代码列表1:创建migration用户

  CREATE USER migration IDENTIFIED BY migration

  DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;

  GRANT CONNECT, RESOURCE, CREATE VIEW, CREATE PUBLIC SYNONYM

  TO migration WITH ADMIN OPTION;

  GRANT ALTER ANY ROLE, ALTER ANY SEQUENCE,

  ALTER ANY TABLE, ALTER TABLESPACE, ALTER ANY TRIGGER,

  COMMENT ANY TABLE, CREATE ANY SEQUENCE, CREATE ANY TABLE,

  CREATE ANY TRIGGER, CREATE ROLE, CREATE TABLESPACE,

  CREATE USER, DROP ANY SEQUENCE, DROP ANY TABLE,

  DROP ANY TRIGGER, DROP TABLESPACE, DROP USER,

  DROP ANY ROLE, GRANT ANY ROLE, INSERT ANY TABLE,

  SELECT ANY TABLE, UPDATE ANY TABLE

  TO migration;

  一旦你创建了这个用户,你就需要为这个用户建立一个新的数据库连接,例如Migration_Repos。当你输入必要的信息之后,点击Connect保存连接并关闭对话框。从主菜单中选择Migration -> Repository Management -> Create Repository。选择为新信息库建立的连接,并点击Create。这时,会出现一个Installing Repository对话框,显示安装进度。当进程结束后,关闭对话框。

步骤三:为新Orecle架构对象生成DDL脚本。这个阶段,你可以选择为单个对象或者多个对象生成DDL脚本。如果想为所有的转换对象生成脚本,右击high-level converted model,然后点击Generate。

  步骤四:运行已生成的DDL脚本以创建新的用户和对象。当生成完毕时候,DDL脚本可以用SQL工作表打开。注意打开命令会创建一个新的数据库用户并赋予新用户权限。这表示要运行脚本必须是具有创建用户权限的用户,例如SYSTEM。在SQL工作表的右上角下拉菜单中选择你要运行脚本的用户,然后按F5键运行脚本。脚本运行完成后,在Connections Navigator中创建一个新的数据库连接,用来浏览和检查新的移植对象。

步骤五:将源数据库的任何数据复制到新的数据库。移植过程的最后阶段就是把源数据库中的数据复制到目标数据库。从主菜单中选择Migration -> Migrate Data。在弹出的对话框中选择源数据库、目标数据库和转换模式,并点击OK。这时你就可以在Oracle数据库中以其他的架构浏览、编辑和使用新的对象和数据了。

  结论

  Oracle Migration Workbench支持从Microsoft Access、 Microsoft SQL Server和MySQL到Oracle数据Oracle数据库数据移植,降低了移植过程的风险,并通过大量的自动操作减少了移植耗时。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10455649/viewspace-976216/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    59
  • 访问量
    57936