将 Oracle 迁移到 Azure Database for PostgreSQLMigrate Oracle to Azure Database for PostgreSQL

本指南介绍如何将 Oracle 架构迁移到 Azure Database for PostgreSQL。This guide teaches you to migrate your Oracle schema to Azure Database for PostgreSQL.

如需详细而全面的迁移指南,请参阅迁移指南资源For detailed and comprehensive migration guidance, see the Migration guide resources.

先决条件Prerequisites

若要将 Oracle 架构迁移到 Azure Database for PostgreSQL,需要:To migrate your Oracle schema to Azure Database for PostgreSQL, you need to:

  • 验证你的源环境是否受支持。Verify your source environment is supported.
  • 下载最新版本的 ora2pgDownload the latest version of ora2pg.
  • 具有最新版本的 DBD 模块Have the latest version of the DBD module.

概述Overview

PostgreSQL 是全球最先进的开源数据库之一。PostgreSQL is one of world's most advanced open-source databases. 本文介绍如何使用免费的 ora2pg 工具将 Oracle 数据库迁移到 PostgreSQL。This article describes how to use the free ora2pg tool to migrate an Oracle database to PostgreSQL. 可以使用 ora2pg 将 Oracle 数据库或 MySQL 数据库迁移到 PostgreSQL 兼容的架构。You can use ora2pg to migrate an Oracle database or MySQL database to a PostgreSQL-compatible schema.

ora2pg 工具将连接 Oracle 数据库,自动对其进行扫描,并提取其结构或数据。The ora2pg tool connects your Oracle database, scans it automatically, and extracts its structure or data. 然后,ora2pg 将生成可加载到 PostgreSQL 数据库的 SQL 脚本。Then ora2pg generates SQL scripts that you can load into your PostgreSQL database. 可使用 ora2pg 完成如下所述的任务:对 Oracle 数据库进行反向工程、迁移大型企业数据库,或者只是将某些 Oracle 数据复制到 PostgreSQL 数据库中。You can use ora2pg for tasks such as reverse-engineering an Oracle database, migrating a huge enterprise database, or simply replicating some Oracle data into a PostgreSQL database. 此工具简单易用,它不要求用户具备 Oracle 数据库方面的知识,只需能够提供用于连接到 Oracle 数据库的参数即可。The tool is easy to use and requires no Oracle database knowledge besides the ability to provide the parameters needed to connect to the Oracle database.

备注

有关使用最新版 ora2pg 的详细信息,请参阅 ora2pg 文档For more information about using the latest version of ora2pg, see the ora2pg documentation.

典型的 ora2pg 迁移体系结构Typical ora2pg migration architecture

ora2pg 迁移体系结构的屏幕截图。

在预配 VM 和 Azure Database for PostgreSQL 之后,需要进行两项配置以启用它们之间的连接:允许访问 Azure 服务和强制实施 SSL 连接 :After you provision the VM and Azure Database for PostgreSQL, you need two configurations to enable connectivity between them: Allow access to Azure services and Enforce SSL Connection:

  • “连接安全性”边栏选项卡 ->“允许访问 Azure 服务” > “打开” Connection Security blade > Allow access to Azure services > ON

  • “连接安全性”边栏选项卡 ->“SSL 设置” > “强制实施 SSL 连接” > “已禁用” Connection Security blade > SSL Settings > Enforce SSL Connection > DISABLED

建议Recommendations

  • 若要提高 Oracle 服务器中的评估或导出操作的性能,请收集统计信息:To improve the performance of the assessment or export operations in the Oracle server, collect statistics:

    BEGIN
    
       DBMS_STATS.GATHER_SCHEMA_STATS
       DBMS_STATS.GATHER_DATABASE_STATS
       DBMS_STATS.GATHER_DICTIONARY_STATS
       END;
    
  • 使用 COPY 命令而不是 INSERT 导出数据。Export data by using the COPY command instead of INSERT.

  • 避免将表连同其外键 (FK)、约束和索引一同导出。Avoid exporting tables with their foreign keys (FKs), constraints, and indexes. 这些元素会减缓将数据导入到 PostgreSQL 的过程。These elements slow down the process of importing data into PostgreSQL.

  • 使用 no data 子句创建具体化视图。Create materialized views by using the no data clause. 稍后刷新视图。Then refresh the views later.

  • 如果可能,请在具体化视图中使用唯一索引。If possible, use unique indexes in materialized views. 使用 REFRESH MATERIALIZED VIEW CONCURRENTLY 语法时,这些索引可以加快刷新速度。These indexes can speed up the refresh when you use the syntax REFRESH MATERIALIZED VIEW CONCURRENTLY.

预迁移Premigration

在确认你的源环境受支持并且你满足了所有先决条件之后,即准备就绪,可开始预迁移阶段。After you verify that your source environment is supported and that you've addressed any prerequisites, you're ready to start the premigration stage. 开始时,请执行以下操作:To begin:

  1. 清点需要迁移的数据库。Inventory the databases that you need to migrate.
  2. 评估这些数据库是否存在潜在的迁移问题或障碍。Assess those databases for potential migration issues or blockers.
  3. 解决所发现的任何问题或障碍。Resolve any items you uncovered.

对于异构迁移(例如,从 Oracle 迁移到 Azure Database for PostgreSQL),此阶段还涉及到使源数据库架构与目标环境兼容。For heterogenous migrations such as Oracle to Azure Database for PostgreSQL, this stage also involves making the source database schemas compatible with the target environment.

发现Discover

发现阶段的目标是识别现有数据源以及有关所用功能的详细信息。The goal of the discovery phase is to identify existing data sources and details about the features that are being used. 此阶段有助于更好地了解和规划迁移。This phase helps you better understand and plan for the migration. 此过程涉及到扫描网络,以确定组织的所有 Oracle 实例以及正在使用的版本和功能。The process involves scanning the network to identify all your organization's Oracle instances together with the version and features in use.

适用于 Oracle 的 Microsoft 预评估脚本针对 Oracle 数据库运行。Microsoft preassessment scripts for Oracle run against the Oracle database. 预评估脚本查询 Oracle 元数据。The preassessment scripts query the Oracle metadata. 脚本提供:The scripts provide:

  • 数据库盘存,包括按架构、类型和状态列出的对象计数。A database inventory, including counts of objects by schema, type, and status.
  • 对每个架构中原始数据的粗略估算(根据统计信息给出)。A rough estimate of the raw data in each schema, based on statistics.
  • 每个架构中表的大小。The size of tables in each schema.
  • 每个包、函数、过程等的代码行数。The number of code lines per package, function, procedure, and so on.

ora2pg 网站下载相关脚本。Download the related scripts from the ora2pg website.

评估Assess

清点 Oracle 数据库后,你将了解数据库大小以及可能的挑战。After you inventory the Oracle databases, you'll have an idea of the database size and potential challenges. 下一步是运行评估。The next step is to run the assessment.

估算从 Oracle 到 PostgreSQL 的迁移成本并不容易。Estimating the cost of a migration from Oracle to PostgreSQL isn't easy. 为了评估迁移成本,ora2pg 会检查所有数据库对象、函数和对象的存储过程,以及它不能自动转换的 PL/SQL 代码。To assess the migration cost, ora2pg checks all database objects, functions, and stored procedures for objects and PL/SQL code that it can't automatically convert.

ora2pg 工具具有一种内容分析模式,该模式可检查 Oracle 数据库,以生成文本报表。The ora2pg tool has a content analysis mode that inspects the Oracle database to generate a text report. 该报表会显示 Oracle 数据库包含的内容和无法导出的内容。The report describes what the Oracle database contains and what can't be exported.

若要激活 分析和报告 模式,请按以下命令中所示使用导出的类型 SHOW_REPORTTo activate the analysis and report mode, use the exported type SHOW_REPORT as shown in the following command:

ora2pg -t SHOW_REPORT

ora2pg 工具可将 SQL 和 PL/SQL 代码从 Oracle 语法转换为 PostgreSQL。The ora2pg tool can convert SQL and PL/SQL code from Oracle syntax to PostgreSQL. 因此,在对数据库进行分析后,ora2pg 可以估算代码难度和迁移完整数据库所需的时间。So after the database is analyzed, ora2pg can estimate the code difficulties and the time necessary to migrate a full database.

为了估算迁移成本(以人工日表示),ora2pg 允许使用名为 ESTIMATE_COST 的配置指令。To estimate the migration cost in human-days, ora2pg allows you to use a configuration directive called ESTIMATE_COST. 还可以通过命令提示符启用此指令:You can also enable this directive at a command prompt:

ora2pg -t SHOW_REPORT --estimate_cost

默认迁移单位表示大约 5 分钟(对于一名 PostgreSQL 专家所需花费的时间而言)。The default migration unit represents around five minutes for a PostgreSQL expert. 如果这是你首次进行迁移,可以使用配置指令 COST_UNIT_VALUE--cost_unit_value 命令行选项增大默认迁移单位。If this migration is your first, you can increase the default migration unit by using the configuration directive COST_UNIT_VALUE or the --cost_unit_value command-line option.

报表的最后一行显示迁移代码估算总量(人工日)。The last line of the report shows the total estimated migration code in human-days. 该估算值跟在为各对象估算的迁移单位数之后。The estimate follows the number of migration units estimated for each object.

此迁移单位表示大约 5 分钟(对于一名 PostgreSQL 专家所需花费的时间而言)。This migration unit represents about five minutes for a PostgreSQL expert. 如果这是你首次进行迁移,可以使用配置指令 COST_UNIT_VALUE--cost_unit_value 命令行选项增大默认值。If this migration is your first, you can increase the default by using the configuration directive COST_UNIT_VALUE or the command-line option --cost_unit_value.

在下面的代码示例中,可以看到一些评估变体:In the following code example, you see some assessment variations:

  • 表评估Tables assessment
  • 列评估Columns assessment
  • 使用 5 分钟默认成本单位的架构评估Schema assessment that uses a default cost unit of 5 minutes
  • 使用 10 分钟默认成本单位的架构评估Schema assessment that uses a cost unit of 10 minutes
ora2pg -t SHOW_TABLE -c c:\ora2pg\ora2pg_hr.conf > c:\ts303\hr_migration\reports\tables.txt ora2pg -t SHOW_COLUMN -c c:\ora2pg\ora2pg_hr.conf > c:\ts303\hr_migration\reports\columns.txt
ora2pg -t SHOW_REPORT -c c:\ora2pg\ora2pg_hr.conf --dump_as_html --estimate_cost > c:\ts303\hr
_migration\reports\report.html
ora2pg -t SHOW_REPORT -c c:\ora2pg\ora2pg_hr.conf –-cost_unit_value 10 --dump_as_html --estimate_cost > c:\ts303\hr_migration\reports\report2.html

下面是架构评估迁移级别 B-5 的输出:Here's the output of the schema assessment migration level B-5:

  • 迁移级别:Migration levels:

    • A - 可自动运行的迁移A - Migration that can be run automatically

    • B - 使用代码重写和最长 5 天的人工日成本进行的迁移B - Migration with code rewrite and a human-days cost up to 5 days

    • C - 使用代码重写和 5 天以上的人工日成本进行的迁移C - Migration with code rewrite and a human-days cost over 5 days

  • 技术级别:Technical levels:

    • 1 = 极简:无存储函数和触发器1 = Trivial: No stored functions and no triggers

    • 2 = 轻松:无存储函数但有触发器;无手动重写2 = Easy: No stored functions, but triggers; no manual rewriting

    • 3 = 简单:有存储函数和/或触发器;无手动重写3 = Simple: Stored functions and/or triggers; no manual rewriting

    • 4 = 手动:无存储函数,但有触发器或视图以及代码重写4 = Manual: No stored functions, but triggers or views with code rewriting

    • 5 = 困难:有存储函数和/或触发器以及代码重写5 = Difficult: Stored functions and/or triggers with code rewriting

评估由以下部分构成:The assessment consists of:

  • 字母(A 或 B)指定迁移是否需要手动重写。A letter (A or B) to specify whether the migration needs manual rewriting.

  • 一个介于 1 和 5 之间的数字,指示技术难度。A number from 1 to 5 to indicate the technical difficulty.

另一个选项 -human_days_limit 指定人工日的限制。Another option, -human_days_limit, specifies the limit of human-days. 此处,将迁移级别设置为 C,以指示迁移需要大量的工作、完整的项目管理和迁移支持。Here, set the migration level to C to indicate that the migration needs a large amount of work, full project management, and migration support. 默认值为 10 个人工日。The default is 10 human-days. 可以使用配置指令 HUMAN_DAYS_LIMIT 永久更改此默认值。You can use the configuration directive HUMAN_DAYS_LIMIT to change this default value permanently.

此架构评估旨在帮助用户确定要首先迁移的数据库以及需动员的团队。This schema assessment was developed to help users decide which database to migrate first and which teams to mobilize.

转换Convert

在最短停机时间的迁移中,迁移源会发生更改。In minimal-downtime migrations, your migration source changes. 在一次性迁移后,它就数据和架构而言会偏离目标。It drifts from the target in terms of data and schema after the one-time migration. 在数据同步阶段,确保捕获源中的所有更改,并准实时地将其应用到目标。During the Data sync phase, ensure that all changes in the source are captured and applied to the target in near real time. 在确认所有更改都已应用到目标后,可从源环境切换到目标环境。After you verify that all changes are applied to the target, you can cut over from the source to the target environment.

在迁移的此步骤中,Oracle 代码和 DDL 脚本会转换或转译为 PostgreSQL。In this step of the migration, the Oracle code and DDL scripts are converted or translated to PostgreSQL. ora2pg 工具会自动以 PostgreSQL 格式导出 Oracle 对象。The ora2pg tool exports the Oracle objects in a PostgreSQL format automatically. 如果不进行手动更改,某些生成的对象无法在 PostgreSQL 数据库中进行编译。Some of the generated objects can't be compiled in the PostgreSQL database without manual changes.

若要了解哪些元素需要手动干预,请先编译 ora2pg 针对 PostgreSQL 数据库生成的文件。To understand which elements need manual intervention, first compile the files generated by ora2pg against the PostgreSQL database. 检查日志,并进行任何必要的更改,直到架构结构与 PostgreSQL 语法兼容。Check the log, and then make any necessary changes until the schema structure is compatible with PostgreSQL syntax.

创建迁移模板Create a migration template

建议使用 ora2pg 提供的迁移模板。We recommend using the migration template that ora2pg provides. 使用 --project_base--init_project 选项时,ora2pg 会创建包含一个工作树、一个配置文件以及一个用于从 Oracle 数据库导出所有对象的脚本的项目模板。When you use the options --project_base and --init_project, ora2pg creates a project template with a work tree, a configuration file, and a script to export all objects from the Oracle database. 有关详细信息,请参阅 ora2pg 文档For more information, see the ora2pg documentation.

请使用以下命令:Use the following command:

ora2pg --project_base /app/migration/ --init_project test_project

ora2pg --project_base /app/migration/ --init_project test_project

示例输出如下所示:Here's the example output:

Creating project test_project. /app/migration/test_project/ schema/ dblinks/ directories/ functions/ grants/ mviews/ packages/ partitions/ procedures/ sequences/ synonyms/    tables/ tablespaces/ triggers/ types/ views/ sources/ functions/ mviews/ packages/ partitions/ procedures/ triggers/ types/ views/ data/ config/ reports/

Generating generic configuration file

Creating script export_schema.sh to automate all exports.

Creating script import_all.sh to automate all imports.

sources/ 目录包含 Oracle 代码。The sources/ directory contains the Oracle code. schema/ 目录包含移植到 PostgreSQL 的代码。The schema/ directory contains the code ported to PostgreSQL. reports/ 目录包含 HTML 报表和迁移成本评估。And the reports/ directory contains the HTML reports and the migration cost assessment.

创建项目结构后,将创建一个通用配置文件。After the project structure is created, a generic config file is created. 在配置文件中定义 Oracle 数据库连接和相关的配置参数。Define the Oracle database connection and the relevant config parameters in the config file. 有关配置文件的详细信息,请参阅 ora2pg 文档For more information about the config file, see the ora2pg documentation.

导出 Oracle 对象Export Oracle objects

接下来,运行 export_schema.sh 文件将 Oracle 对象作为 PostgreSQL 对象导出。Next, export the Oracle objects as PostgreSQL objects by running the file export_schema.sh.

cd /app/migration/mig_project
./export_schema.sh

手动运行以下命令。Run the following command manually.

SET namespace="/app/migration/mig_project"

ora2pg -t DBLINK -p -o dblink.sql -b %namespace%/schema/dblinks -c
%namespace%/config/ora2pg.conf
ora2pg -t DIRECTORY -p -o directory.sql -b %namespace%/schema/directories -c
%namespace%/config/ora2pg.conf
ora2pg -p -t FUNCTION -o functions2.sql -b %namespace%/schema/functions -c
%namespace%/config/ora2pg.conf ora2pg -t GRANT -o grants.sql -b %namespace%/schema/grants -c %namespace%/config/ora2pg.conf ora2pg -t MVIEW -o mview.sql -b %namespace%/schema/   mviews -c %namespace%/config/ora2pg.conf
ora2pg -p -t PACKAGE -o packages.sql
%namespace%/config/ora2pg.conf -b %namespace%/schema/packages -c
ora2pg -p -t PARTITION -o partitions.sql %namespace%/config/ora2pg.conf -b %namespace%/schema/partitions -c
ora2pg -p -t PROCEDURE -o procs.sql
%namespace%/config/ora2pg.conf -b %namespace%/schema/procedures -c
ora2pg -t SEQUENCE -o sequences.sql
%namespace%/config/ora2pg.conf -b %namespace%/schema/sequences -c
ora2pg -p -t SYNONYM -o synonym.sql -b %namespace%/schema/synonyms -c
%namespace%/config/ora2pg.conf
ora2pg -t TABLE -o table.sql -b %namespace%/schema/tables -c %namespace%/config/ora2pg.conf ora2pg -t TABLESPACE -o tablespaces.sql -b %namespace%/schema/tablespaces -c
%namespace%/config/ora2pg.conf
ora2pg -p -t TRIGGER -o triggers.sql -b %namespace%/schema/triggers -c
%namespace%/config/ora2pg.conf ora2pg -p -t TYPE -o types.sql -b %namespace%/schema/types -c %namespace%/config/ora2pg.conf ora2pg -p -t VIEW -o views.sql -b %namespace%/   schema/views -c %namespace%/config/ora2pg.conf

若要提取数据,请使用以下命令。To extract the data, use the following command.

ora2pg -t COPY -o data.sql -b %namespace/data -c %namespace/config/ora2pg.conf

编译文件Compile files

最后,针对 Azure Database for PostgreSQL 服务器编译所有文件。Finally, compile all files against the Azure Database for PostgreSQL server. 可以选择加载手动生成的 DDL 文件,或使用第二个脚本 import_all.sh 以交互方式导入这些文件。You can choose to load the manually generated DDL files or use the second script import_all.sh to import those files interactively.

psql -f %namespace%\schema\sequences\sequence.sql -h server1-

server.postgres.database.chinacloudapi.cn -p 5432 -U username@server1-server -d database -l

%namespace%\ schema\sequences\create_sequences.log

psql -f %namespace%\schema\tables\table.sql -h server1-server.postgres.database.chinacloudapi.cn p 5432 -U username@server1-server -d database -l    %namespace%\schema\tables\create_table.log

数据导入命令如下所示:Here's the data import command:

psql -f %namespace%\data\table1.sql -h server1-server.postgres.database.chinacloudapi.cn -p 5432 -U username@server1-server -d database -l %namespace%\data\table1.log

psql -f %namespace%\data\table2.sql -h server1-server.postgres.database.chinacloudapi.cn -p 5432 -U username@server1-server -d database -l %namespace%\data\table2.log

在编译文件时,请检查日志并更正 ora2pg 无法自行转换的任何语法。While the files are being compiled, check the logs and correct any syntax that ora2pg couldn't convert on its own.

有关详细信息,请参阅Oracle 到 Azure Database for PostgreSQL 迁移问题的解决方法For more information, see Oracle to Azure Database for PostgreSQL migration workarounds.

MigrateMigrate

满足必要的先决条件并完成预迁移步骤后,便可开始架构和数据迁移。After you have the necessary prerequisites and you've completed the premigration steps, you can start the schema and data migration.

迁移架构和数据Migrate schema and data

进行必要的修复后,即可部署数据库的稳定版本。When you've made the necessary fixes, a stable build of the database is ready to deploy. 运行 psql 导入命令,指向包含修改后的代码的文件。Run the psql import commands, pointing to the files that contain the modified code. 此任务针对 PostgreSQL 数据库编译数据库对象,并导入数据。This task compiles the database objects against the PostgreSQL database and imports the data.

在此步骤中,对于导入数据,可以实施某种程度的并行导入。In this step, you can implement a level of parallelism on importing the data.

同步数据和切换Sync data and cut over

在联机(最短停机时间)迁移中,迁移源将继续更改。In online (minimal-downtime) migrations, the migration source continues to change. 在一次性迁移后,它就数据和架构而言会偏离目标。It drifts from the target in terms of data and schema after the one-time migration.

在数据同步阶段,确保捕获源中的所有更改,并准实时地将其应用到目标。During the Data sync phase, ensure that all changes in the source are captured and applied to the target in near real time. 在确认所有更改都已应用后,可从源环境切换到目标环境。After you verify that all changes are applied, you can cut over from the source to the target environment.

若要进行联机迁移,可联系 AskAzureDBforPostgreSQL@service.microsoft.com 寻求支持。To do an online migration, contact AskAzureDBforPostgreSQL@service.microsoft.com for support.

在使用 ora2pg 的差异/增量迁移中,对于每个表,请使用按日期、时间或其他参数筛选(切入)的查询 。In a delta/incremental migration that uses ora2pg, for each table, use a query that filters (cuts) by date, time, or another parameter. 然后使用第二个查询迁移剩余数据,以完成迁移。Then finish the migration by using a second query that migrates the remaining data.

在源数据表中,先迁移所有历史数据。In the source data table, migrate all the historical data first. 下面是一个示例:Here's an example:

select * from table1 where filter_data < 01/01/2019

可以运行如下命令查询自初始迁移以来的更改:You can query the changes since the initial migration by running a command like this one:

select * from table1 where filter_data >= 01/01/2019

在这种情况下,建议检查两端(源和目标)的数据奇偶性来增强验证。In this case, we recommended that you enhance validation by checking data parity on both sides, the source and the target.

迁移后Postmigration

在迁移阶段之后,完成迁移后的任务,确保所有操作尽可能顺利高效地运作。After the Migration stage, complete the postmigration tasks to ensure that everything is functioning as smoothly and efficiently as possible.

修正应用程序Remediate applications

将数据迁移到目标环境后,以前使用源的所有应用程序都需要开始使用目标。After the data is migrated to the target environment, all the applications that formerly consumed the source need to start consuming the target. 此设置有时需要对应用程序进行更改。The setup sometimes requires changes to the applications.

测试Test

将数据迁移到目标后,针对数据库运行测试,验证应用程序是否可很好地与目标配合运作。After the data is migrated to the target, run tests against the databases to verify that the applications work well with the target. 对 Oracle 源和 PostgreSQL 目标数据库运行手动数据验证脚本,确保源和目标正确迁移。Make sure the source and target are properly migrated by running the manual data validation scripts against the Oracle source and PostgreSQL target databases.

理想情况下,如果源和目标数据库采用网络路径,则应使用 ora2pg 进行数据验证。Ideally, if the source and target databases have a networking path, ora2pg should be used for data validation. 可以使用 TEST 操作确保已在 PostgreSQL 中创建 Oracle 数据库中的所有对象。You can use the TEST action to ensure that all objects from the Oracle database have been created in PostgreSQL.

运行以下命令:Run this command:

ora2pg -t TEST -c config/ora2pg.conf > migration_diff.txt

优化Optimize

迁移后阶段对于协调任何数据准确性问题和验证完整性至关重要。The postmigration phase is crucial for reconciling any data accuracy issues and verifying completeness. 在此阶段中,你还需解决工作负载的性能问题。In this phase, you also address performance issues with the workload.

迁移资产Migration assets

有关此迁移场景的详细信息,请参阅以下资源。For more information about this migration scenario, see the following resources. 它们支持实际的迁移项目参与。They support real-world migration project engagement.

资源Resource 说明Description
Oracle 到 Azure PostgreSQL 迁移指南Oracle to Azure PostgreSQL migration cookbook 此文档可帮助架构师、咨询人员、数据库管理员及相关角色使用 ora2pg 快速将工作负载从 Oracle 迁移到 Azure Database for PostgreSQL。This document helps architects, consultants, database administrators, and related roles quickly migrate workloads from Oracle to Azure Database for PostgreSQL by using ora2pg.
Oracle 到 Azure PostgreSQL 迁移问题的解决方法Oracle to Azure PostgreSQL migration workarounds 此文档可帮助架构师、咨询人员、数据库管理员及相关角色在将工作负载从 Oracle 迁移到 Azure Database for PostgreSQL 时快速修复和解决问题。This document helps architects, consultants, database administrators, and related roles quickly fix or work around issues while migrating workloads from Oracle to Azure Database for PostgreSQL.
在 Windows 或 Linux 上安装 ora2pg 的步骤Steps to install ora2pg on Windows or Linux 本文档提供有关在 Windows 或 Linux 上使用 ora2pg 将架构和数据从 Oracle 迁移到 Azure Database for PostgreSQL 的快速安装指南。This document provides a quick installation guide for migrating schema and data from Oracle to Azure Database for PostgreSQL by using ora2pg on Windows or Linux. 有关详细信息,请参阅 ora2pg 文档For more information, see the ora2pg documentation.

数据 SQL 工程团队开发了这些资源。The Data SQL Engineering team developed these resources. 此团队的核心章程是解锁和加速到 Azure 数据平台的数据平台迁移项目的复杂现代化进程。This team's core charter is to unblock and accelerate complex modernization for data platform migration projects to the Azure data platform.

更多支持More support

有关 ora2pg 工具范畴之外的迁移帮助,可联系 @Ask Azure DB for PostgreSQLFor migration help beyond the scope of ora2pg tooling, contact @Ask Azure DB for PostgreSQL.

后续步骤Next steps

如需一整套用于数据库和数据迁移以及用于特殊任务的服务和工具,请参阅数据迁移服务和工具For a matrix of services and tools for database and data migration and for specialty tasks, see Services and tools for data migration.

文档:Documentation: