Gemini アシスタンスを使用して Oracle のコードとスキーマを変換する

Database Migration Service は、Gemini for Google Cloud を コンバージョン ワークスペース に統合し、次の領域で変換プロセスを迅速化して改善します。

SQL コードとスキーマは、コンバージョン ワークスペースを作成するリージョンに保存されます。Gemini モデルでアシスト付きのコードとスキーマの変換を使用する場合、コードとスキーマは他のリージョンで処理される可能性があります。

Gemini for がデータを使用する方法とタイミングに関する説明をご覧ください。 Google Cloud

費用

Database Migration Service コンバージョン ワークスペースで Gemini アシスタンスを使用するには、Gemini for Google Cloud API を有効にする必要があります。 Gemini の料金が適用されます。詳細については、 Gemini for Google Cloud の料金をご覧ください

始める前に

Database Migration Service で Gemini を活用した機能を使用するには、 プロジェクトで Gemini for Google Cloud を有効にします。

API を有効にする

プロジェクトで Gemini for Google Cloud を有効にすると、 ワークスペース内の Gemini を活用したすべての変換機能を使用できます。

必要なロール

Gemini で強化された 変換機能を使用するために必要な権限を取得するには、プロジェクトに対する Database Migration 管理者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. ソースコードとスキーマを変換します。[ [Convert source]] をクリックします。

    Database Migration Service は、変換で Gemini を活用した 拡張機能を自動的に使用します。ツリービューを使用して、Gemini で拡張されたオブジェクトを確認できます。

    Gemini を活用した拡張の概要を含むコンバージョン ツリービュー。
    図 1.Gemini 拡張ステータスを含むソーススキーマのツリービュー。(クリックして拡大)
    Gemini を活用した拡張の概要を含むコンバージョン ツリービュー。
  5. ツリービューで、拡張されたオブジェクトを選択して、 拡張機能の詳細を自動変換によって表示します。Gemini によって導入された変更が気に入らない場合は、[代わりに決定論的コードを使用] をクリックして、オブジェクトを決定論的変換の結果に戻します。

    変換されたスキーマに実装された調整の詳細を示す Gemini を活用した自動変換パネル。
    図 2.コードとスキーマの拡張機能の詳細を確認できる Gemini を活用した自動変換パネル。(クリックして拡大)
    変換されたスキーマに実装された調整の詳細を示す Gemini を活用した自動変換パネル。

自動変換を有効にする

自動変換を無効にした場合は、Gemini パネルで有効にできます。

  1. コンソールで [Conversion workspaces] に移動し、ワークスペースを選択します。 Google Cloud

    コンバージョン ワークスペースに移動

  2. [pen_spark] [Gemini] をクリックします。

    Gemini サイドパネルが開きます。

  3. [自動変換] チェックボックスをオンにして、[設定を保存] をクリックします。

    スキーマを変換すると、コンバージョン ワークスペースで自動変換が行われるようになります。

  4. 省略可: [Gemini でソース オブジェクトを変換しますか?] ダイアログで [変換] をクリックします。

    自動変換を有効にしても、変換されたオブジェクトは変更されません。 スキーマは後で再度変換できます。

自動変換を無効にする

自動変換を無効にするには、次の操作を行います。

  1. コンソールで [Conversion workspaces] に移動し、ワークスペースを選択します。 Google Cloud

    コンバージョン ワークスペースに移動

  2. [pen_spark] [Gemini] をクリックします。

    Gemini サイドパネルが開きます。

  3. [自動変換] チェックボックスをオフにして、[設定を保存] をクリックします。

    スキーマを変換すると、コンバージョン ワークスペースで決定論的コードとスキーマ 変換が使用されるようになります。

  4. 省略可: [ソース オブジェクトを変換しますか?] ダイアログで [変換] をクリックします。

    自動変換を無効にしても、変換されたオブジェクトは変更されません。 変換結果を元に戻して決定論的変換ルールを使用する場合は、後でスキーマを再度変換できます。

Gemini 変換アシスタントを使用する

変換アシスタントは、オブジェクト変換ロジックをより深く理解し、コードを最適化して変換の問題を解決する方法についてアイデアを求めたり、スキーマにコメントを追加してデータベース オブジェクトを自己文書化したりするために使用できる専用のプロンプトのセットです。

コードとスキーマの変換の説明可能性に関する Gemini プロンプトにアクセスする方法を示すスクリーンショット。
図 1.Gemini 変換アシスタントのプロンプト。(クリックして拡大)
コードとスキーマの変換の説明可能性に関する Gemini プロンプトにアクセスする方法を示すスクリーンショット。

変換アシスタントを有効にする

プロジェクトで Gemini for Google Cloud を有効にすると、変換アシスタントがデフォルトで有効になります。 変換アシスタントを無効にした場合は、ワークスペースで再度有効にできます。変換アシスタントを有効にするには、次の操作を行います。

  1. コンソールで [Conversion workspaces] に移動し、ワークスペースを選択します。 Google Cloud

    コンバージョン ワークスペースに移動

  2. [pen_spark] [Gemini] をクリックします。

    Gemini サイドパネルが開きます。

  3. [**変換アシスタント**] チェックボックスをオンにして、 [**設定を保存**] をクリックします。

変換アシスタントを無効にする

変換アシスタントを無効にするには、次の操作を行います。

  1. コンソールで [Conversion workspaces] に移動し、ワークスペースを選択します。 Google Cloud

    コンバージョン ワークスペースに移動

  2. [pen_spark] [Gemini] をクリックします。

    Gemini サイドパネルが開きます。

  3. [**変換アシスタント**] チェックボックスをオンにして、 [**設定を保存**] をクリックします。

オブジェクト変換問題の修正方法を表示

ルールベースのコードとスキーマの変換エンジンでは、Oracle から PostgreSQL へのオブジェクトの変換時に問題が発生することがあります。たとえば、PostgreSQL に直接相当するものがない Oracle 関数があります。 「オブジェクト変換問題の修正方法を表示」プロンプトを使用すると、変換の問題を修正できるコード変更の提案を取得できます。

このプロンプトは、変換の問題がある 編集可能なコード オブジェクト でのみ使用できます。コンバージョン ワークスペース内の他のタイプのオブジェクトでは、このプロンプトを表示できません。

このプロンプトを使用するには、次の操作を行います。

  1. コンソールで [**コンバージョン ワークスペース**] に移動します。 Google Cloud

    コンバージョン ワークスペースに移動

  2. 使用可能なコンバージョン ワークスペースのリストから、使用するコンバージョン ワークスペースを選択します。

    コンバージョン ワークスペース エディタが開きます。

  3. [Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。

  4. オブジェクトの詳細ビューで、 Gemini 変換アシスタントのアイコン。 [アシスト] > [オブジェクト変換問題の修正方法を表示]を選択します。

    プロンプトの結果を含むパネルが開きます。

  5. 提案された改善点を示す差分画面を確認します。結果が気に入ったら、[候補を挿入] ボタンを使用して、変換されたオブジェクトを更新できます。

  6. 欠陥のあるコード オブジェクトごとにこの手順を繰り返します。コードの 提案を適用すると、 Gemini モデルがパターンを学習し、 ワークスペース内のすべての欠陥のあるオブジェクトに修正を伝播する方法を提案できます。

このオブジェクトの変換ロジックを表示

「このオブジェクトの変換ロジックを表示」プロンプトを使用すると、変換されたコードの動作をステップごとに説明できます。これには、新しいコードに適用されたベスト プラクティスの概要も含まれます。

オブジェクト変換ロジックの説明をリクエストするには、次の操作を行います。

  1. コンソールで [**コンバージョン ワークスペース**] に移動します。 Google Cloud

    コンバージョン ワークスペースに移動

  2. 使用可能なコンバージョン ワークスペースのリストから、使用するコンバージョン ワークスペースを選択します。

    コンバージョン ワークスペース エディタが開きます。

  3. [Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。

  4. オブジェクトの詳細ビューで、 Gemini 変換アシスタントのアイコン。 [アシスト] > [このオブジェクトの変換ロジックを表示] を選択します。

    プロンプトの結果を含むパネルが開きます。

このコードの最適化方法を表示

ルールベースのコードとスキーマの変換の結果は、技術的には正しい場合がありますが、PostgreSQL 環境向けに完全に最適化されていない可能性があります。「このコードの最適化方法を表示」プロンプトを使用すると、データベース オブジェクトのコード最適化の提案を取得できます。

このプロンプトを使用するには、次の操作を行います。

  1. コンソールで [**コンバージョン ワークスペース**] に移動します。 Google Cloud

    コンバージョン ワークスペースに移動

  2. 使用可能なコンバージョン ワークスペースのリストから、使用するコンバージョン ワークスペースを選択します。

    コンバージョン ワークスペース エディタが開きます。

  3. [Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。

  4. オブジェクトの詳細ビューで、 Gemini 変換アシスタントのアイコン。 [Assist] > [Help me optimize this code] を選択します。

    プロンプトの結果を含むパネルが開きます。

  5. 結果パネルで、説明を読み、コードを確認して、提案がニーズに沿っていることを確認します。結果が気に入ったら、[候補を挿入] ボタンを使用して、変換されたオブジェクトを更新できます。

このオブジェクトの目的を記述するコメントを追加

このオブジェクトの目的を説明するコメントを追加プロンプトは、スキーマを自己文書化するためにデータベースオブジェクトに追加できるコードコメントの提案を生成します。

このプロンプトを使用するには、次の操作を行います。

  1. コンソールで [**コンバージョン ワークスペース**] に移動します。 Google Cloud

    コンバージョン ワークスペースに移動

  2. 使用可能なコンバージョン ワークスペースのリストから、使用するコンバージョン ワークスペースを選択します。

    コンバージョン ワークスペース エディタが開きます。

  3. [Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。

  4. オブジェクトの詳細ビューで、 Gemini 変換アシスタントのアイコン。 [Assist] > [このオブジェクトの目的を記述するコメントを追加] を選択します。

    プロンプトの結果を含むパネルが開きます。

  5. 結果パネルで、説明を読み、コードを確認して、提案がニーズに沿っていることを確認します。結果が気に入ったら、[候補を挿入] ボタンを使用して、変換されたオブジェクトを更新できます。

Gemini コード変換で変換の問題の修正を伝播する

ワークスペースで変換の問題を修正すると、Gemini モデルが修正から学習し、ワークスペース内の他の欠陥のあるオブジェクトへの変更を提案できます。これにより、すべての編集を手動で行うことなく、複数のオブジェクトに修正を伝播できます。

Gemini 変換候補を有効にする

プロジェクトで Gemini for Google Cloud を有効にすると、変換候補がデフォルトで有効になります。 この機能を無効にした場合は、ワークスペースで再度有効にできます。変換アシスタントを有効にするには、次の操作を行います。

  1. コンソールで [Conversion workspaces] に移動し、ワークスペースを選択します。 Google Cloud

    コンバージョン ワークスペースに移動

  2. [pen_spark] [Gemini] をクリックします。

    Gemini サイドパネルが開きます。

  3. [**パターン マッチング**] チェックボックスをオンにして、 [**設定を保存**] をクリックします。

Gemini 変換候補を無効にする

変換候補を無効にするには、次の操作を行います。

  1. コンソールで [Conversion workspaces] に移動し、ワークスペースを選択します。 Google Cloud

    コンバージョン ワークスペースに移動

  2. [pen_spark] [Gemini] をクリックします。

    Gemini サイドパネルが開きます。

  3. [パターン マッチング] チェックボックスをオフにして、 [設定を保存] をクリックします。

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 で問題を修正] ページには、オブジェクトのソースコードの 3 つのバリアントが表示されます。これらは [編集ビュー] メニューで選択できます。

  • 元のソースコード(読み取り専用)
  • 移行先のソースコードの下書き(読み取り専用)
  • Gemini アシスタンスで生成された移行先のソースコード(編集可能)

[オブジェクト] パネルには、Gemini モデルによって提案された問題と修正があるオブジェクトのリストが表示されます。

Gemini の候補を確認する手順は次のとおりです。

  1. オブジェクトをクリックして、関連する AI 推奨の修正を表示します。
  2. Gemini モデルが提案したコードを確認して編集します。
  3. 次のいずれかを行います。

    • 候補(編集を含む)を承認するには、[コードを承認] をクリックします。 変更がコンバージョン ワークスペース内のオブジェクトに適用され、オブジェクト リストのオブジェクトの状態が [保留中] から [承認済み] に変わります。

    • 変更を適用せずに候補(編集を含む)を保持するには、別のオブジェクトに切り替えます。オブジェクトは [保留中] 状態のままになります。後でコードを編集して、候補を承認または無視できます。

    • 保留中または承認済みの候補を無視する(編集を元に戻す)には、[コードを無視] をクリックします。オブジェクト リストのオブジェクトの状態が [保留中] から [無視] に変わります。変更が元に戻ります。 後でコードを編集して適用できます。

Gemini の候補を閉じて、適用していない変更をすべて破棄する手順は次のとおりです。

  1. [Gemini で問題を修正] ページで、戻る矢印をクリックします。
  2. [Gemini を閉じる] ダイアログで [閉じる] をクリックします。

    現在の Gemini セッションが閉じられました。候補ページに戻るには、 Gemini の候補に 再度アクセスします。

次のステップ