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 を活用した機能を使用するには、次の操作を行います。

  1. プロジェクトで Gemini for Google Cloud を有効にします。

    API を有効にする

  2. プロジェクトで Gemini for Google Cloud を有効にすると、プロジェクト内のすべての変換ワークスペースで 変換アシスタント パターン マッチングが自動的に有効になります。 自動変換を使用するには、ワークスペースごとに有効にする必要があります。

    Gemini を活用した各機能を有効または無効にするかどうかは、 アップグレードされたコンバージョン ワークスペースを使用しているかどうかによっても異なります。各機能の有効化と無効化の詳細については、このページの次のセクションをご覧ください。

始める前に

Database Migration Service で Gemini を活用した機能を使用するには、次の操作を行います。

  1. プロジェクトで Gemini for Google Cloud を有効にします。

    API を有効にする

  2. プロジェクトで Gemini for Google Cloud を有効にすると、プロジェクト内のすべての変換ワークスペースで 変換アシスタント パターン マッチングが自動的に有効になります。 自動変換を使用するには、ワークスペースごとに有効にする必要があります。

    Gemini を活用した各機能を有効または無効にするかどうかは、 アップグレードされたコンバージョン ワークスペースを使用しているかどうかによっても異なります。各機能の有効化と無効化の詳細については、このページの次のセクションをご覧ください。

必要なロール

Gemini 拡張変換機能の使用に必要な権限を取得するには、プロジェクトに対する データベース移行管理者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. 提案された改善点を示す差分画面を確認します。結果が気に入ったら、[提案を挿入] ボタンを使用して、変換されたオブジェクトを更新できます。

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

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

[Explain the conversion logic for this object] プロンプトを使用すると、変換されたコードの動作を段階的に説明するだけでなく、新しいコードに適用されたベスト プラクティスの概要も確認できます。

オブジェクト変換ロジックの説明をリクエストする手順は次のとおりです。

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

  • 元のソースコード(読み取り専用)
  • 移行先のソースコードの下書き(読み取り専用)
  • Gemini の支援機能を使用して生成された移行先のソースコード(編集可能)

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

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

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

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

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

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

Gemini の候補を閉じて、適用していない変更をすべて破棄するには、次の手順を行います。

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

    現在の Gemini セッションは終了しました。提案ページに戻るには、もう一度 Gemini の提案にアクセスします。

次のステップ