使用迁移助手 (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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/683122.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python写脚本的时候获取设备,没有端口(COM3)

首先python 可以用一下代码 测试端口是不是存在 import serial.tools.list_portsports list(serial.tools.list_ports.comports()) if not ports:print("没有检测到可用的串口设备。") else:for port in ports:print(f"可用串口: {port.device}")如果提示…

C语言 | Leetcode C语言题解之第133题克隆图

题目: 题解: struct Node** visited; int* state; //数组存放结点状态 0:结点未创建 1:仅创建结点 2:结点已创建并已填入所有内容void bfs(struct Node* s) {if (visited[s->val] && state[s->val] 2…

【亚马逊云科技 CSDN 联合巨献】 「对话AI 构建者:从基础到应用的 LLM 全景培训」 限时免费!

🚀🌟【亚马逊云科技 & CSDN 联合巨献】 📚「对话AI 构建者:从基础到应用的 LLM 全景培训」🔥 限时免费! 📆 抓紧时间!6月7日前注册,原价 399,现在仅需 0…

【DevOps】网站安全案例分析:真实事件中的经验与教训

目录 一、常见的网站安全事故案例 1. Equifax 数据泄露事件(2017年) 2. WannaCry 勒索软件攻击事件(2017年) 3. GitHub DDoS 攻击事件(2018年) 二、网站安全事件的一般分析方法 1、事件背景调查 2、…

[WWW2024]轻量数据依赖的异常检测重训练方法LARA

开篇 近日,由阿里云计算平台大数据基础工程技术团队主导,与浙江大学合作的论文《LARA: ALight and Anti-overfitting Retraining Approach for Unsupervised Time Series Anomaly Detection 》被WWW2024收录,该方法解决了云服务正常模式随时…

“网络战时代的国家安全:策略、技术和国际合作“

网络战时代,国家安全面临着前所未有的挑战,这要求国家在策略、技术和国际合作方面采取更为综合和先进的应对措施。以下几点概述了这一领域的关键要素: 策略层面: 1. 建立全面的网络战战略:国家需要一个清晰、前瞻性…

C# 判断字符串不等于空的示例

在C#中,要判断一个字符串是否不等于空(即它既不是null也不是空字符串""),方法有如下几种,如下。 方法1 使用逻辑运算符和string.IsNullOrEmpty方法 string myString "123"; // 假设要检查的字…

WPF Treeview控件开虚拟化后定位节点

不开虚拟化&#xff0c;可以用下面的方法直接定位 <Window x:Class"WpfApplication2.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"Title"Main…

电脑在线怎么改图片格式?3步改图片格式的操作步骤

在日常生活和工作中经常会因为不同的用途&#xff0c;需要使用不同格式的图片&#xff0c;那么如果遇到图片格式问题时&#xff0c;有什么方法能够快速在线转图片格式呢&#xff1f; 想要快速将图片格式转换成自己需要使用的格式&#xff0c;比较简单的一种方法可以使用网上的…

使用 Django 和 MQTT 构建实时数据传输应用

文章目录 什么是 MQTT&#xff1f;Django 中的 MQTT结论 在现代的 Web 应用程序开发中&#xff0c;实时数据传输变得越来越重要。MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的发布/订阅消息传输协议&#xff0c;而 Django 是一个流行的 Pyt…

66、API攻防——接口安全阿里云KEYPostmanDVWS

文章目录 一、工具使用——Postman自动化测试二、安全问题——Dvws泄露&鉴权&XXE三、安全问题——阿里KEY信息泄露利用 dvws-node 一、工具使用——Postman自动化测试 二、安全问题——Dvws泄露&鉴权&XXE 路径中出现/api/&#xff0c;一般都是接口。 请求包是…

Jail管理器AppJail的使用@FreeBSD

Jail的简介 Jail是FreeBSD操作系统中一个功能强大的安全机制&#xff0c;自FreeBSD 4.X版本起便投入使用&#xff0c;并且随着系统的发展&#xff0c;其功能、效率、稳定性和安全性得到了持续的强化。 Jail基于chroot的概念&#xff0c;通过更改一系列程序的根目录&#xff0…

【面试题】创建两个线程交替打印100以内数字(一个打印偶数一个打印奇数)

阅读导航 一、问题概述二、解决思路三、代码实现四、代码优化 一、问题概述 面试官&#xff1a;C多线程了解吗&#xff1f;你给我写一下&#xff0c;起两个线程交替打印0~100的奇偶数。就是有两个线程&#xff0c;一个线程打印奇数另一个打印偶数&#xff0c;它们交替输出&…

rust学习(字节数组转string)

最新在写数据传输相关的操作&#xff0c;发现string一个有趣的现象&#xff0c;代码如下&#xff1a; fn main() {let mut data:[u8;32] [0;32];data[0] a as u8;let my_str1 String::from_utf8_lossy(&data);let my_str my_str1.trim();println!("my_str len is…

用框架思维学Java:集合概览

集合这个词&#xff0c;耳熟能详&#xff0c;从小学一年级开始&#xff0c;每天早上做操时都会听到这两个字&#xff1a; 高中数学又学习到了新的集合&#xff1a; 那么Java中的集合是什么呢&#xff1f; 一&#xff0c;前言 1&#xff0c;什么是Java集合 数学集合是Java集…

模式识别涉及的常用算法

一、线性回归 1.算法执行流程&#xff1a; 算法的执行流程可以简述如下&#xff1a; 导入必要的库&#xff1a; 导入NumPy库&#xff0c;用于数值计算。导入Matplotlib库&#xff0c;用于数据可视化。导入Pandas库&#xff0c;用于数据处理&#xff08;尽管在这个例子中&#…

【Git】Git 的初识和安装

一、提出问题 不知道你工作或学习时&#xff0c;有没有遇到这样的情况&#xff1a;在编写各种文档时&#xff0c;为了防止文档丢失&#xff0c;更改失误&#xff0c;失误后能恢复到原来的版本&#xff0c;不得不复制出⼀个副本&#xff0c;比如&#xff1a; 设计文档v1设计文…

Python字符串操作详解(超详细)

Python字符串操作详解 目录 Python字符串操作详解一. 字符串创建二. 字符串拼接1. 使用 运算符2. 使用 .join() 方法 三. 字符串索引和切片1. 字符串索引2. 字符串切片3. 字符串长度和负索引4. 字符串不可变性 四. 字符串长度五. 字符串转换六. 查找子字符串七. 字符串替换八.…

xml创建模型组合体

XML创建模型组合体 创建步骤模型准备模型处理模型文件XML编写 效果 创建步骤 模型准备 CAD 提供的原始模型如下&#xff1a; 该模型存在的问题&#xff1a; 单位问题&#xff1a;CAD出图的是 mm 为单位&#xff0c;但是 mujoco 建模这边用的是以 m 为单位的&#xff1b;原点…

二刷算法训练营Day22 | 二叉树(8/9)

目录 详细布置&#xff1a; 1. 235. 二叉搜索树的最近公共祖先 2. 701. 二叉搜索树中的插入操作 3. 450. 删除二叉搜索树中的节点 详细布置&#xff1a; 1. 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共…