当前位置: 首页 > 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;保障网站在各种故障情况下的…...

winscp无法上传,删除,修改文件并提示权限不够的分析

使用winscp删除文件,报了个错如下 根据这个错就去百度,网上大部分都是通过下面这种方法解决: 在winscp端进行设置 输入主机名(即IP地址)、用户名和密码,然后点击高级 在箭头所指位置输入sudo + sftp应用程序的路径 先查询 sudo find / -name sftp-server -print点击Sh…...

Hadoop3:MapReduce之InputFormat数据输入过程整体概览(0)

一、MapReduce中数据流向 二、MapTask并行度 1、原理概览 数据块&#xff1a;Block是HDFS物理上把数据分成一块一块。数据块是HDFS存储数据单位。 数据切片&#xff1a;数据切片只是在逻辑上对输入进行分片&#xff0c;并不会在磁盘上将其切分成片进行存储。数据切片是MapRed…...

【Leetcode Python】70.爬楼梯

麻烦大家要自己去leetcode看题目 第一个思路 用递归会超时 return self.climbStairs(n - 1) self.climbStairs(n - 2)第二个思路 滚动数组思想 class Solution(object):def climbStairs(self, n):""":type n: int:rtype: int"""if(n<2)…...

深度学习 - 张量的广播机制和复杂运算

张量的广播机制&#xff08;Broadcasting&#xff09;是一种处理不同形状张量进行数学运算的方式。通过广播机制&#xff0c;PyTorch可以自动扩展较小的张量&#xff0c;使其与较大的张量形状兼容&#xff0c;从而进行元素级的运算。广播机制遵循以下规则&#xff1a; 如果张量…...

【CSS】will-change 属性详解

目录 基本语法属性值常见用途will-change 如何用于优化动画效果示例&#xff1a; will-change 是一个 CSS 属性&#xff0c;用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化渲染性能&#xff0c;提前做一些准备工作&#xff0c;从而提高性能。 基本语法…...

linux安装mysql后,配置mysql,并连接navicat软件

Xshell连接登陆服务器 输入全局命令 mysql -u root -p 回车后&#xff0c;输入密码&#xff0c;不显示输入的密码 注意mysql服务状态&#xff0c;是否运行等 修改配置文件my.cnf&#xff0c;这里没找到就找my.ini&#xff0c;指定有一个是对的 find / -name my.cnf 接下…...

【学习笔记】Axios、Promise

TypeScript 1、Axios 1.1、概述 1.2、axios 的基本使用 1.3、axios 的请求方式及对应的 API 1.4、axios 请求的响应结果结构 1.5、axios 常用配置选项 1.6、axios.create() 1.7、拦截器 1.8、取消请求2、Promise 2.1、封装 fs 读…...

自然资源-关于加强规划实施监督管理的指导意见(浙江省自然资源厅学习借鉴)

自然资源-关于加强规划实施监督管理的指导意见&#xff08;浙江省自然资源厅&#xff08;征求意见稿&#xff09;学习借鉴 以下为征求意见稿的内容&#xff0c;很多干活&#xff1a; 各市、县&#xff08;市、区&#xff09;自然资源主管部门&#xff1a; 为加强国土空间规划…...

408链表的创建和初始化

首先第一个头文件&#xff0c;定义结构体类型 typedef struct LNode {int data;struct LNode* next; }LNode,*LinkList; //可能作为第一次写c语言的小伙伴看不懂这一段typedef是如何定义的 //基本的解释如下所示 //typedef struct LNode LNode; //typedef struct LNode* LinkL…...

Python数据框/列表生成一列多个同样的值

例1&#xff1a;Python生成100个数字2 方法一&#xff1a; import numpy as np a np.random.randint(2,3,100) 方法二&#xff1a; a [2] list a * 100 #100个数字2的列表 例2&#xff1a;生成100个字符串棒 b 棒 list_b b * 100...

南京网站建设推广/上海seo网站优化

Diagrams 是一个基于Python绘制云系统架构的模块&#xff0c;它能够通过非常简单的描述就能可视化架构&#xff0c;并支持以下6个云产品的图标&#xff1a;AWS、Azure、GCP、K8s、阿里云 和 Oracle 云基于Diagrams提供的节点&#xff0c;你只需要指定一个云产品(实际上选哪个都…...

运城 网站建设/域名注册网站系统

项目中遇到这么一个问题&#xff0c;在easyui的datagrid中&#xff0c;删除一条记录成功&#xff0c;重新加载datagrid后&#xff0c;删除其他的不行了&#xff0c;点击删除返回的是删除那一行的id&#xff0c;要解决这个问题&#xff0c;应该在删除数据重新加载datagrid后再清…...

做网站什么最赚钱吗/湖南企业竞价优化

在早期的浏览器中&#xff0c;没有创建和销毁中间字符串&#xff0c;在大量字符串连接情况下&#xff0c;数组push技术已被证明远快于使用加法方式。 如今浏览器对字符串的优化已经改变了字符串相连的局面。Safari、Opera、Chrome、Firefox和IE8都在使用加法运算 符上表现出了更…...

建设网站元素搜索引擎/网站优化方案设计

c语言 函数的参数传递示例C语言中的rename()函数 (rename() function in C) The rename() function is defined in the <stdio.h> header file. 在<stdio.h>头文件中定义了rename()函数 。 Prototype: 原型&#xff1a; int rename(const char* old-filename, co…...

网站 做购物车/口碑营销的成功案例

在arcgis做SOE的时候,由于ArcGIS的问题,计算机名称不能是带有 "-" 的,所以在更改了计算机名后,arcGIS Server就会失效. 即打开http://localhost:8399/arcgis/rest/services 总显示404,其SOM SoCMonitor SMS(Server Manager Service) 三个服务都是打开状态的.其打开顺…...

网站开发专业就业前系军/南京seo域名

处理JavaScript函数上下文时可能遇到一些问题。在回调函数中&#xff08;例如事件处理器&#xff09;&#xff0c;函数上下文与预期不符&#xff0c;但可以使用call或apply方法绕过。在本节中&#xff0c;我们看看另外两个选择&#xff1a;箭头函数和bind方法&#xff0c;在一些…...