适用于:
Azure SQL 数据库
本指南介绍如何使用适用于 Oracle 的
SQL Server 迁移
助手 (SSMA for Oracle) 将 Oracle 架构
迁移
到 Azure SQL 数据库。
有关其他迁移指南,请参阅
Azure 数据库迁移指南
。
在 Azure Data Studio 中试用适用于 Oracle 的数据库迁移评估新扩展
,以预先评估 Oracle 到 SQL 的迁移以及进行工作负载分类。 如果你处于 Oracle SQL 迁移的早期阶段,需要执行高级工作负载评估,并想要调整 Oracle 工作负载 Azure SQL 目标的大小或了解功能迁移奇偶校验,请尝试新扩展。 有关详细的代码评估和转换,请继续使用适用于 Oracle 的 SSMA。
开始将 Oracle 架构迁移到 SQL 数据库之前:
验证源环境是否受支持。
下载
SSMA for Oracle
。
拥有目标
SQL 数据库
实例。
获取
SSMA for Oracle 的必需权限
和
提供程序
。
满足先决条件后,就已准备就绪,可以探索环境的拓扑并评估
Azure 云迁移
的可行性了。 迁移过程的这一部分涉及到对需要迁移的数据库进行清点、评估这些数据库是否存在潜在的迁移问题或阻碍因素,然后处理你可能已发现的任何项目。
借助 SSMA for Oracle,可查看数据库对象和数据、评估数据库是否适合迁移、将数据库对象迁移到 SQL 数据库,最后将数据迁移到数据库。
若要创建评估:
打开
SSMA for Oracle
。
依次选择“文件”和“新建项目” 。
输入项目名称和保存项目的位置。 然后从下拉列表中选择“Azure SQL 数据库”作为迁移目标,然后选择“确定” 。
选择“连接到 Oracle”。 在“连接到 Oracle”对话框上,为 Oracle 连接详细信息输入相应的值。
选择要迁移的 Oracle 架构。
在 Oracle 元数据资源管理器中,右键单击要迁移的 Oracle 架构,然后选择“创建报表”来生成 HTML 报表 。 或者,可选择一个数据库,然后选择“创建报表”选项卡。
查看 HTML 报表,了解转换统计信息以及任何错误或警告。 另外,还可以在 Excel 中打开报表以获取 Oracle 对象的清单,以及执行架构转换所需的工作量。 报表的默认位置在 SSMAProjects 内的报表文件夹中。
有关示例,请参阅
drive:\<username>\Documents\SSMAProjects\MyOracleMigration\report\report_2020_11_12T02_47_55\
。
验证数据类型
验证默认的数据类型映射,并根据需要对其进行更改(如有必要)。 为此,请执行下列步骤:
在 SSMA for Oracle 中,选择“工具”,然后选择“项目设置” 。
选择“类型映射”选项卡。
通过在“Oracle 元数据资源管理器”中选择表,可以更改每个表的类型映射。
若要转换架构:
(可选)向语句中添加动态或临时查询。 右键单击节点,然后选择“添加语句”。
选择“连接到 Azure SQL 数据库”选项卡。
在“SQL 数据库”中,输入连接详细信息以连接数据库。
从下拉菜单中选择目标 SQL 数据库实例,或输入新的名称;如果是提供新名称,则将在目标服务器上创建一个数据库。
输入身份验证详细信息,然后选择“连接”。
在 Oracle 元数据资源管理器中,右键单击 Oracle 架构,然后选择“转换架构” 。 或者,可以选择架构,然后选择“转换架构”选项卡。
转换完成后,查看转换后的对象并与原始对象进行比较,以识别潜在问题并根据建议解决这些问题。
将转换后的 Transact-SQL 文本与原始存储过程进行比较,并查看建议。
在“输出”窗格中,选择“查看结果”,然后在“错误列表”窗格中查看错误 。
在本地保存该项目以进行脱机架构修正练习。 在“文件”菜单中,选择“保存项目” 。 通过此步骤,你就有机会在将架构发布到 SQL 数据库之前,先对源架构和目标架构进行离线评估并执行修正。
Migrate
评估数据库并解决任何分歧后,下一步就是运行迁移过程。 迁移涉及两个步骤:发布架构和迁移数据。
发布架构和迁移数据:
发布架构:在“Azure SQL 数据库元数据资源管理器”中右键单击“数据库”节点中的数据库,然后选择“与数据库同步”。
检查源项目与目标之间的映射。
迁移数据:在“Oracle 元数据资源管理器”中右键单击要迁移的数据库或对象,然后选择“迁移数据” 。 也可选择“迁移数据”选项卡。若要迁移整个数据库的数据,请选中数据库名称旁边的复选框。 若要从单个表中迁移数据,请展开数据库,展开“表”,然后选中表旁边的复选框。 若要忽略单个表中的数据,请清除对应的复选框。
输入 Oracle 和 SQL 数据库的连接详细信息。
迁移完成后,查看“数据迁移报告”。
使用
SQL Server Management Studio
连接到 SQL 数据库实例,并查看数据和架构来验证迁移。
或者,还可使用 SQL Server Integration Services 来执行迁移。 若要了解更多信息,请参阅以下文章:
SQL Server Integration Services 入门
SQL Server Integration Services for Azure 和混合数据移动
成功完成迁移阶段后,需要完成一系列的迁移后任务,以确保一切都能尽量顺畅高效地正常进行。
将数据迁移到目标环境后,以前使用源的所有应用程序都需要开始使用目标。 在某些情况下,需要对应用程序进行更改才能完成此任务。
Data Access Migration Toolkit
是 Visual Studio Code 的扩展,可用于分析 Java 源代码并检测数据访问 API 调用和查询。 该工具包提供了一个单窗格视图,其中显示了支持新数据库后端需要满足的要求。 有关详细信息,请参阅
从 Oracle 迁移 Java 应用程序
博客文章。
数据库迁移的测试方法包括以下活动:
开发验证测试
:要测试数据库迁移,需要使用 SQL 查询。 必须创建针对源数据库和目标数据库运行的验证查询。 验证查询应涵盖已定义的范围。
设置测试环境
:测试环境应包含源数据库和目标数据库的副本。 请确保隔离测试环境。
运行验证测试
:针对源和目标运行验证测试,然后分析结果。
运行性能测试:针对源和目标运行性能测试,然后分析和比较结果。
验证迁移的对象
适用于 Oracle 的 Microsoft SQL Server 迁移助手测试程序(SSMA 测试程序)可用于测试迁移的数据库对象。 SSMA 测试程序用于验证转换后对象的行为方式是否相同。
创建测试用例
打开 SSMA for Oracle,选择“测试程序”,然后选择“新建测试用例” 。
提供新测试用例的以下信息:
名称:输入名称以标识测试用例。
创建日期:当天的当前日期(自动定义)。
上次修改日期:自动填充,不应更改。
说明:输入任何其他信息以标识测试用例的用途。
从位于左侧的 Oracle 对象树中选择属于测试用例的对象。
在本示例中,选择了存储过程
ADD_REGION
和表
REGION
。
若要了解详细信息,请参阅
选择并配置要测试的对象
。
接下来,从左侧窗口中的 Oracle 对象树中选择表、外键和其他依赖对象。
若要了解详细信息,请参阅
选择并配置受影响的对象。
查看对象的评估顺序。 单击网格中的按钮来更改顺序。
查看前面步骤中提供的信息来完成测试用例。 根据测试方案配置测试执行选项。
有关测试用例设置的详细信息,请参阅
完成测试用例准备
单击“完成”以创建测试用例。
数据工作负载评估模型和工具
此工具为给定工作负载提供建议的“最适合”目标平台、云就绪性和应用程序/数据库修正级别。 它提供简单的一键式计算和报表生成功能,通过提供统一的自动化目标平台决策过程,帮助加速大规模评估。
Oracle 清单脚本项目
该资产包含一个 PL/SQL 查询,它会命中 Oracle 系统表,并按架构类型、对象类型和状态提供对象计数。 它还提供每个架构中“原始数据”和表大小的粗略估算,结果以 CSV 格式存储。
自动化 SSMA Oracle 评估收集和整合
这组资源使用 .csv 文件作为输入(项目文件夹中的 sources.csv),来生成在控制台模式下运行 SSMA 评估所需的 xml 文件。 source.csv 是客户根据现有 Oracle 实例的清单提供的。 输出文件为 AssessmentReportGeneration_source_1.xml、ServersConnectionFile.xml 和 VariableValueFile.xml。
Oracle 到 SQL DB - 数据库比较实用工具
SSMA for Oracle 测试工具是推荐用于自动验证数据库对象转换和数据迁移的工具,它是数据库比较功能的超集。
如果要查找备用的数据验证选项,则可使用数据库比较实用工具沿所有或所选表、行和列中的行或列级别比较数据。
数据 SQL 工程团队开发了这些资源。 此团队的核心章程是解锁和加速到 Microsoft 的 Azure 数据平台的数据平台迁移项目的复杂现代化进程。
有关在执行各种数据库和数据迁移方案及专门任务时可为你提供帮助的 Microsoft 与第三方服务和工具的矩阵,请参阅
数据迁移服务和工具
。
若要了解有关 SQL 数据库的详细信息,请参阅:
Azure SQL 数据库概述
Azure 总拥有成本 (TCO) 计算器
有关云迁移的框架和采用周期的详细信息,请参阅:
适用于 Azure 的云采用框架
为迁移到 Azure 的工作负载计算成本和调整大小的最佳做法
云迁移资源
有关视频内容,请参阅:
迁移之旅及推荐用于执行评估和迁移的工具和服务的概述