コンバージョン ワークスペースでは、すべてのコンバージョン問題がグループとカテゴリに集約されるため、コンバージョン エラーと警告の修正を計画できます。各カテゴリは、問題を解決するために必要な作業の種類(レビュー、リファクタリング、データ型の調整など)を表します。グループは、下位レベルで特定のケースを区別するため、さらに集計を行います。


次の表に、スキーマ変換中に発生する可能性のあるすべての変換問題グループを示します。
問題グループ ID | 説明 | ||
---|---|---|---|
入力に関する問題(
|
|||
CW_OP0101 |
無効なソースコード |
||
考えられる根本原因
このグループのエラーは、Database Migration Service が不明な構文を検出した場合や、Oracle ソースコードが無効な場合(たとえば、ストアド プロシージャに |
|||
考えられる対応策 移行元 Oracle データベース内の無効なオブジェクトを修正します。次に、Database Migration Service でソーススキーマのスナップショットを更新し、スキーマ変換プロセスを再試行します。または、オブジェクトを移行から除外することもできます。 |
|||
CW_OP0102 |
参照先のオブジェクトが見つかりません |
||
考えられる根本原因 Database Migration Service は、移行元ツリー内のオブジェクトのメタデータを使用して、依存オブジェクトのコード変換の品質を向上させます。コードがソーススキーマに含まれていないオブジェクトを参照している場合、Database Migration Service は参照されている列、属性、オブジェクトの構造やデータ型を特定できないため、変換の問題が発生する可能性があります。 このグループで発生する可能性のあるエラーには、ユーザー定義型(UDT)のデータ型が正しくない、列、パラメータ、変数のデフォルトの |
|||
考えられる対応策 参照されているすべてのオブジェクトが Database Migration Service のソースツリーに追加されていることを確認するか、欠落している依存関係のソース データモデルに関する知識に基づいて PostgreSQL コードを手動で調整します。 |
|||
CW_OP0103 |
主キーのないテーブル |
||
考えられる根本原因 Database Migration Service では、すべてのテーブルに主キーが必要です。主キーのないテーブルの場合、Database Migration Service は、 |
|||
考えられる対応策 移行後に |
|||
ソース機能がまだサポートされていません(
|
|||
CW_OP0200 |
サポートされていない Oracle 組み込み機能 |
||
考えられる根本原因 サポートされていない組み込みの Oracle 機能を使用している可能性があります。 |
|||
考えられる対応策 PostgreSQL で同様の機能を見つけて、変換されたコードを適宜変更します。場合によっては、Cloud SQL for PostgreSQL と AlloyDB for PostgreSQL の両方の移行で使用できる Orafce 拡張機能によって、不足している機能が提供されることがあります。 |
|||
CW_OP0201 |
|
||
考えられる根本原因 Oracle の |
|||
考えられる対応策 ソースコードが ソースコードが |
|||
CW_OP0203 |
Oracle SQL 関数はまだサポートされていません |
||
考えられる根本原因 一部の Oracle 組み込み関数は、変換のために Database Migration Service でサポートされていません。
一部の関数には PostgreSQL に同等の関数が存在し( |
|||
考えられる対応策 どの Oracle 関数でエラーが発生したかを確認します。
|
|||
CW_OP0204 |
Oracle 組み込みパッケージは完全にはサポートされていません |
||
考えられる根本原因 Database Migration Service は特定の Oracle 組み込みパッケージをサポートしていますが、 |
|||
考えられる対応策 サポートされていないパッケージを使用する場合は、次の操作が必要になることがあります。
|
|||
CW_OP0205 |
変換でサポートされていない Oracle データ型 |
||
考えられる根本原因 現在、一部の Oracle データ型は変換またはデータ移動でサポートされていません。 |
|||
考えられる対応策 ほとんどの場合、PostgreSQL には同等のデータ型があります。 変換マッピング ファイルを使用して変換ロジックをカスタマイズし、サポートされていない Oracle データ型を必要な PostgreSQL データ型に変換できます。 データ型のサポートの詳細については、 変換ワークスペース - 概要とサポートされているオブジェクトをご覧ください。 |
|||
ソース機能はまだサポートされていません(
|
|||
CW_OP0300 |
ソース機能はまだサポートされていません |
||
考えられる根本原因
このグループは、変換でサポートされていない Oracle 機能に関連する一般的な問題をすべてキャプチャします。このグループの問題は、他のより具体的な問題グループには該当しません。 |
|||
考えられる緩和策
|
|||
CW_OP0301 |
サポートされていないスキーマ オブジェクト タイプ |
||
考えられる根本原因 PostgreSQL に適切な同等のものがないため、Database Migration Service はコード変換で特定の Oracle スキーマ オブジェクト タイプをサポートしていません。たとえば、インデックス構成テーブル(IOT)、テキスト検索インデックス、ユーザー定義型(UDT)の本体などがあります。 |
|||
考えられる対応策 Database Migration Service は、サポートされていないオブジェクトを最も近い PostgreSQL の同等のオブジェクトに変換します。たとえば、IOT は主キー制約のある通常のテーブルになり、テキスト検索インデックスは B-tree インデックスに変換されます。これらの変換により、元のオブジェクト タイプに固有の機能が失われる可能性があることに注意してください。 |
|||
CW_OP0302 |
PL/SQL 機能はまだサポートされていません |
||
考えられる根本原因
このグループには、変換でサポートされていない PL/SQL 機能に関連する一般的な問題がすべて含まれます。このグループの問題は、他のより具体的な問題グループには該当しません。 |
|||
考えられる緩和策
|
|||
CW_OP0303 |
一括バインディングはまだサポートされていません |
||
考えられる根本原因
Database Migration Service のコード変換は現在、 |
|||
考えられる対応策 この問題を解決するには、一括バインディング機能を使用するコードを変更する必要があります。PostgreSQL と Oracle のアーキテクチャの違いと、ユースケースで PostgreSQL で配列処理が必要かどうかを検討することをおすすめします。 PostgreSQL で Oracle の一括バインド オペレーションにアプローチするには、いくつかの戦略があります。これらの機能の使用方法は、具体的なシナリオによって異なります。そのため、 Gemini を活用したコンバージョン アシスタンスを使用して、具体的なニーズに対応することをおすすめします。以下に、その他の推奨事項の例を示します。
|
|||
CW_OP0304 |
コレクションはまだサポートされていません |
||
考えられる根本原因 Database Migration Service のコード変換は、Oracle コレクションを部分的にサポートしています。 |
|||
考えられる対応策 変換された PostgreSQL コードを適宜変更する必要があります。コレクションに関する問題を解決する際は、PostgreSQL 配列がスパースになることはないことに注意してください。要素をスパースに割り当てると、PostgreSQL 配列は Oracle 配列とは異なる結果とカーディナリティ数を返すことがあります。
PostgreSQL は文字列インデックス配列をサポートしていないため、データの性質によっては、 |
|||
CW_OP0305 |
パイプライン関数はまだサポートされていません |
||
考えられる根本原因 パイプライン関数は Database Migration Service でサポートされていません。 |
|||
考えられる対応策 Oracle のパイプライン関数は、PostgreSQL のセットを返す関数に置き換えることができます。ユースケースに合わせてコードを調整することをおすすめします。以下に、参考となる例をいくつかご紹介します。
Oracle 関数の |
|||
CW_OP0306 |
動的 SQL オプションはまだサポートされていません |
||
考えられる根本原因
Database Migration Service は、動的 SQL の変換を部分的にサポートしています。Oracle の |
|||
考えられる対応策 要件に合わせて変換されたコードを変更する必要があります。動的 SQL の処理には、 Gemini を活用した変換支援を使用することを強くおすすめします。 |
|||
CW_OP0307 |
|
||
考えられる根本原因 ほとんどの |
|||
考えられる対応策 降順の
|
|||
CW_OP0308 |
JSON はまだサポートされていません |
||
考えられる根本原因 Database Migration Service でのデータ移動とコード変換の
|
|||
考えられる緩和策
|
|||
CW_OP0309 |
ロックとトランザクションに関する問題 |
||
考えられる根本原因 Database Migration Service のコード変換は、 |
|||
考えられる緩和策
|
|||
CW_OP0310 |
XML はまだサポートされていません |
||
考えられる根本原因
Database Migration Service は、Oracle |
|||
考えられる対応策
Database Migration Service は XML データを移行する手順は次のとおりです。
PostgreSQL での |
|||
CW_OP0312 |
|
||
考えられる根本原因 Database Migration Service は、コード変換用の |
|||
考えられる対応策
PostgreSQL で
PostgreSQL では、さまざまな方法で
|
|||
CW_OP0313 |
|
||
考えられる根本原因 Database Migration Service は、変換のために |
|||
考えられる対応策 Oracle の |
|||
CW_OP0314 |
SQL 機能はまだサポートされていません |
||
考えられる根本原因
このグループには、変換でサポートされていない SQL 機能に関連する一般的な問題がすべて含まれます。このグループの問題は、他のより具体的な問題グループには該当しません。たとえば、データベース イベント トリガー、 |
|||
考えられる緩和策
|
|||
サポートされていない構文(
|
|||
CW_OP0400 |
サポートされていない構文 |
||
考えられる根本原因
このグループは、サポートされていない Oracle SQL または PL/SQL 構文に関連する一般的な問題をすべてキャプチャします。このグループの問題は、他のより具体的な問題グループには該当しません。 |
|||
考えられる対応策 コードを変更して、機能的に同等の PostgreSQL 構文を使用します。Gemini を活用した自動変換機能を使用してコードを調整することをおすすめします。詳細については、 Gemini アシスタンスを使用して Oracle のコードとスキーマを変換するをご覧ください。 |
|||
CW_OP0401 |
サポートされていない SQL 構文 | ||
考えられる根本原因 ソースコードで、Database Migration Service でサポートされていない SQL 構文または要素が使用されている。たとえば、Oracle の |
|||
考えられる緩和策
|
|||
CW_OP0402 |
サポートされていない PL/SQL 構文 | ||
考えられる根本原因 ソースコードで、Database Migration Service でサポートされていない PL/SQL 構文または要素が使用されている。たとえば、レコードベースの |
|||
考えられる対応策 コードを変更して、機能的に同等の PostgreSQL 構文を使用します。Gemini を活用した自動変換機能を使用してコードを調整することをおすすめします。詳細については、 Gemini アシスタンスを使用して Oracle のコードとスキーマを変換するをご覧ください。 |
|||
CW_OP0403 |
サポートされていない日付とタイムスタンプの構文 |
||
考えられる根本原因
Database Migration Service は、サポートされていない日付またはタイムスタンプの構文、オペレーション、式に対してエラーまたは警告を生成する場合があります。このような問題の例としては、データ型の不一致の比較や、タイムスタンプでの |
|||
考えられる対応策 ほとんどの日付とタイムスタンプの式は、PostgreSQL の同等の式を使用して再作成できます。このような修正を迅速に行うために、Gemini を活用した自動変換機能を試すことをおすすめします。詳細については、 Gemini アシスタンスを使用して Oracle のコードとスキーマを変換するをご覧ください。 |
|||
CW_OP0404 |
Oracle の例外処理構文のサポートされていない要素 |
||
考えられる根本原因 Database Migration Service のコード変換は、次の Oracle
|
|||
考えられる対応策 変換されたコードでこれらの問題を解決する必要があります。このような修正を迅速に行うために、Gemini を活用した自動変換機能を試すことをおすすめします。詳細については、 Gemini アシスタンスを使用して Oracle のコードとスキーマを変換するをご覧ください。 |
|||
データ型と変換(
|
|||
CW_OP0500 |
データ型と変換に関する問題 |
||
考えられる根本原因 Database Migration Service は、コンテキスト(
型比較式で発生する変換の問題など)に基づいて変換の問題をグループ化できます。 |
|||
考えられる対応策 ほとんどの場合、Database Migration Service は変換された PostgreSQL コードで |
|||
CW_OP0501 |
日付形式のマスクに関する問題 |
||
考えられる根本原因
形式モデルに基づいて日付またはタイムスタンプの式を文字列に変換したり、文字列から変換したりすると、警告や問題が発生することがあります。Oracle ソースコードのキャストで明示的な日付またはタイムスタンプ形式モデルが除外されている場合、Database Migration Service はデフォルト モデル(現在は
暗黙的なキャスト用に生成された形式モデルが、同じ式内の明示的な形式モデルと競合する場合、変換されたコードで問題が発生することがあります。また、
Oracle |
|||
考えられる対応策 コンバージョン ワークスペースで、変換された PostgreSQL 式を確認して検証します。 |
|||
CW_OP0502 |
数値形式のマスクに関する問題 |
||
考えられる根本原因 Database Migration Service は、すべての
Oracle 形式モデルをサポートしていません。たとえば、 |
|||
考えられる対応策 PostgreSQL に同等のものがない Oracle 形式のモデルについては、式または形式モデルのリファクタリングが必要になることがあります。このような修正を迅速に行うために、Gemini を活用した自動変換機能を試すことをおすすめします。詳細については、 Gemini アシスタンスを使用して Oracle のコードとスキーマを変換するをご覧ください。 |
|||
CW_OP0503 |
データ型のキャストに関する問題 |
||
考えられる根本原因 サポートされていないデータ型や不正確なデータ型のキャストが原因で、エラーが発生する可能性があります。Database Migration Service は通常 |
|||
考えられる対応策 データ型が正しく変換されるように PostgreSQL コードを調整します。これらの修正を行うには、参照される属性、変数、列を理解している必要があります。 |
|||
CW_OP0504 |
比較の問題 |
||
考えられる根本原因
データベース移行サービスでは、データ比較式を変換する際に、メタデータやデータ型に関する情報が不足している可能性があります。たとえば、ユーザー定義型(UDT)が |
|||
考えられる対応策 変換された PostgreSQL 式を確認し、問題を解決します。このような修正を迅速に行うために、Gemini を活用した自動変換機能を試すことをおすすめします。詳細については、 Gemini アシスタンスを使用して Oracle のコードとスキーマを変換するをご覧ください。 |
|||
機能の微妙な違い(
|
|||
このカテゴリの問題は、Oracle ソースコードが最も近い PostgreSQL 相当に正しく変換されたものの、結果のコードに意味的または機能的な違いがわずかにあり、確認が必要なケースを表します。これは、Oracle と PostgreSQL でデータ型、形式、オブジェクトの処理方法が異なるためです。 このカテゴリは、
データ型と変換( |
|||
CW_OP0601 |
日付形式のマスクを確認してください |
||
考えられる根本原因
ほとんどの
Oracle の日付とタイムスタンプの形式モデルには、PostgreSQL に適切な同等のものがあるため、変換されたコードに意味的または機能的な違いはありません。一部のモデルには完全一致がなく、動作が異なります。たとえば、
Oracle |
|||
考えられる対応策 形式モデル変換を使用して式を確認し、検証して、変換されたコードが期待どおりに動作することを確認します。 |
|||
CW_OP0602 |
数値形式のマスクを確認してください |
||
考えられる根本原因 ほとんどの移行元数値形式モデルには PostgreSQL に同等のものがあるため、変換されたコードに意味的または機能的な違いはありません。ただし、一部の形式モデルには完全一致がない場合や、動作が若干異なる場合があります。 |
|||
考えられる対応策 形式モデル変換を使用して式を確認して検証し、変換されたコードが想定どおりに機能することを確認します。 |
|||
CW_OP0603 |
例外コードを確認する |
||
考えられる根本原因
|
|||
考えられる対応策 この動作を確認して、ニーズに合っているかどうかを判断します。このレビューは、ソースエラーコードがアプリケーション、サポートチーム、ドキュメントにとって意味がある場合にのみ必要です。エラーコードの値自体に意味がない場合は、この警告を無視できます。 |
|||
CW_OP0604 |
例外メッセージを確認してください |
||
考えられる根本原因
|
|||
考えられる対応策 アプリケーション、サポート インフラストラクチャ、ドキュメントがエラー テキストに依存している場合は、変換を確認します。それ以外の場合は、この違いを無視できます。 |
|||
CW_OP0605 |
Oracle 組み込み関数のエミュレーションを確認する |
||
考えられる根本原因 Database Migration Service のコードとスキーマの変換は、PostgreSQL の同等の機能で Oracle の関数動作を提供することを目的としていますが、結果がシナリオに必ずしも適しているとは限りません。そのため、変換ワークスペースでは、確認が必要になる可能性がある関数変換に関する警告が常に表示されます。 |
|||
考えられる対応策 変換ワークスペースが |
|||
CW_OP0606 |
外部キー列のデータ型を確認する |
||
考えられる根本原因 Database Migration Service は、親オブジェクトと子オブジェクト間でデータ型の仕様が一致していないことを検出しました(たとえば、親列が |
|||
考えられる対応策 通常、データ型のわずかな不一致は、データベース機能に問題を引き起こしません。ただし、変換されたデータモデルに不整合がないか確認することをおすすめします。 |
|||
機能の確認を推奨(
|
|||
CW_OP0701 |
機能の確認を推奨 | ||
考えられる根本原因
このグループは、Oracle と PostgreSQL のコードの機能の違いに関連する一般的な問題をすべてキャプチャします。このグループの問題は、他のより具体的な問題グループには該当しません。 |
|||
考えられる緩和策
|
|||
CW_OP0702 |
Oracle 組み込み関数のエミュレーションを確認する |
||
考えられる根本原因 Oracle の組み込み関数の多くは、PostgreSQL に直接相当するものはありません。移行時のこの問題を軽減するため、Database Migration Service は、さまざまな SQL 式を使用してコードを変換し、PostgreSQL で同等の機能動作を実現します。 変換された式が複雑になる場合があります。Database Migration Service は、 |
|||
考えられる対応策 変換されたコードを確認して、変換された関数が PostgreSQL 環境で想定どおりに動作することを確認します。 |
|||
リファクタリングが必要(
|
|||
CW_OP0801 |
自律型トランザクションのリファクタリングが必要 |
||
考えられる根本原因 PostgreSQL は、 自律型トランザクションをサポートしていません。 |
|||
考えられる対応策 PostgreSQL で自律型トランザクションを実現するには、
|
|||
CW_OP0802 |
データベース リンクのリファクタリングが必要 |
||
考えられる根本原因 Database Migration Service は、 Oracle データベース リンクをサポートしていません。リンクを使用するオブジェクトにはリファクタリングが必要です。 |
|||
考えられる対応策 データベース リンクのターゲットに応じて、
|
|||
CW_OP0803 |
高度なキュー リファクタリングが必要 |
||
考えられる根本原因 Oracle Advanced Queuing パッケージ( |
|||
考えられる対応策 次のオプションを検討してください。
|
|||
CW_OP0804 |
データベースのメール リファクタリングが必要 |
||
考えられる根本原因 AlloyDB for PostgreSQL は、データベースから直接メールを送信することをサポートしていません。この機能を有効にする拡張機能もサポート対象外です。そのため、Database Migration Service は
|
|||
考えられる対応策 データベースのメールコードをリファクタリングし、メール送信の責任をアプリケーション ティアに移動します。データベースを使用して、メールの送信が必要な条件をキャプチャできます。 実装例としては、メールの詳細を専用のテーブルに書き込むことが考えられます。このテーブルは、Cloud Run functions 関数でポーリングして実際の SMTP 処理を行うメールキューとしても機能します。 |
|||
CW_OP0805 |
ジョブとスケジューリングのリファクタリングが必要 |
||
考えられる根本原因
|
|||
考えられる対応策
依存関係のない単純なジョブの場合は、
|
|||
CW_OP0806 |
ファイル I/O のリファクタリングが必要 |
||
考えられる根本原因 Database Migration Service は、Oracle
Orafce 拡張機能には |
|||
考えられる緩和策
|
|||
CW_OP0807 |
類義語 |
||
考えられる根本原因 PostgreSQL はシノニムをサポートしていません。コード オブジェクトの場合、Database Migration Service はシノニム参照をソース スキーマとオブジェクト名に自動的に置き換えます。コード オブジェクトの外部でシノニム(データベース アプリケーション ユーザーの読み取り専用スキーマなど)を使用する場合は、手動で変換する必要があります。 |
|||
考えられる対応策 コード オブジェクトの外部でシノニムを使用する場合は、PostgreSQL の
|
|||
CW_OP0808 |
グローバル一時テーブル |
||
考えられる根本原因 この問題グループは、Database Migration Service が Oracle ソースコードでグローバル一時テーブルを検出したことを示す警告です。グローバル一時テーブルを移行するには、移行先のデータベースに pgtt PostgreSQL 拡張機能がインストールされ、作成されている必要があります。 |
|||
考えられる対応策 移行先のデータベースに pgtt PostgreSQL 拡張機能がインストールされ、作成されていることを確認することをおすすめします。 |
|||
Gemini の推奨事項の確認(
|
|||
CW_AI9900 |
Gemini の提案を確認する |
||
考えられる根本原因: この問題グループは、Gemini によるコード変換に関連する一般的なエラーと警告をすべてキャプチャします。 |
|||
考えられる緩和策: ここに表示される問題が必ずしも実際の問題を指しているとは限りませんが、Gemini で強化されたすべてのコンバージョンを確認し、期待どおりの結果が得られていることを確認することを強くおすすめします。 |
|||
CW_AI9901 |
AI 拡張コードを確認する |
||
考えられる根本原因: この DDL コードは Gemini 強化機能で変換されたものであり、正確性を確認するためにレビューが必要になることがあります。 | |||
考えられる軽減策: AI 拡張機能で変換されたコードを慎重に確認し、最終結果がソーススキーマの機能と一致していることを確認することをおすすめします。 |
|||
CW_AI9902 |
引用 |
||
考えられる根本原因: Gemini の強化された提案には、複数のソースから引用されたコンテンツが含まれることがあります。一部の引用にはライセンスの制限が適用される場合があります。変換されたコードで引用を確認することをおすすめします。 | |||
変換に関する一般的な問題(
|
|||
CW_OP0000 |
メタデータの変換に関する問題 |
||
考えられる根本原因: このグループには、他のより具体的な問題グループに該当しないコンバージョンに関する問題がすべて含まれます。 |
|||
考えられる対応策 変換されたコードは、移行元のデータモデルに関する知識に基づいて確認し、必要に応じて調整することをおすすめします。 |
|||
CW_OP0001 |
メタデータの変換に関する問題 |
||
考えられる根本原因: このグループには、他のより具体的な問題グループに該当しないメタデータ トラッキングの問題がすべて含まれます。 |
|||
考えられる軽減策: このグループの問題の例は通常、変換された PostgreSQL のデータ型に関する問題につながる可能性のあるコンパイル エラーまたは警告に関連しています。移行元のデータモデルに関する知識に基づいて変換されたコードを確認し、誤った参照を調整することをおすすめします。 |
|||
CW_OP0002 |
サポートチームにお問い合わせください |
||
考えられる根本原因 特殊なエッジケースでは、有効な Oracle ソース オブジェクトで内部エラーが発生することがあります。その場合は、サポートチームにお問い合わせください。 |
|||
CW_OP0003 |
変換に関する一般的な問題 |
||
考えられる根本原因
このグループには、他のより具体的な問題カテゴリやグループに該当しないすべての問題が含まれます。 |
|||
考えられる対応策 変換されたコードは、移行元のデータモデルとコードに関する知識に基づいて確認し、必要に応じて調整することをおすすめします。 |