数据迁移Oracle转SQLServer2008.doc

上传人:hw****26 文档编号:3932416 上传时间:2019-08-26 格式:DOC 页数:11 大小:1.53MB
下载 相关 举报
数据迁移Oracle转SQLServer2008.doc_第1页
第1页 / 共11页
数据迁移Oracle转SQLServer2008.doc_第2页
第2页 / 共11页
数据迁移Oracle转SQLServer2008.doc_第3页
第3页 / 共11页
数据迁移Oracle转SQLServer2008.doc_第4页
第4页 / 共11页
数据迁移Oracle转SQLServer2008.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、Sql Server 迁移助手(SSMA) 将 Oracle 数据库转成 Sql Server 2008 首先到微软官方网站寻找 下载 SSMA(Sql Server 迁移助手 )步骤 1: 先安装 Oracle 11g 和 Sql Server 2008步骤 2:下载 SSMA, 或者向我 勒索 ,然后安装步骤 3: 打开各种所需的服务(怎么打?Win+R-services.msc-Enter)步骤 4: 如果你有一个 dmp 文件(这是从 Oracle 导出来的一个 备份的文件) ,先将他导入到Oracle 中怎么导入呢?如图: 1.建议先创建一个用户 Create user 用户名 id

2、entified by 密码2.授权接着,可以打开命令行,可不是打开 Sqlplus 哦如图 imp userid=(上面创建的)用户名/ 密码 full=y file=文件路径步骤 5:你导入完成了没 ? 不知道 你数据量多少哦! 反正我话个把小时转完了步骤 6:打开 SSMA新建一个项目步骤 7:就此,基本完成了,然后就是 Click Connect to Oracle步骤 8:接下来 看看 SQL 中国研发中心的 Blog:http:/ 你会懂的;步骤 9:想想我顺便贴出来一下,免得大家麻烦SQL Server Migration Assistant(简称 SSMA)是由微软发布的帮助客

3、户更容易地从Oracle/Sybase/MySQL/Access 迁移到 SQL Server 以及 SQL Azure 的一个工具集,几周前我们刚刚发布了 SSMA 5.0 版本,该版本支持了最新的代号为 Denali 的 SQL Server 的CTP 版本,并且增加了对 SQL Azure 迁移的支持。下表说明了 SSMA 5.0 所支持的迁移矩阵:Migrating FromUsing SSMA ToolTo SQL Server (2005, 2008, 2008 R2, “Denali”)To SQL AzureSybase SSMA for Sybase (New in SSMA

4、 5.0)Oracle SSMA for Oracle MySQL SSMA for MySQL Access SSMA for Access 这里我们选择 SSMA for Oracle 5.0 为例介绍一下 SSMA 如何帮助您从 Oracle 迁移到 SQL Server 2008 R2。首先我们从这里下载 SSMA for Oracle 5.0 的压缩包,解压缩后有两个exe 文件,SSMA for Oracle 5.0.exe 是工具的安装包,SSMA for Oracle 5.0 Extension Pack.exe 必须安装在 SQL Server 2008 R2 所在服务器,用

5、来创建一些辅助运行需要的数据库表和存储过程等。首次运行 SSMA for Oracle 需要一个 License,如图 1 所示,你可以点击链接,然后根据提示填写个人信息后免费申请,下载保存之后返回这个对话框选择你保存 License 的目录然后点击 Refresh License 按钮即可运行 SSMA for Oracle 了。图 1 License Management 对话框在主窗口 File 菜单中选择 New Project菜单项将显示图 2 所示的对话框,输入项目的名字,选择 SQL Server 2008 作为迁移的目标数据库版本。图 2 New Project 对话框我们将使

6、用 Oracle XE 的 HR schema 为例(下文称之为 HR 数据库以避免歧义,但其实Oracle 并没有 SQL Server 数据库类似的概念)。SSMA 为提高性能,缺省情况下不加载某些示例数据库(包括 HR 数据库),这个缺省设置可以通过 Project Settings 来修改,选择Tools 菜单的 Project Settings 菜单项,在弹出的对话框里点击 General 再选择 Loading System Objects,然后勾选 HR,如图 3 所示。图 3 Project Settings 对话框然后我们连接 Oracle 服务器,点击工具条上的 Conne

7、ct to Oracle,输入 Server 名称、SID 和用户名/密码,如图 4 所示。连接后会有个警告对话框告诉你 hr 用户没有足够的权限。由于我们只需要迁移 HR 数据库,这里可以点击 Continue 忽略它。如果你的 Oracle 服务器上有很多数据库,数据加载可能需要比较长的时间,请耐心等待图 4 连接到 Oracle 服务器连接上 Oracle 后我们首先评估一下迁移 HR 数据库会不会碰到问题,如果碰到问题大约需要多长时间来解决。评估并不需要连接目标 SQL Server,只需要在左上方的树里展开 Oracle服务器名称,然后展开 Schemas,右键点击 HR 并选择 C

8、reate Report,如图 5 所示。图 5 评估 HR 数据库SSMA 运行一段时间后会打开一个评估报告的对话框,如图 6 所示。这个评估报告很有用,里面会列出 HR 数据库里各种对象(包括函数、包、存储过程、表和视图等)能够成功迁移的比例,你可以在左边的树里选择你需要查看的某个对象,比如存储过程,比较 Oracle 的PL/SQL 语法和迁移后的 TSQL 语法。图 6 评估报告图 7 是一个包含有错误的评估报告,当包含错误时,SSMA 会估算手工做转换大约需要多少时间,这样你就可以使用评估报告来帮助你做数据库迁移的时间规划。图 7 一个包含错误的评估报告首先我们需要连接目标数据库,点

9、击工具条上的 Connect to SQL Server,输入 Server name,在 Database 里输入 HR,如图 1 所示。如果你的 SQL Server 里不存在 HR 数据库,点击 Connect 后 SSMA 会提示错误,问你是否创建 HR 数据库,选择 Yes。HR 数据库创建后 SSMA 可能会提示 SQL Server Agent 未运行,这仅在使用服务器端数据迁移时才会用到,默认情况下我们使用的是客户端数据迁移,所以可以点击 Continue 忽略。 图 1 连接到 SQL Server 服务器连接上 SQL Server 服务器后我们就可以迁移 Schema 了

10、,这里的 Schema 指数据以外的数据库定义,比如表结构、视图定义、存储过程等等。右键单击 Oracle Metadata Explorer 里的 HR 数据库,选择 Convert Schema,如图 2 所示。SSMA 运行一段时间后会在最下方的Output 栏里显示转换是否有错误、警告或信息。这时你可以展开 SQL Server Metadata Explorer 里 HR 数据库的 dbo schema,在 Procedures 文件夹下会发现ADD_JOB_HISTORY 等存储过程,Tables 文件夹下会发现 COUNTRIES 等表,说明Schema 的迁移已经成功。图 2

11、转换 Schema如果这时你使用 SQL Server 客户端工具 SQL Server Management Studio 或者 Visual Studio 的 Server Explorer 查看 SQL Server 上的 HR 数据库,你会发现找不到前面所说的存储过程、表或者视图。这是因为 Convert Schema 菜单项只是在 SSMA 的 Project 里进行了转换,并未转换到数据库。这么设计为了让你可以在同步到 SQL Server 之前再做些其他修改,比如 REGIONS 表里的 REGION_ID 列在 Oracle 里是 NUMBER 类型,它被 SSMA 转换成了最

12、安全的 float(53)类型,如果你知道 REGION_ID 就是个整形,你可以把它修改为int 类型,当然你最好对 COUNTRIES 表的 REGION 列也做同样的修改。在确认 Schema 迁移没有问题后,你可以同步到 SQL Server 数据库了,在 SQL Server Metadata Explorer 里右键点击 HR 数据库,选择 Synchronize with Database,如图 3 所示。图 3 同步 HR 数据库到 SQL Server这时可能会再次弹出 SQL Server 连接对话框和 SQL Server Agent 未运行的警告,确认后会显示 Sync

13、hronize with the Database 对话框,如图 4 所示。对话框里列出了 SQL Server 数据库和 SSMA 的树结构的差别,可以选择 Hide Equal Objects 来过滤掉两边相同的对象。由于我们连接的是新创建的 HR 数据库,所以左侧显示的都是 Not Found 状态,如果你之前做过同步这里会显示不同的状态,这里我们点击 OK 继续。等待右下角的进度条走完,留意主窗口 Output 栏是否报错,没有报错的话 SQL Server 里的对象应该已经创建好了。图 4 Synchronize with the Database 对话框再次使用 SQL Serve

14、r Management Studio 或者 Visual Studio 来查看 HR 数据库中的对象,会发现一些$SSMA 打头的表或者存储过程等,这些是迁移一些特殊对象(比如 Oracle的 Sequence 对象)所创建出来的辅助对象。在成功迁移了 Schema 之后,我们就可以来进行迁移的最后一步:数据迁移。有了 SSMA 的帮助数据迁移也非常简单,右键点击 Oracle Metadata Explorer 里的 HR 数据库,选择Migrate Data,如图 5 所示。SSMA 会再次提示 Oracle 和 SQL Server 的连接信息,如果之前做过数据迁移可能会有数据覆盖的警告信息,如果有点击 Continue 继续。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲资料库 > 生活指南

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。