如何使用适用于 Oracle 的 SQL Server 迁移助手Microsoft SQL Server Migration Assistant for Oracle (SSMA for Oracle) 将 Oracle 数据库迁移到 SQL Server
Microsoft SQL Server Migration Assistant (SSMA) for Oracle is a tool to automate migration from Oracle database(s) to SQL Server, Azure SQL Database, Azure SQL Database Managed Instance and Azure SQL Data Warehouse.
迁移指南:从 Oracle 迁移到 SQL Server
参考官方文档
https://learn.microsoft.com/en-us/sql/sql-server/migrate/guides/oracle-to-sql-server?view=sql-server-ver16
1、本文内容
- 先决条件
- 迁移前
- 迁移数据库
- 迁移后
- 迁移资产
- 相关内容
适用于:SQL Server
本指南介绍如何使用适用于 Oracle 的 SQL Server 迁移助手 (SSMA for Oracle) 将 Oracle 数据库迁移到 SQL Server。
SSMA for Oracle迁移助手下载地址
https://www.microsoft.com/en-us/download/details.aspx?id=54258
2、先决条件
开始将 Oracle 数据库迁移到 SQL Server 之前,请执行以下步骤:
- 验证源环境是否受支持。
- 下载并安装 SQL Server。
- 下载并安装 SSMA for Oracle。
- 获取 SSMA for Oracle 的必需权限和提供程序。
- 获取连接以及访问源和目标的足够权限。
3、迁移前
准备迁移到云时,请验证源环境是否受支持,以及是否已满足所有其他先决条件。 这样做有助于确保高效成功地完成迁移。
迁移过程的这一部分涉及到对需要迁移的数据库进行清点、评估它们是否存在潜在的迁移问题或阻碍因素,然后处理可能已发现的任何项。
3.1、发现
为了更好地了解和规划迁移,请使用 Microsoft 评估和计划 (MAP) 工具包来确定现有数据源以及有关组织所使用的功能的详细信息。 此过程涉及扫描网络,旨在确定组织的所有 Oracle 实例、版本和功能。
若要使用 MAP 工具包执行清单扫描,请执行以下步骤:
-
打开 MAP 工具包。
-
在“概述”窗格上,选择“创建/选择数据库” 。
-
在“创建或选择数据库”下,选择“创建清单数据库”,输入要创建的清单数据库的名称,提供简短描述,然后选择“确定” 。
-
选择“收集清单数据”,打开清单和评估向导 。
-
在向导中,选择“Oracle”,然后选择“下一步” 。
-
选择最适合组织需求和环境的计算机搜索选项,然后选择“下一步”。
-
为要浏览的系统输入当前凭据或创建新凭据,然后选择“下一步”。
-
设置凭据的顺序,然后选择“下一步”。
-
为要发现的每台计算机指定凭据。 可对每台计算机使用唯一凭据,也可从“计算机”列表中进行选择。
-
验证你的选择内容摘要,然后选择“完成”。
-
扫描完成后,查看“数据收集”摘要报告。 扫描可能需要几分钟时间,具体取决于数据库的数量。 完成后,选择“关闭”。
-
选择“选项”,生成有关 Oracle 评估和数据库详细信息的报表。
3.2、评估
确定数据源后,使用 SSMA for Oracle 来评估要迁移到 SQL Server 虚拟机的 Oracle 实例,以了解两者之间的差距。 通过使用迁移助手,可以查看数据库对象和数据、评估数据库是否适合迁移、将数据库对象迁移到 SQL Server,然后将数据迁移到 SQL Server。
要创建评估,请执行以下步骤:
-
打开 SSMA for Oracle。
-
依次选择“文件”和“新建项目” 。
-
提供项目名称和位置,然后从下拉列表中选择 SQL Server 迁移目标。 选择“确定”。
-
选择“连接到 Oracle”,输入 Oracle 连接详细信息,然后选择“连接” 。
-
在“筛选对象”窗格上,选择要迁移的 Oracle 架构,然后选择“确定” 。
-
在“Oracle 元数据资源管理器”窗格中,选择要使用的 Oracle 架构,然后选择“创建报告”,以生成包含转换统计信息和错误或警告(若有)的 HTML 报告 。 或者,可以选择右上方的“创建报表”选项卡。
-
查看 HTML 报告,了解转换统计信息以及任何错误或警告。 另外,还可以在 Excel 中打开报表以获取 Oracle 对象的清单,以及执行架构转换所需的工作量。 报告的默认位置在 SSMAProjects 内的报告文件夹中。 例如:
3.3、验证数据类型
验证默认的数据类型映射,并根据需要对其进行更改(如有必要)。 为此,请执行以下操作:
-
选择“工具”,然后选择“项目设置” 。
-
选择“类型映射”选项卡。
-
可以通过在“Oracle 元数据资源管理器”窗格中选择表名来更改每个表的类型映射。
3.4、转换架构
要转换架构,请执行以下步骤:
- (可选)若要转换动态或专用查询,请右键单击节点并选择“添加语句”。
- 选择“连接到 SQL Server”选项卡,然后输入 SQL Server 实例的连接详细信息。
- 在“数据库”下拉列表中,选择目标数据库,或提供新名称以在目标服务器上创建数据库。
- 提供身份验证详细信息。
- 选择“连接”。
- 在“Oracle 元数据资源管理器”窗格中,右键单击要使用的架构,然后选“转换架构” 。 或者,可以选择右上方的“转换架构”选项卡。
需要开启SQL Server Agent,不然会有如上错误
-- 本次测试是linux操作系统安装的SQLserver2022
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
sudo systemctl restart mssql-server
- 转换完成后,比较转换后的对象与起始对象,以识别潜在问题并根据建议解决这些问题。
将转换后的 Transact-SQL 文本与原始代码进行比较,并查看建议。
- 在“输出”窗格中,选择“查看结果”图标,然后在“错误列表”窗格中查看任何错误 。
- 对于脱机架构修正练习,请通过选择“文件”>“保存项目”来以本地方式保存项目 。 这样做你就有机会在将架构发布到 SQL Server 实例之前,先对源和目标架构进行脱机评估并执行修正。
4、迁移数据库
在满足先决条件并完成与“迁移前”阶段相关的任务后,便可以执行架构和数据库迁移。 迁移涉及两个步骤:发布架构和迁移数据库。
若要发布架构和迁移数据库,请执行以下步骤:
-
发布架构。 在“SQL Server 元数据资源管理器”窗格中,右键单击数据库,然后选择“与数据库同步” 。 此操作会将 Oracle 架构发布到 SQL Server 实例。
-
查看源项目与目标之间的映射,如此处所示:
-
迁移数据。 在“Oracle 元数据资源管理器”窗格中,右键单击要迁移的架构或对象,然后选择“迁移数据” 。 或者,可以选择右上方的“迁移数据”选项卡。
若要迁移整个数据库的数据,请选中数据库名称旁边的复选框。 若要从单个表中迁移数据,请展开数据库,展开“表”,然后选中表旁边的复选框。 若要忽略单个表中的数据,请清除对应的复选框。
-
在“迁移数据”窗格中,输入 Oracle 和 SQL Server 的连接详细信息。
-
迁移完成后,查看“数据迁移报告”。
-
使用 SQL Server Management Studio (SSMS) 连接到 SQL Server 实例,然后通过查看数据和架构来验证迁移。
除了使用 SSMA,还可使用 SQL Server Integration Services (SSIS) 迁移数据。
若要了解更多信息,请参阅以下文章:
https://learn.microsoft.com/en-us/sql/integration-services/sql-server-integration-services?view=sql-server-ver16
欢迎大家阅读指正,点赞及收藏。非常感谢!