Migration techniques

高レベルでは、OracleからPostgresへのデータベース移行には次が含まれます。

  • Oracleの拡張バージョンのSQL標準から、一般的に標準に準拠したPostgres準拠のバージョンにスキーマを変換します。

  • Oracle固有のデータ型定義をPostgres固有のものに変換する

  • クエリとストアドプロシージャの書き換え

  • データのコピー

  • Oracleが独自の拡張機能で標準プロトコルを拡張したため、Postgres JDBC、.NET、ODBCドライバーを使用するようにアプリケーションAPIを更新

  • 移行されたデータベースが、パフォーマンス、管理性、高可用性、およびエンタープライズセキュリティ要件との統合に関連するすべての非機能要件を満たしていることを確認します。

移行は手動または自動で実行できます。

データベースを変換するための手動アプローチ

これらの変換を手動で実行すると、コストがかかり、エラーが発生しやすくなります。ビジネス ロジックと非常に単純なアプリケーション ロジックのない非常に小さなデータベースを除き、このアプローチは実用的ではありません。

データベース移行への自動化されたアプローチ

通常、純粋な手動アプローチの代わりに2つの自動化されたアプローチが使用されます。

_ネイティブ互換性_アプローチは、1つのデータベースの機能を拡張し、APIとプロトコルを含むSQL標準の別のデータベース固有の実装を作成します。 EDB Postgres Advanced Serverは、次の領域でOracleとの互換性を提供するPostgreSQLの拡張バージョンです。

  • Oracle固有で構文互換性のあるデータベースオブジェクトタイプ

  • Oracle固有のデータ型

  • Oracle固有のSQL拡張機能

  • 組み込みのネイティブ手続き言語としてのOracle PL / SQLのサポート

  • Oracleデータディクショナリビュー(つまり、 ALL_、 DBA_、USER_ビュー)

  • OracleビルトインPL / SQLパッケージ

  • Oracleのようなデータベースドライバー

  • DBA向けのOracleと同様のツールEDB Postgres Advanced Serverは、これらの領域のOracle固有の機能をすべて実装していません。それにもかかわらず、互換性は広範であり、最も一般的に使用されるOracleコンストラクトの多くをカバーしています。その結果、実装された互換性機能により、Oracleからのほとんどの移行が簡単になります。 _translation_アプローチでは、自動化されたツールを使用して、Oracleの定義、クエリ、およびストアドプロシージャをPostgres互換バージョンに書き換えます(または変換します)。 EDBMigration Portal修復ハンドラーはこのアプローチを使用して、 EDB Postgres Advanced Serverに互換性のある実装がないコンストラクトを含む多数のオブジェクトを自動的に変換します。変換アプローチは、オープンソースの移行ツールで使用可能な唯一のアプローチであり、他のベンダーが純粋なオープンソースのPostgreSQLをターゲットにしています。ただし、翻訳が必要なオブジェクトの数によっては、純粋なオープンソースソリューションに到達するために必要な時間と労力が、スケジュールまたはリソースによってサポートされない場合があります。

これら2つの自動化アプローチを組み合わせることで、ほとんどの移行が大幅に簡素化されますが、通常、手動変換が必要なオブジェクトがまだ残っています。

Migration Portal ナレッジベースの回避策を参照するか、EDBのプロフェッショナルサービスに連絡して、残っている手動変換の解決策を特定してください。