你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本教程指导你将使用 Visual Studio PostgreSQL 扩展和 Azure OpenAI 将 Oracle 数据库架构转换为 Azure Database for PostgreSQL,以自动执行和验证架构转换
它涵盖如何连接到 Oracle 数据源和 Azure Database for PostgreSQL 目标、配置 Azure OpenAI、运行迁移向导以及审核生成的 PostgreSQL 工件。 在开始之前,请确保拥有用于服务器和 Azure OpenAI 部署的网络访问和凭据。
以下是转换期间可以期待的内容:
- 架构发现:该工具分析 Oracle 架构对象
- AI 处理:Azure OpenAI 处理并转换兼容的对象
- 验证:转换的对象在暂存数据库中进行验证
- 查看任务:标记需要手动注意的对象
- 输出生成:已成功转换的对象保存为 PostgreSQL 文件
先决条件
本部分介绍在开始转换之前在 Visual Studio Code 中使用 Oracle 到 Azure Database for PostgreSQL 架构转换功能的先决条件。
系统要求
| 类别 | 详细信息 |
|---|---|
| Visual Studio Code 版本 | 1.95.2 或更高版本 |
| GitHub Copilot 订阅 | Pro+、Business、Enterprise |
操作系统支持
| 操作系统 | 支持详细信息 |
|---|---|
| Windows操作系统 | 仅限 x64 体系结构 |
| Linux | x64 体系结构 |
| macOS | macOS 13+ |
PostgreSQL 版本支持
| 组件 | 版本要求 |
|---|---|
| Azure Database for PostgreSQL | PostgreSQL 版本 15 或更高版本 |
| 临时数据库 | Azure Database for PostgreSQL |
AI 模型要求
需要配置以下 AI 组件之一:
| AI 组件 | 模型版本 |
|---|---|
| Azure OpenAI | GPT-4.1 部署 |
Azure OpenAI 部署配置
必须使用模型名称 gpt-4.1 配置 Azure OpenAI 部署。
示例终结点格式:
https://{your-resource}.openai.azure.com/openai/deployments/gpt-4.1/chat/completions?api-version=2025-01-01-preview
所需的数据库特权
在运行架构转换之前,请确保你使用的帐户在源 Oracle 数据库和暂存 Azure Database for PostgreSQL 上都具有所需的最低权限。 Oracle 帐户需要对数据和字典视图的读取访问权限,以便该工具可以分析架构和代码。 PostgreSQL 暂存帐户必须能够创建架构、表和其他对象以进行验证。 尽可能使用专用服务帐户。 遵循最小特权原则。 与 DBA 协调,以授予任何临时提升的权限,并在开始转换之前验证连接和访问权限。
源 Oracle 特权
源 Oracle 数据库需要以下最低权限:
| 权限 | 目的 |
|---|---|
| CONNECT | 基本数据库连接 |
| SELECT_CATALOG_ROLE | 访问数据字典视图 |
| 选择任意字典 | 读取系统元数据和字典对象 |
选择 SYS.ARGUMENT$ |
访问过程和函数参数信息 |
暂存数据库特权
在 Azure Database for PostgreSQL 的灵活服务器(Scratch DB)上,需要以下权限:
| 权限 | 目的 |
|---|---|
| 创建架构 | 创建验证架构 |
| 在数据库上创建 | 创建数据库对象以进行验证 |
| GRANT CONNECT ON DATABASE | 验证过程的连接权限 |
网络要求
- 到 Azure OpenAI 终结点的出站连接
- 与 Oracle 源数据库和 PostgreSQL 目标数据库的数据库连接
- Visual Studio Code 扩展市场和 GitHub Copilot 服务的 HTTPS 访问
- 的 GitHub 存储库访问https://github.com/microsoft/pgsql-tools/
迁移过程
本部分逐步讲解完整的迁移工作流:安装 PostgreSQL 扩展、创建和测试与 Oracle 源和 Azure Database for PostgreSQL 目标的连接、打开和初始化迁移项目、配置 Azure OpenAI 以进行架构转换、运行迁移向导以发现和转换架构、验证暂存数据库中转换的对象,并在将生成的 PostgreSQL 项目应用到目标之前查看或修复任何已标记的项目。
步骤 1:安装 PostgreSQL Visual Studio Code 扩展
打开 Visual Studio。
转到 “扩展 ”视图(Ctrl+Shift+X)。
搜索 PostgreSQL 并安装 PostgreSQL 扩展。
步骤 2:创建 PostgreSQL 连接
在 PostgreSQL 扩展面板中,创建与 Azure Database for PostgreSQL 的连接。
输入所需的连接详细信息(主机、数据库、用户名、密码)。
测试并保存连接。
步骤 3:打开新工作区
在本地计算机上为迁移项目创建新文件夹。
在 Visual Studio Code 中打开 新工作区 。
步骤 4:初始化迁移项目
转到 PostgreSQL 扩展。
导航到 “迁移”(预览版) 面板。
选择“ 创建迁移项目”。
步骤 5:配置项目设置
在 迁移向导中,输入 项目名称。
选择 “下一步 ”以继续执行下一步。
步骤 6:配置 Oracle 连接
输入 Oracle 连接详细信息 ,包括:
- 主机或服务器名称
- 端口号
- 数据库或服务名称
- 用户名和密码
选择 加载架构。
系统 测试 Oracle 连接。
如果成功,它将列出 Oracle 中可用的 所有用户定义架构 。
选择要转换为 PostgreSQL 的一个或多个架构。
选择“下一步”继续操作。
步骤 7:配置 PostgreSQL 暂存数据库
选择在 PostgreSQL 扩展中定义的 Azure Database for PostgreSQL 连接
从下拉列表中选择目标数据库
选择 “下一步 ”继续
步骤 8:配置 Azure OpenAI 语言模型
输入 Azure OpenAI 详细信息 ,包括:
- 端点 URL
- API 密钥
- 部署名称(必须为 gpt-4.1)
选择 “测试连接 ”以验证配置
连接 成功后,选择“ 创建迁移项目”
步骤 9:执行架构转换
系统导航到 主迁移向导 处
选择 “迁移 ”以启动 架构转换 过程
在 Visual Studio 界面中监视转换进度
步骤 10:查看架构转换报告
- 架构转换完成后,将生成 架构转换报告 。
- 查看 已成功转换 或 跳过的对象。
- 报告显示转换 的成功百分比 。
步骤 11:查看和优化转换任务
- 架构转换完成后,将为需要注意的对象创建 评审任务 。
- 使用 GitHub Copilot 代理 或手动将架构转换为 PostgreSQL。
- 查看并比较 先前 和 新的 架构转换语句。
步骤 12:在部署之前验证转换的对象
- 独立验证非生产环境中所有转换的对象。
- 确认依赖项、约束和代表性工作负荷的行为与预期相同。
- 查看所有 审阅任务 的解决方案,并在更改后重新测试。
重要
客户验证责任:用于架构转换的相同 AI 引擎也有助于验证和审查。 AI 系统偶尔可以确认自己的错误。 若要防止数据丢失、功能回归或安全问题,请在部署到生产环境之前独立验证所有转换的对象和审阅任务解决方案。 作为控件的一部分,请考虑启用 Azure AI Foundry 内容筛选来帮助减少有害或不需要的输出。 有关指南,请参阅 Azure AI Foundry 中的内容筛选。
有关 Visual Studio Code 扩展的详细信息,请访问 适用于 Visual Studio Code 的 PostgreSQL 扩展。