当前位置: 首页 > news >正文

使用迁移助手 (SSMA for Oracle) 将Oracle19c数据库迁移到SQL Server2022

如何使用适用于 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 工具包执行清单扫描,请执行以下步骤:

  1. 打开 MAP 工具包。

  2. 在“概述”窗格上,选择“创建/选择数据库” 。
    在这里插入图片描述

  3. 在“创建或选择数据库”下,选择“创建清单数据库”,输入要创建的清单数据库的名称,提供简短描述,然后选择“确定” 。
    在这里插入图片描述

  4. 选择“收集清单数据”,打开清单和评估向导 。
    在这里插入图片描述

  5. 在向导中,选择“Oracle”,然后选择“下一步” 。
    在这里插入图片描述

  6. 选择最适合组织需求和环境的计算机搜索选项,然后选择“下一步”。
    在这里插入图片描述

  7. 为要浏览的系统输入当前凭据或创建新凭据,然后选择“下一步”。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  8. 设置凭据的顺序,然后选择“下一步”。
    在这里插入图片描述

  9. 为要发现的每台计算机指定凭据。 可对每台计算机使用唯一凭据,也可从“计算机”列表中进行选择。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  10. 验证你的选择内容摘要,然后选择“完成”。
    在这里插入图片描述

  11. 扫描完成后,查看“数据收集”摘要报告。 扫描可能需要几分钟时间,具体取决于数据库的数量。 完成后,选择“关闭”。
    在这里插入图片描述

  12. 选择“选项”,生成有关 Oracle 评估和数据库详细信息的报表。

3.2、评估

确定数据源后,使用 SSMA for Oracle 来评估要迁移到 SQL Server 虚拟机的 Oracle 实例,以了解两者之间的差距。 通过使用迁移助手,可以查看数据库对象和数据、评估数据库是否适合迁移、将数据库对象迁移到 SQL Server,然后将数据迁移到 SQL Server。

要创建评估,请执行以下步骤:

  1. 打开 SSMA for Oracle。

  2. 依次选择“文件”和“新建项目” 。

  3. 提供项目名称和位置,然后从下拉列表中选择 SQL Server 迁移目标。 选择“确定”。
    在这里插入图片描述

  4. 选择“连接到 Oracle”,输入 Oracle 连接详细信息,然后选择“连接” 。
    在这里插入图片描述

  5. 在“筛选对象”窗格上,选择要迁移的 Oracle 架构,然后选择“确定” 。
    在这里插入图片描述

  6. 在“Oracle 元数据资源管理器”窗格中,选择要使用的 Oracle 架构,然后选择“创建报告”,以生成包含转换统计信息和错误或警告(若有)的 HTML 报告 。 或者,可以选择右上方的“创建报表”选项卡。
    在这里插入图片描述

  7. 查看 HTML 报告,了解转换统计信息以及任何错误或警告。 另外,还可以在 Excel 中打开报表以获取 Oracle 对象的清单,以及执行架构转换所需的工作量。 报告的默认位置在 SSMAProjects 内的报告文件夹中。 例如:
    在这里插入图片描述

3.3、验证数据类型

验证默认的数据类型映射,并根据需要对其进行更改(如有必要)。 为此,请执行以下操作:

  1. 选择“工具”,然后选择“项目设置” 。

  2. 选择“类型映射”选项卡。
    在这里插入图片描述

  3. 可以通过在“Oracle 元数据资源管理器”窗格中选择表名来更改每个表的类型映射。

3.4、转换架构

要转换架构,请执行以下步骤:

  1. (可选)若要转换动态或专用查询,请右键单击节点并选择“添加语句”。
  2. 选择“连接到 SQL Server”选项卡,然后输入 SQL Server 实例的连接详细信息。
    • 在“数据库”下拉列表中,选择目标数据库,或提供新名称以在目标服务器上创建数据库。
    • 提供身份验证详细信息。
    • 选择“连接”。
      在这里插入图片描述
  3. 在“Oracle 元数据资源管理器”窗格中,右键单击要使用的架构,然后选“转换架构” 。 或者,可以选择右上方的“转换架构”选项卡。
    在这里插入图片描述
    需要开启SQL Server Agent,不然会有如上错误
-- 本次测试是linux操作系统安装的SQLserver2022
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
sudo systemctl restart mssql-server

在这里插入图片描述

  1. 转换完成后,比较转换后的对象与起始对象,以识别潜在问题并根据建议解决这些问题。
    在这里插入图片描述
    在这里插入图片描述

将转换后的 Transact-SQL 文本与原始代码进行比较,并查看建议。
在这里插入图片描述

  1. 在“输出”窗格中,选择“查看结果”图标,然后在“错误列表”窗格中查看任何错误 。
  2. 对于脱机架构修正练习,请通过选择“文件”>“保存项目”来以本地方式保存项目 。 这样做你就有机会在将架构发布到 SQL Server 实例之前,先对源和目标架构进行脱机评估并执行修正。

4、迁移数据库

在满足先决条件并完成与“迁移前”阶段相关的任务后,便可以执行架构和数据库迁移。 迁移涉及两个步骤:发布架构和迁移数据库。

若要发布架构和迁移数据库,请执行以下步骤:

  1. 发布架构。 在“SQL Server 元数据资源管理器”窗格中,右键单击数据库,然后选择“与数据库同步” 。 此操作会将 Oracle 架构发布到 SQL Server 实例。
    在这里插入图片描述

  2. 查看源项目与目标之间的映射,如此处所示:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  3. 迁移数据。 在“Oracle 元数据资源管理器”窗格中,右键单击要迁移的架构或对象,然后选择“迁移数据” 。 或者,可以选择右上方的“迁移数据”选项卡。
    若要迁移整个数据库的数据,请选中数据库名称旁边的复选框。 若要从单个表中迁移数据,请展开数据库,展开“表”,然后选中表旁边的复选框。 若要忽略单个表中的数据,请清除对应的复选框。
    在这里插入图片描述

  4. 在“迁移数据”窗格中,输入 Oracle 和 SQL Server 的连接详细信息。
    在这里插入图片描述
    在这里插入图片描述

  5. 迁移完成后,查看“数据迁移报告”。
    在这里插入图片描述

  6. 使用 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

欢迎大家阅读指正,点赞及收藏。非常感谢!

相关文章:

使用迁移助手 (SSMA for Oracle) 将Oracle19c数据库迁移到SQL Server2022

如何使用适用于 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 data…...

LabVIEW开发EOL功能测试系统

LabVIEW开发EOL功能测试系统 介绍了一种基于LabVIEW开发的EOL功能测试系统方案,涵盖软件架构、工作流程、模块化设计、低耦合性、易于修改与维护、稳定性及硬件选型。系统通过高效的CAN通信实现对电机控制器的全面测试,确保运行可靠并支持未来的升级需求…...

Java finally catch try关键字

Java finally catch try关键字 finally: finally 关键字用来创建在 try 代码块后面执行的代码块;无论是否发生异常,finally 代码块中的代码总会被执行。 在 finally 代码块中,可以进行文件流关闭等收尾善后性质的语句 catch&am…...

docker安装mysql8和mysql5.7

1.docker安装mysql5.7,请点击此链接 2.docker安装mysql8并挂载数据卷 docker pull mysql:8.0 docker run --name mysql8 -e MYSQL_ROOT_PASSWORDmy-secret-pw -d mysql:8.0 docker run --name mysql8 -e MYSQL_ROOT_PASSWORD123456 -v /mqq/mysql8/datadir:/var/lib/mysql -d…...

通过一个例子,说明Python的责任链设计模式有什么优缺点

责任链设计模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将一个请求沿着处理者链进行传递,直到有一个处理者处理它为止。在Python中,这种模式可以通过多种方式实现,通常涉及到一系列对象…...

场地预定小程序基于FastAdmin+UniApp

本文来自:XYvenue场地预定小程序基于FastAdminUniApp - 源码1688 应用介绍 XYvenue是基于FastAdminUniApp开发的多场馆场地预定小程序,提供运动场馆运营解决方案,适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆。 前端演示&#xf…...

CrossPrefetch: Accelerating I/O Prefetching for Modern Storage——论文泛读

ASPLOS 2024 Paper 论文阅读笔记整理 问题 目前计算设备和存储设备之间的性能差距仍然很大。因此,主内存缓存和缓冲区被广泛用于操作系统、用户级文件系统[32]和I/O运行时,在隐藏性能差距和减少I/O瓶颈方面发挥关键作用[23,26,3…...

详解 Spark Streaming 的 DStream 对象

一、DStream 的创建 1. 通过 RDD 队列 DStream 在内部实现上是一系列连续的 RDD 来表示。每个 RDD 包含有采集周期内的数据 /** 基本语法:StreamingContext.queueStream(queueOfRDDs: Queue, oneAtATime false) */ object DStreamFromRddQueue {def main(args: Ar…...

QT常用控件

目录 1.控件概述 2. QWidget 核⼼属性 设置组件是否可用 获取组件当前位置和尺⼨ QWidget的图标 组件的透明度设置 QWidget光标的设置 字体的设置 组件提示 设置组件获取到焦点的策略 stylesheet样式表 3.常用组件 QPushButton RadioButton Check Box QLabel …...

如何解决chatgpt出现503 bad gateway的问题

昨日,ChatGPT官网挂了,也就是使用web网页端访问的用户,会出现 bad gateway 情况。我们去ChatGPT官方的监控查看,已经展示相关错误。 影响的范围有: 影响了 ChatGPT 所有计划的所有用户。影响包括所有与 ChatGPT 相关…...

Halcon 双相机标定与拼图(二)

一、概述 这种标定有两种模式,有一个标定板和多个标定板两种 一个标定板 两个相机的重叠区域比较大,那么我们可以把标定板放到那个重叠区域来统一坐标系,如下 这种是只需要一个标定板,这种是推荐的方式 。这种是比较简单的&…...

【加密与解密】【04】Java安全架构

JAVA安全模块划分 JCA,Java Cryptography Architecture,Java加密体系结构JCE,Java Cryptography Extension,Java加密扩展包JSSE,Java Secure Sockets Extension,Java安全套接字扩展包JAAS,Java…...

论文阅读:Neural Scene Flow Prior

目录 概要 Motivation 整体架构流程 技术细节 小结 论文地址:...

如何通过 6 种简单方法将照片从华为转移到 PC?

华为作为全球领先的智能手机供应商之一,最近推出了其自主研发的操作系统——HarmonyOS 2.0,旨在为智能手机、平板电脑和智能手表等设备提供更流畅的用户体验。随着Mate 40/P40等系列手机计划升级到HarmonyOS 2.0,用户可能需要将手机中的文件备…...

QtCharts使用

1.基础配置 1.QGraphicsView提升为QChartView#include <QtCharts> QT_CHARTS_USE_NAMESPACE #include "ui_widget.h"2. QT charts 2.柱状图 2.1QBarSeries //1.创建Qchart对象QChart *chart new QChart();chart->setTitle("直方图演示");//设…...

深入分析 Flink SQL 工作机制

摘要&#xff1a;本文整理自 Flink Forward 2020 全球在线会议中文精华版&#xff0c;由 Apache Flink PMC 伍翀&#xff08;云邪&#xff09;分享&#xff0c;社区志愿者陈婧敏&#xff08;清樾&#xff09;整理。旨在帮助大家更好地理解 Flink SQL 引擎的工作原理。文章主要分…...

Spring Bean参数校验Validator

Spring Bean参数校验Validator 以下2种方式可以用于所有的 Spring bean 不仅仅是 Controller 控制器。 一、原始类型参数 在控制器&#xff08;或者其他Bean&#xff09;上使用Validated注解。 控制器类 RestController RequestMapping("account") Validated pub…...

AOP案例

黑马程序员JavaWeb开发教程 文章目录 一、案例1.1 案例1.2 步骤1.2.1 准备1.2.2 编码 一、案例 1.1 案例 将之前案例中增、删、改相关节后的操作日志记录到数据库表中。 操作日志&#xff1a;日志信息包含&#xff1a;操作人、操作时间、执行方法的全类名、执行方法名、方法…...

Facebook海外户Facebook广告被暂停的原因

有很多伙伴在Facebook广告时&#xff0c;有时会遇到账号被暂停&#xff0c;并通知你违反了哪些规则&#xff0c;那么Facebook广告被暂停的原因有哪些呢&#xff1f;今天小编详细梳理了一些原因&#xff0c;可以往下看哦~ 您的Facebook广告被暂停可能有以下几个原因&#xff1a…...

网站企业需要适用于什么服务器?

对于网站企业会选择什么样的服务器呢&#xff1f; 为了保证网站能够稳定的运行需要选择高可用性和可靠性的网站服务器&#xff0c;选择具备高可用性架构的云服务器供应商&#xff0c;能够提供多可用区部署、自动故障转移和备份恢复等功能&#xff0c;保障网站在各种故障情况下的…...

SI4463射频项目实战:我是如何用WDS3配置工具搞定868MHz双向通信的

SI4463射频项目实战&#xff1a;从WDS3配置到868MHz双向通信的完整实现 在物联网设备开发中&#xff0c;稳定可靠的无线通信是实现设备互联的关键。SI4463作为Silicon Labs推出的一款高性能Sub-GHz射频芯片&#xff0c;凭借其低功耗、高灵敏度和灵活的配置选项&#xff0c;成为…...

告别理论眩晕!用‘水波共振’和‘弹簧阻尼’比喻秒懂准PR控制传递函数

告别理论眩晕&#xff01;用‘水波共振’和‘弹簧阻尼’比喻秒懂准PR控制传递函数 想象一下&#xff0c;你正在湖边用不同频率的音叉轻触水面——只有当音叉频率与湖水固有频率完全匹配时&#xff0c;才会激起巨大的涟漪。这种"挑剔"的共振现象&#xff0c;正是理解准…...

智慧校园平台采购,如何平衡功能、价格与服务?

✅作者简介&#xff1a;合肥自友科技 &#x1f4cc;核心产品&#xff1a;智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…...

搞懂 Python 本地安装:`pip install .` 与 `pip install -e .` 的本质区别

在 Python 项目开发中&#xff0c;当你编写了一个自己的包&#xff08;包含 setup.py 或 pyproject.toml&#xff09;&#xff0c;并希望将其安装到当前的虚拟环境以便调用时&#xff0c;通常会在项目根目录执行安装命令。 最常见的两个命令是 pip install . 和 pip install -e…...

SEO 对于SaaS产品销售有什么影响

SEO对于SaaS产品销售的重要性 在当前的数字化经济时代&#xff0c;软件即服务&#xff08;SaaS&#xff09;产品正日益成为各行各业的首选工具。仅拥有优质的产品还远远不够&#xff0c;如何让潜在客户能够找到并选择你的产品至关重要。这时&#xff0c;搜索引擎优化&#xff…...

别再死记硬背了!用Wireshark抓包实战,5分钟搞懂TCP三次握手和HTTP请求全过程

用Wireshark抓包实战&#xff1a;5分钟可视化TCP三次握手与HTTP请求 刚接触计算机网络时&#xff0c;那些抽象的三次握手、滑动窗口、HTTP报文总让人头晕。直到我第一次用Wireshark看到真实的数据包在屏幕上跳动——原来教科书上的每个概念都能在抓包结果中找到对应的"证…...

跨境电商为什么必须布局 SEO?

在跨境电商领域&#xff0c;获取流量的方式通常包括&#xff1a; 广告投放平台流量社交媒体推广SEO 自然流量 其中&#xff0c;SEO 往往被很多卖家忽视&#xff0c;但实际上&#xff0c;它是跨境电商最稳定、最具长期价值的流量来源之一。 那么问题来了&#xff1a; 为什么…...

深入解析Kubernetes中的Custom Resource Definitions(CRD):构建云原生“自定义积木”的终极武器

摘要Custom Resource Definition&#xff08;CRD&#xff09;是Kubernetes扩展API的核心机制&#xff0c;它允许用户在不修改Kubernetes核心代码的情况下&#xff0c;向集群中注入自定义的资源类型。自Kubernetes 1.7引入以来&#xff0c;CRD已成为云原生生态系统的基石技术&am…...

某音抓包翻车实录:从Hook失败到稳定替换so的踩坑与修复指南

移动端安全测试进阶&#xff1a;Hook失效后的SO文件修改实战解析 当我们在移动端安全测试或逆向分析过程中遇到常规Hook方法失效时&#xff0c;往往需要深入底层寻找解决方案。本文将分享一个典型的案例&#xff1a;当Frida动态注入无法达到预期效果时&#xff0c;如何通过静态…...

KL46Z电容触摸驱动库:TSI传感器适配与抗干扰实践

1. TSI传感器驱动库技术解析与工程实践1.1 项目背景与定位TSI&#xff08;Touch Sensing Interface&#xff09;是NXP Kinetis系列MCU内置的电容式触摸感应外设模块&#xff0c;专为低功耗、高抗噪性的人机交互应用设计。tsi_sensor是一个轻量级、可移植的固件库&#xff0c;面…...