将 Microsoft SQL Server 迁移到 Oracle Cloud

您可以使用 Oracle SQL Developer 版本 20.5 或更高版本,将 Microsoft SQL Server 数据库迁移到 Oracle Cloud Infrastructure 上的 Oracle Autonomous Database 19c。您可以使用 Oracle SQL Developer 执行和管理整个数据转换和脱机数据迁移。完成时间因源 SQL Server 数据库的大小和源与 Oracle Cloud Autonomous Database 之间的网络带宽而异。为了获得更好的传输体验,建议在内部部署与 Oracle Cloud 之间使用 Oracle Cloud Infrastructure FastConnect

这是针对 Microsoft SQL Server 2016 数据库进行测试的,但这些步骤是通用的,您应该能够将其适应更高版本的 Microsoft SQL Server。

体系结构

此体系结构使用 Oracle Cloud Infrastructure 文件存储将数据从内部部署 Microsoft SQL Server 部署迁移到 Oracle Autonomous Data Warehouse。从其他云服务提供商迁移到 Oracle Cloud 时,该体系结构类似。Oracle Cloud Infrastructure FastConnect 或 IPSec VPN 可以在内部部署数据中心或云服务提供商与 Oracle Cloud Infrastructure (OCI) 之间提供专用连接。

将数据迁移到 OCI 后,您可以使用内置的机器学习、分析和 AI 工具跨多种数据类型运行复杂查询,并构建复杂的分析模型。

  • 数据科学家可以使用 Oracle Cloud Infrastructure 数据目录来浏览、发现和分析数据。
  • 业务分析师可以访问和可视化信息。
  • 开发人员可以构建数据驱动的应用。

下图说明了此参考体系结构。

后面是 mssql-adb.png 的说明
插图 mssql-adb.png 的说明

此体系结构中显示的内部部署数据中心具有以下组件:

  • 客户终端设备 (CPE)

    CPE 是 VPN 连接的内部部署端点,或者 Oracle Cloud Infrastructure FastConnect 内部部署数据中心与 Oracle Cloud Infrastructure 中的虚拟云网络 (Virtual Cloud Network, VCN) 之间的互连。

  • Microsoft SQL Server

    Microsoft SQL Server 是用于构建大型数据仓库应用程序的第三方 RDBMS。

  • Oracle SQL Developer

    Oracle SQL Developer 是一个开发环境,可简化 Oracle Database 的开发和管理。它提供 PL/SQL 应用的完整端到端开发、用于运行查询和脚本的工作表、用于管理数据库的 DBA 控制台、报告接口、完整的数据建模解决方案、集成的 Oracle REST Data Services 以及用于将第三方数据库迁移到 Oracle 的迁移平台,例如 MS SQL Server 到 Oracle。

    Oracle SQL Developer 经过认证可在所有受支持的 Oracle 数据库上运行。

  • SQL 加载器

    SQL*Loader 将数据加载到 Oracle Database 的表中。SQL*Loader 使用控制文件中的字段规范解释数据文件格式、对输入数据进行语法分析以及使用该数据填充与 SQL INSERT 语句对应的绑定数组。Oracle Database 接受数据并执行 INSERT 语句,将数据存储在数据库中。

  • 成批复制程序 (bcp)

    批量复制程序实用程序 (bcp) 在 Microsoft SQL Server 的实例和用户指定的格式的数据文件之间成批复制数据。bcp 实用程序可用于将大量新行导入 SQL Server 表,或将数据从表导出到数据文件。

体系结构的 Oracle Cloud Infrastructure 端包含以下组件:

  • 区域

    Oracle Cloud Infrastructure 区域是一个本地化地理区域,包含一个或多个称为可用性域的数据中心。区域独立于其他区域,大片距离可以分开(跨国家甚至大陆)。

  • 区间

    区间是 Oracle Cloud Infrastructure 租户中的跨区域逻辑分区。使用区间在 Oracle Cloud 中组织资源,控制对资源的访问并设置使用限额。要控制对给定区间中资源的访问,可以定义策略来指定谁可以访问资源以及可以访问哪些操作。

  • Cloud Guard

    您可以使用 Oracle Cloud Guard 在 Oracle Cloud Infrastructure 中监视和维护资源的安全性。Cloud Guard 使用检测器配方,您可以定义它来检查资源是否存在安全缺陷,并监视操作员和用户是否有风险活动。检测到任何错误配置或不安全活动时,Cloud Guard 会根据可定义的响应方配方建议采取纠正措施并帮助采取这些操作。

  • 可用性域

    可用性域是区域内的独立数据中心。每个可用性域中的物理资源都与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共用电源或冷却设备等基础设施,也不共享内部可用性域网络。因此,一个可用性域出现故障不太可能影响区域中的其他可用性域。

  • 虚拟云网络 (VCN) 和子网

    VCN 是在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义的网络。与传统的数据中心网络类似,VCN 允许您完全控制您的网络环境。VCN 可以有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定于某个区域或可用性域。每个子网都包含与 VCN 中的其他子网不重叠的连续地址范围。您可以在创建子网后更改其大小。子网可以是公共的,也可以是专用的。

    每个计算实例都部署在可以细分到子网中的 VCN 中。

  • FastConnect

    Oracle Cloud Infrastructure FastConnect 提供了一种在数据中心与 Oracle Cloud Infrastructure 之间创建专用专用专用连接的方式。与基于 Internet 的连接相比,FastConnect 提供更高带宽选项和更可靠的网络体验。

  • Oracle Cloud Infrastructure 文件存储服务提供了持久、可伸缩、安全的企业级网络文件系统。您可以从 VCN 中的任何裸金属、虚拟机或容器实例连接到文件存储服务文件系统。您还可以使用 Oracle Cloud Infrastructure FastConnect 和 IPSec VPN 从 VCN 外部访问文件系统。

  • 动态路由网关 (DRG)

    DRG 是虚拟路由器,用于为 VCN 与区域外网络之间的专用网络通信提供路径,例如另一个 Oracle Cloud Infrastructure 区域中的 VCN、内部部署网络或其他云提供商中的网络。

  • 服务网关

    通过服务网关,可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage。从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传播,从不穿过互联网。

  • 路由表

    虚拟路由表包含用于将流量从子网路由到 VCN 之外的目标(通常通过网关)的规则。

  • 安全列表

    对于每个子网,您可以创建安全规则来指定必须允许进出子网的源、目标和流量类型。

  • 堡垒主机

    堡垒主机是一个计算实例,它从云外部用作拓扑的安全、受控的入口点。通常在非军事区 (DMZ) 中预配堡垒主机。通过它,您可以将敏感资源放在无法直接从云外部访问的专用网络中,从而保护敏感资源。拓扑具有单个已知的入口点,您可以定期监视和审计。因此,您可以避免在未影响对拓扑的访问的情况下公开更敏感的组件。

  • 自治数据库

    Oracle Cloud Infrastructure 自治数据库是完全托管的预配置数据库环境,可用于事务处理和数据仓储负载。您不需要配置或管理任何硬件,也不需要安装任何软件。Oracle Cloud Infrastructure 处理数据库创建以及备份、修补、升级和优化数据库。

  • 文件存储

    Oracle Cloud Infrastructure 文件存储服务提供了持久、可伸缩、安全的企业级网络文件系统。您可以从 VCN 中的任何裸金属、虚拟机或容器实例连接到文件存储服务文件系统。您还可以使用 Oracle Cloud Infrastructure FastConnect 和 IPSec VPN 从 VCN 外部访问文件系统。

关于 Oracle Cloud Infrastructure 文件存储服务

如果您要在 Oracle Cloud Infrastructure 中为服务查找共享存储,请考虑使用 Oracle Cloud Infrastructure File Storage 服务。Oracle Cloud Infrastructure 文件存储服务是托管文件存储服务,可以同时由数千个计算实例访问。

使用 Oracle Cloud Infrastructure 文件存储服务

该服务是 Oracle Cloud 中的持久共享文件系统。它提供了一个持久、可伸缩的分布式企业级网络文件系统,支持网络文件系统版本 3.0 (Network File System Version 3.0, NFSv3) 和网络锁定管理器 (Network Lock Manager, NLM) 进行文件锁定功能。

数以千计的大型计算集群可以使用 Oracle Cloud Infrastructure 文件存储服务实现高性能共享存储。完全托管和自动执行存储预配。无需事先预配,存储可从几千字节无缝扩展到数 EB。您具有冗余存储,可实现弹性数据保护。

默认情况下,Oracle Cloud Infrastructure File Storage 服务使用 AES-256 加密来加密所有文件系统。加密发生在文件级。数据和元数据以静态方式加密,而不是在传输中加密。无法关闭加密。

Oracle Cloud Infrastructure 文件存储服务完全托管,并在每个 Oracle Cloud Infrastructure 区域中的所有可用性域之间提供。您可以从虚拟云网络 (VCN) 中的任何裸金属实例、虚拟机实例或容器实例连接到 Oracle Cloud Infrastructure File Storage 服务文件系统。还可以使用 Oracle Cloud Infrastructure FastConnect 和 Internet 协议安全性 (Internet Protocol security, IPSec) 虚拟专用网络 (virtual private network, VPN) 从 VCN 外部访问文件系统。

Oracle Cloud Infrastructure 文件存储服务的用例

该服务旨在满足各种用例中的企业文件系统需要应用和用户的需求。如果您的应用或负载包括大数据和分析、介质处理或内容管理,并且您需要符合 Portable Operating System Interface (POSIX) 标准的文件系统访问语义和并发可访问的存储,则可以使用它。例如,您可以在以下任何用例中使用文件存储服务:

  • 需要共享文件的企业应用程序,例如 Oracle E-Business Suite

  • 需要共享文件存储的 Oracle 应用可优化容量消耗并简化部署

  • 使用资料档案库存储分析源数据和增值数据的分析应用程序和 Apache Hadoop 环境

  • 基于微服务的架构,您需要为容器环境提供持久性存储

  • 事务处理文件负载、数据库、横向扩展文件负载和高性能计算 (HPC)(例如,需要访问文件数据并且需要能够在多个实例中扩展访问的 Web 应用服务器)

  • 图形,其中处理视频数据并使用文件系统存储已编码数据或流数据

  • 通用文件系统,用于存储非结构化和结构化数据

  • 基于容器的应用,可为 Docker 环境和 Kubernetes 环境的每个容器存储持久性应用状态

关于必需服务和角色

此解决方案需要以下服务和角色:

  • Oracle Cloud Infrastructure
  • Oracle SQL Developer
  • Microsoft SQL Server 管理员
  • JDBC Java 数据库驱动程序
  • (可选)Oracle Cloud Infrastructure 文件存储

这些是每个服务所需的角色。

服务名:角色 必需。。。
Oracle Cloud Infrastructure:Admin 设置和设置资源。
Oracle SQL Developer:源 Microsoft SQL Server 数据库系统上的 db_datareader 用户,目标 Oracle Database 系统上的 mwrep 用户 从 Microsoft SQL Server 导出数据并将其保存到 Oracle Cloud Infrastructure 文件存储,将对象和数据加载并迁移到 Oracle 自治数据库。
Microsoft SQL Server:db_owner 用户 将 SQL Server 数据库切换到 ReadOnly 模式。
Oracle Cloud Infrastructure 文件存储Admin 创建文件系统并存储从 Microsoft SQL Server 数据库导出的数据。

See Learn how to get Oracle Cloud services for Oracle Solutions to get the cloud services you need.