你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 Visual Studio Code 的 PostgreSQL 扩展提供用于将 Oracle 数据库迁移到 PostgreSQL 的端到端工作流。 引导式向导将指导你连接到 Oracle 源、选择架构、配置用于 AI 辅助 DDL 转换的 Microsoft Foundry 模型,以及选择 PostgreSQL 暂存数据库进行验证。 创建项目后,仪表板将在单个视图中跟踪提取、转换、导出和审阅。
Important
Oracle 到 PostgreSQL 迁移工作流仅在Visual Studio Code可用。
先决条件
在开始之前,请确保具备:
- 已安装 Visual Studio Code。
- 已安装 PostgreSQL 扩展 。
- 访问具有架构提取读取权限的 Oracle 源数据库。
- 用作临时验证数据库的 PostgreSQL 实例(例如,Azure Database for PostgreSQL 灵活服务器)。
- 部署了
gpt-5.2模型的 Microsoft Foundry 资源。 需要终结点 URL 和 API 密钥或具有访问权限的Microsoft Entra ID帐户。
验证迁移功能是否已启用
该 pgsql.enableMigrations 设置控制 迁移(预览版) 视图和所有迁移命令。 默认情况下,此设置处于启用状态。
如果 迁移视图(预览版) 视图未显示在边栏中,请验证设置:
- 打开 VS Code 设置(在 Windows/Linux 上按 Ctrl+,,在 macOS 上按 Cmd+,)。
- 搜索
pgsql.enableMigrations。 - 确认值为
true.
创建迁移项目
迁移项目是一个四步向导,在创建项目工作区之前收集源、目标和 AI 配置。
步骤 1:项目设置
在边栏中打开 迁移(预览版) 视图。
选择视图工具栏中的 + 按钮,或在资源管理器中右键单击工作区文件夹,然后选择“创建迁移项目”。
“新建 Oracle 到 Azure Database for PostgreSQL 迁移项目”页面将会打开,其中列出了所需内容:
- 源数据库的连接详细信息
- 要转换的架构的名称
- Microsoft Foundry 资源的终结点 URL 和密钥
- 现有 PostgreSQL 实例的连接名称
在“Project名称”字段中输入名称。
选择 “下一步:Oracle 连接”。
步骤 2:连接到 Oracle
“ 连接到 Oracle ”页收集 Oracle 源数据库凭据,并允许加载架构。
填写 Oracle 连接字段:
领域 说明 Oracle 主机名 Oracle 数据库服务器的主机名或 IP 地址。 Oracle 端口 侦听器端口 (默认值: 1521) 。Oracle SID 或服务名称 数据库实例的 Oracle SID 或服务名称。 Oracle 用户名 具有对架构对象的读取访问权限的数据库用户。 Oracle 密码 Oracle 用户的密码。 选择 “加载架构 ”以连接并检索可用架构的列表。
在 “架构 ”下拉列表中,选择要迁移的一个或多个架构。
选择 “下一步:PostgreSQL 连接”。
步骤 3:选择Azure Database for PostgreSQL暂存数据库
“选择 Azure Database for PostgreSQL 暂存数据库”页面用于选择 AI 模型用来验证已转换 DDL 文件的 PostgreSQL 实例。
Note
使用专用的临时数据库进行验证。 在转换过程中,该扩展可能会对此数据库执行已转换的 DDL。
- 在 PostgreSQL 连接 下拉列表中,选择现有的连接配置文件。 如果未列出所需的连接,请选择 “刷新配置文件 ”以重新加载可用配置文件,或首先在 “连接”和“标识 ”视图中创建新连接。
- 在 PostgreSQL 数据库 下拉列表中,选择目标数据库。 如果列表为空,请选择“ 加载数据库 ”。
- 选择数据库后,该扩展会自动验证已安装建议的 PostgreSQL 扩展。 还可以选择“ 验证扩展 ”以手动运行检查。 如果缺少任何扩展,页面会列出这些扩展,并提供有关如何将其列入允许列表以及如何参考 Azure Database for PostgreSQL 灵活服务器文档进行安装的指导。
- 选择“下一步:Microsoft Foundry 模型配置”。
步骤 4:配置 Microsoft Foundry 模型
“选择Microsoft Foundry 模型”页配置支持架构和代码转换的 Microsoft Foundry 部署。
完成语言模型字段:
领域 说明 模型名称 gpt-5.2。Microsoft Foundry 终结点 Microsoft Foundry 资源终结点 URL(例如 https://<resource>.openai.azure.com/)。身份验证方法 选择 API 密钥或Microsoft Entra ID。 Microsoft Foundry API 密钥 Microsoft Foundry 资源的 API 密钥(在身份验证方法为 API 密钥时显示)。 Azure帐户 有权访问该资源的 Microsoft 帐户(当 身份验证方法 为 Microsoft Entra ID 时显示)。 租户 该帐户的 Azure AD 租户(当 身份验证方法 为 Microsoft Entra ID 时显示)。 部署名称 Microsoft Foundry 资源中已部署的模型的名称。 选择“测试Microsoft Foundry 连接”以验证连接。
选择 创建迁移项目。
Tip
Microsoft Foundry 建议使用 500,000 TPM(每分钟令牌),以获得最佳的迁移性能。
运行架构迁移
创建项目后, 将打开 Oracle 迁移 仪表板。 仪表板显示 架构迁移 和 架构评审 卡片,以及一个用于汇总项目配置的 设置 折叠面板。
提取并转换架构
架构迁移卡(步骤 1)以连续管道的形式运行提取、转换和导出。
在 “架构迁移 ”卡上,选择“ 迁移”。
按钮标签会随着流水线的推进而更新:
地位 按钮标签 正在提取 提取中… 提取完成,等待转换 恢复迁移 正在转换 正在转换... 所有阶段完成 迁移完成 在展开的卡片中查看进度:
- 提取 显示提取的对象计数(例如,“提取了 42 个对象中的 15 个”),以及正在处理的当前架构和对象。
- 转换 显示转换后的区块计数(例如,“已转换的 8 个区块中的 3 个”)和正在处理的当前区块。
导出完成后,选择“ 查看迁移报告 ”以打开生成的迁移报告。
查看迁移任务
架构评审卡(步骤 2)显示转换后需要手动注意的项目。 审阅区域顶部的“ / 分组任务”切换器允许你选择如何浏览列表。
分组视图
分组视图按类别将审阅任务组织到可折叠的手风琴式分组中。 如果要一起处理相关问题,请使用此视图。
在 “架构评审 ”卡上,选择“ 审阅 ”以展开审阅图面,然后选择“ 分组”。
使用 “待处理” 和 “已处理” 选项卡,在仍需关注的任务和您已批准的任务之间切换。
展开组以查看其元数据(架构、对象类型、重要性)以及其中的各个任务卡。
使用组级操作批量处理任务:
Action 说明 全部运行 在 Copilot 代理模式下打开组中的所有待处理任务,以进行 AI 辅助审查。 全部解决 将组中的所有任务标记为已解决。 确认对话框显示组名称和任务计数,然后再继续操作。 全部重置 将该组中所有已解决的任务恢复为待处理状态。 在 “已解决 ”选项卡上可用。 在“任务”中查看 切换到筛选到此组的平面 任务 视图。 若要处理组中的单个任务,请选择“运行任务”以在 Copilot代理模式下打开该任务,或选择“解析”将其标记为已完成。 在已解决的任务中选择重置,使其返回到待处理状态。
Note
当一个组包含 800 多个任务时,全部解决和 全部重置将被禁用。
任务视图
任务视图以平面表格形式显示所有审阅任务。 当您想要跨所有任务进行排序、筛选或搜索,而不受分组限制时,请使用此视图。
- 在切换器中选择 “任务 ”。
- 使用筛选器下拉列表(状态、 关键性、 对象类型、 架构)缩小任务列表的范围。
- 在待处理项上选择 运行任务,在 Copilot 代理模式中将其打开,以进行 AI 辅助审查和更正。
- 修复项目后,选择“ 解析 ”将其标记为已完成。
Tip
选择仪表板中的 “查看日志 ”,检查提取和转换日志文件进行故障排除。
迁移应用程序代码
架构迁移后,将 Oracle 特定的应用程序代码(SQL 脚本、存储过程、加载程序控制文件、shell 脚本或Java文件)转换为与 PostgreSQL 兼容的等效项。 应用程序迁移是一项预览功能。
选择迁移方法
该扩展提供两个用于应用程序代码迁移的路径:
- 全应用现代化 — 如果已安装 GitHub Copilot 应用现代化扩展,请选择 使用应用现代化进行迁移,结合架构转换中的编码说明继续迁移。 选择 “查看编码说明 ”以查看生成的指南,然后再继续操作。
- 仅数据库选项 - 若要在此扩展中仅转换与数据库相关的应用程序代码,请选择 “使用 PostgreSQL 扩展进行迁移”。
在扩展中转换应用程序代码
- 在 应用程序迁移 卡上,选择“ 迁移数据 ”(如果检测到应用现代化扩展, 请选择“选择方法 ”。
- 在“ 转换应用程序 ”页中, 选择“选择 Oracle 应用程序以转换 ”,然后选择包含 Oracle 应用程序代码的文件夹。
- 选择PostgreSQL 连接和PostgreSQL 数据库作为转换上下文。
- 如果数据库列表为空,请选择“ 加载数据库 ”。
- 选择 “转换应用程序 ”以启动转换。
使用Copilot工具进行应用程序迁移
该扩展注册两个用于迁移帮助的Copilot语言模型工具:
Oracle 客户端代码应用程序转换器 (
pgsql_migration_oracle_app) - 使用架构迁移分析中的提示模板和编码指南将 Oracle 客户端应用程序代码转换为 PostgreSQL 等效项。 接受以下参数:- 应用程序代码库文件夹 (必需) - 要转换的代码的位置。
- 编码说明路径(可选)— 架构迁移中的编码说明路径。
- Postgres DB 名称 (可选) - 用于转换上下文的 PostgreSQL 数据库的名称。
- Postgres DB 连接 (可选) - PostgreSQL 数据库的连接名称。
显示 Oracle 到 Postgres 迁移报告 (
pgsql_migration_show_report) - 显示架构转换生成的迁移报告。 需要 报表文件路径 参数。
有关使用Copilot工具的详细信息,请参阅Copilot集成。
比较已转换的文件
转换后,使用内置的 diff 命令并排查看更改。
- 在资源管理器中,右键单击迁移项目中位于
oracle或postgres文件夹下的已转换 SQL 文件,然后选择 比较 DDL 迁移文件对。 - 对于已转换的应用程序代码文件(
.sql、、.ctl.sh或.load.java),右键单击该文件并选择“比较应用程序迁移文件对”。
并排差异视图会并排显示原始 Oracle 源内容和转换后的 PostgreSQL 输出结果,以便您识别任何需要手动调整的遗留问题。
Note
DDL 文件必须遵循 compare 命令的结构 folder/oracle|postgres/SCHEMA_NAME/DDL-TYPE/filename.sql 才能找到匹配的文件对。
管理迁移项目
使用边栏中的 迁移(预览版) 视图来管理项目:
| Action | 说明 |
|---|---|
| 开放迁移项目 | 在仪表板中打开现有迁移项目。 |
| 在资源管理器中显示 | 在资源管理器视图中显示项目文件夹。 |
| Delete | 删除迁移项目。 系统会提示在删除之前进行确认。 |
| 刷新 | 重新加载当前工作区中的迁移项目列表。 |