在 Gemini 的协助下转换 Oracle 代码和架构

Database Migration Service 将 Gemini for Google Cloud 集成到 转换工作区中,可帮助您在以下方面加快并改进转换流程:

  • 利用 Gemini 支持的自动转换增强确定性转换结果,借助 AI 的强大功能大幅减少 PostgreSQL 代码中需要进行的手动调整。

    此功能仅适用于升级后的转化工作区。 只有新创建的工作区可以升级。如需了解详情,请参阅 升级转化工作区

  • 通过 转化助理提供代码可解释性功能:一组专用提示,可帮助您更好地了解转化逻辑、针对转化问题提出修复建议,或优化转化后的代码。
  • 借助 Gemini 代码转换建议, 加快应用修复程序来解决转换问题:一种机制,让 Gemini 模型可以在您修复转换问题的同时进行学习,并建议对工作区中的其他错误对象进行更改。

    您还可以将此功能与代码可解释性功能相结合,获得完整的端到端 Gemini 支持的代码对象转换体验。 如需了解详情,请参阅 修复存在转化问题的代码对象的示例工作流程

您的 SQL 代码和架构存储在您创建转换工作区的区域中。如果您使用 Gemini 模型辅助进行代码和架构转换,您的代码和架构可能会在其他区域进行处理。

了解 Gemini for Google Cloud 如何以及何时使用您的数据

费用

如需在 Database Migration Service 转换工作区中使用 Gemini 辅助功能,您需要为 Google Cloud API 启用 Gemini。 需支付 Gemini 费用。如需了解详情,请参阅 Gemini for Google Cloud 价格

如需在 Database Migration Service 中使用 Gemini 赋能的功能,请执行以下操作:

  1. 在项目中启用 Gemini for Google Cloud 。

    启用该 API

  2. 为项目中的 Google Cloud 启用 Gemini 后,系统会自动为项目中的所有转化工作区启用 转化助理 模式匹配功能。 如需使用 自动转换,您需要按工作区启用该功能。

    启用或停用各项 Gemini 赋能的功能还取决于您是否使用 升级后的对话工作区。如需详细了解如何启用或停用各项功能,请参阅本页面的后续部分。

准备工作

如需在 Database Migration Service 中使用 Gemini 赋能的功能,请执行以下操作:

  1. 在项目中启用 Gemini for Google Cloud 。

    启用该 API

  2. 为项目中的 Google Cloud 启用 Gemini 后,系统会自动为项目中的所有转化工作区启用 转化助理 模式匹配功能。 如需使用 自动转换,您需要按工作区启用该功能。

    启用或停用各项 Gemini 赋能的功能还取决于您是否使用 升级后的对话工作区。如需详细了解如何启用或停用各项功能,请参阅本页面的后续部分。

所需的角色

如需获得使用 Gemini 增强型转换功能所需的权限,请让您的管理员为您授予项目的 Database Migration Admin (roles/datamigration.admin) 角色。

如需详细了解如何授予角色,请参阅 Identity and Access Management 文档中的 管理访问权限

此预定义角色包含使用 Gemini 增强型转化功能所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需使用 Database Migration Service 执行异构 SQL Server 迁移,您需要具有以下权限:

  • datamigration.*
  • cloudaicompanion.entitlements.get

使用 Gemini 自动转换

转换源架构时,Database Migration Service 会使用确定性转换规则来创建等效的 PostgreSQL 语法。自动转换功能在确定性结果的基础上集成了由 Gemini 提供支持的更正功能,可减少转换问题并提高转换质量。

如需使用自动转化,请执行以下操作:

  1. 创建新的转换工作区。请务必立即升级,以便使用最新的精简版体验。
  2. 前往转换工作区,然后选择您的工作区。

    前往转换工作区

  3. 为工作区 启用自动转换
  4. 转换源代码和架构。点击 转换来源

    Database Migration Service 会在转换过程中自动采用 Gemini 赋能的增强功能。您可以使用树状视图查看哪些对象已通过 Gemini 增强:

    包含 Gemini 赋能的增强型摘要的转化树状视图。
    图 1. 显示 Gemini 增强状态的源架构树状视图。(点击可放大)
    包含 Gemini 赋能的增强型摘要的转化树状视图。
  5. 在树状视图中,选择任意增强型对象即可查看自动转换功能提供的增强效果的详细信息。如果您不喜欢 Gemini 引入的更改,请点击改用确定性代码,将对象恢复为确定性转化结果。

    由 Gemini 提供支持的自动转换面板,其中包含有关对转换后的架构实施了哪些调整的详细信息。
    图 2. 由 Gemini 提供支持的自动转换面板,您可以在其中检查代码和架构增强功能的详细信息。 (点击可放大)
    由 Gemini 提供支持的自动转换面板,其中包含有关对转换后的架构实施了哪些调整的详细信息。

启用自动转换

如果您之前停用了自动转换功能,可以在 Gemini 面板中启用该功能:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini

    系统会打开 Gemini 侧边栏。

  3. 选中自动转换复选框,然后点击保存设置

    现在,当您转换架构时,转换工作区将自动转换。

  4. 可选:在使用 Gemini 转换源对象?对话框中,点击转换

    启用自动转换功能后,转换后的对象不会发生变化。 您可以稍后再次 转换架构

停用自动转换

如需停用自动转换,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini

    系统会打开 Gemini 侧边栏。

  3. 取消选中自动转换复选框,然后点击保存设置

    现在,当您转换架构时,转换工作区将使用确定性代码和架构转换。

  4. 可选:在要转换源对象吗?对话框中,点击转换

    停用自动转换功能后,已转换的对象不会发生变化。 如果您想将转换结果恢复为使用确定性转换规则,可以稍后再次转换架构。

使用 Gemini 转换助理

转化助理是一组专用提示,您可以使用这些提示更好地了解对象转换逻辑,询问有关如何优化代码和解决转换问题的建议,甚至可以向架构添加注释,以便自行记录数据库对象。

一张屏幕截图,显示了如何访问 Gemini 提示,以了解代码和架构转换的可解释性。
图 1. Gemini 转换助理提示。(点击可放大)
一张屏幕截图,显示了如何访问 Gemini 提示,以了解代码和架构转换的可解释性。

启用转化助理

在项目中启用 Gemini for Google Cloud 后,系统会默认启用转化助理。 如果您之前停用了转化助理,可以在工作区中重新启用它。启用转换助理的步骤因您是否使用升级后的转换工作区而异。

升级版工作区

如需在升级后的转化工作区中启用转化助理,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini

    系统会打开 Gemini 侧边栏。

  3. 选中转化辅助复选框,然后点击保存设置

未升级的工作区

对于未升级为使用 Gemini 自动转换功能的旧版工作区,在您 为项目启用 Gemini 后,系统会默认启用转换辅助功能。 您无需执行任何其他步骤。

停用转化助理

启用转化助理的步骤因您是否使用升级后的转化工作区而异。

升级版工作区

如需在升级后的转化工作区中启用转化助理,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini

    系统会打开 Gemini 侧边栏。

  3. 选中转化辅助复选框,然后点击保存设置

未升级的工作区

对于未升级为使用 Gemini 自动转换功能的旧版工作区,在您 为项目启用 Gemini 后,系统会默认启用转换辅助功能。

如果您在项目中停用 Gemini for Google Cloud ,则可以停用转换助理。

帮我解决对象转换问题

基于规则的代码和架构转换引擎在将对象从 Oracle 转换为 PostgreSQL 时,有时可能会遇到问题。例如,某些 Oracle 函数可能没有直接对应的 PostgreSQL 函数。您可以使用帮我解决对象转换问题提示,获取可解决转换问题的代码变更建议。

此提示仅适用于存在转换问题的 可修改代码对象。您无法在转化工作区中查看其他类型的对象的此提示。

如需使用此提示,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区

    前往转换工作区

  2. 从可用的转换工作区列表中,选择您要使用的转换工作区。

    系统随即会打开转换工作区编辑器。

  3. Oracle 面板中,选择一个 Oracle 对象。

  4. 在对象详情视图中,依次选择转换助理 > 帮我解决对象转换问题

    系统随即会打开一个包含提示结果的窗格。

  5. 验证显示建议改进的差异屏幕。如果您对结果满意,可以使用 Insert suggestion 按钮更新转换后的对象。

  6. 针对每个有问题的代码对象重复执行上述步骤。随着您应用代码建议, Gemini 模型会学习该模式,并提供有关如何将修复传播到工作区中所有错误对象的建议

说明此对象的转换逻辑

使用说明此对象的转换逻辑提示,您可以获得有关转换后代码功能的逐步说明,包括新代码中应用的最佳实践摘要。

如需请求说明对象转换逻辑,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区

    前往转换工作区

  2. 从可用的转换工作区列表中,选择您要使用的转换工作区。

    系统随即会打开转换工作区编辑器。

  3. Oracle 面板中,选择一个 Oracle 对象。

  4. 在对象详情视图中,依次选择转换助理 > 说明此对象的转换逻辑

    系统随即会打开一个包含提示结果的窗格。

帮我优化此代码

有时,基于规则的代码和架构转换的结果在技术上可能正确,但并未针对 PostgreSQL 环境进行全面优化。您可以使用帮我优化此代码提示,获取包含数据库对象代码优化的建议。

如需使用此提示,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区

    前往转换工作区

  2. 从可用的转换工作区列表中,选择您要使用的转换工作区。

    系统随即会打开转换工作区编辑器。

  3. Oracle 面板中,选择一个 Oracle 对象。

  4. 在对象详情视图中,依次选择转化助理 > 帮我优化此代码

    系统随即会打开一个包含提示结果的窗格。

  5. 在结果面板中,阅读说明、查看代码,并确保建议符合您的需求。如果您对结果感到满意,可以使用插入建议按钮更新转换后的对象。

添加注释,说明此对象的用途

添加注释,说明此对象的用途提示会生成代码注释建议,您可以将这些注释添加到数据库对象中,以实现架构的自我记录。

如需使用此提示,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区

    前往转换工作区

  2. 从可用的转换工作区列表中,选择您要使用的转换工作区。

    系统随即会打开转换工作区编辑器。

  3. Oracle 面板中,选择一个 Oracle 对象。

  4. 在对象详情视图中,依次选择转化助理 > 添加注释,说明此对象的用途

    系统随即会打开一个包含提示结果的窗格。

  5. 在结果面板中,阅读说明、查看代码,并确保建议符合您的需求。如果您对结果感到满意,可以使用插入建议按钮更新转换后的对象。

通过 Gemini 代码转换功能传播转换问题修复

当您在工作区中修正转换问题时,Gemini 模型可以从您的修正中学习,并建议对工作区中的其他错误对象进行更改。这样,您就可以将修复传播到多个对象,而无需手动进行所有修改。

启用 Gemini 转化建议

在项目中启用 Gemini for Google Cloud 后,系统会默认启用转化建议。 如果您之前停用了此功能,可以在工作区中重新启用它。启用转化建议的步骤因您是否使用升级后的转化工作区而异。

升级版工作区

如需在升级后的转化工作区中启用转化助理,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini

    系统会打开 Gemini 侧边栏。

  3. 选中模式匹配复选框,然后点击保存设置

未升级的工作区

对于未升级为使用 Gemini 自动转换功能的旧版工作区,在您 为项目启用 Gemini 后,系统会默认启用转换建议。 如果您之前停用了转化建议,请执行以下操作以重新启用它们:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 在任务栏中,点击 pen_spark Gemini,然后选择代码建议

    您已为此转换工作区启用 Gemini 代码转换建议。

停用 Gemini 转化建议

启用转化助理的步骤因您是否使用升级后的转化工作区而异。

升级版工作区

如需在升级后的转化工作区中启用转化建议,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini

    系统会打开 Gemini 侧边栏。

  3. 清除模式匹配复选框,然后点击保存设置

未升级的工作区

如需为未升级到使用 Gemini 自动转换的旧版工作区停用转换建议,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 在任务栏中,点击 pen_spark Gemini,然后选择代码建议

    此转换工作区现已停用 Gemini 代码转换建议。

在 Database Migration Service 中查看 Gemini 转换建议

当您通过修改 SQL 对象的代码或应用 帮我解决对象转换问题提示提出的代码来修复对象问题时,Gemini 模型会分析您的更改。在进行足够多的更改后,Gemini 集成会显示提示并建议进一步修改。

如需访问 Gemini 建议,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区

    前往转换工作区

  2. 从可用的转换工作区列表中,选择您要使用的转换工作区。

    系统随即会打开转换工作区编辑器。

  3. Oracle 面板中,选择要调整其生成的 SQL 的对象。

  4. 修复您在对象中遇到的转换问题,并保存代码更改。 您可以 手动修改代码,也可以使用 帮我解决对象转换问题提示。

    Gemini 模型会分析您最近的修复,直到可以针对存在转化问题的其他对象建议类似的更新为止。当 Gemini 模型分析了足够多的修复后,系统会显示查看 Gemini 提供的建议对话框。

    Gemini 建议修复问题对话框。
    图 2. Gemini 建议修复问题对话框。 (点击可放大)
    Gemini 建议修复问题对话框。
  5. 如需查看根据您所做更改生成的 AI 建议,请点击查看建议

查看 Gemini 转换建议

使用 Gemini 修复问题页面会显示 Gemini 模型根据您所做的代码更改生成的建议。这些建议包含类似更改,您可以将其应用于其他对象。 对于每条建议,您可以查看、更改、接受或忽略该建议。

使用 Gemini 修复问题页面会显示对象的源代码的三个变体,您可以在编辑视图菜单中选择这些变体:

  • 原始源代码(只读)
  • 草稿目标位置源代码(只读)
  • 在 Gemini 的协助下生成的目标源代码(可修改)

对象窗格包含存在问题的对象列表以及 Gemini 模型建议的修复方案。

如需查看 Gemini 建议,请按以下步骤操作:

  1. 点击某个对象即可显示相关的 AI 建议的修正。
  2. 查看并修改 Gemini 模型建议的代码。
  3. 执行下列其中一项操作:

    • 如需接受建议(包括您的修改),请点击接受代码。 这些更改会应用于转化工作区中的对象,并且对象列表中的对象状态会从 Pending 变为 Accepted

    • 如需保留建议(包括您的修改),但不应用更改,请切换到其他对象。对象会保持在待处理状态。您可以稍后修改代码,并接受或忽略建议。

    • 如需忽略待处理或已接受的建议(并还原您的修改),请点击忽略代码。对象列表中的对象状态从 Pending 变为 Ignored。您的更改已恢复。 您可以修改代码,稍后再应用。

如需关闭 Gemini 建议并舍弃所有未应用的更改,请按以下步骤操作:

  1. 使用 Gemini 解决问题页面上,点击返回箭头。
  2. 关闭 Gemini 对话框中,点击关闭

    当前 Gemini 会话已结束。如需返回建议页面,请再次 访问 Gemini 建议

后续步骤