Migration techniques#
高レベルでは、OracleからPostgresへのデータベースの移行には以下が含まれます。
OracleのSQL標準の拡張バージョンから、一般的に標準への準拠のより高いPostgres準拠バージョンへのスキーマの変換
Oracle固有のデータ型定義をPostgres固有のデータ型定義に変換する
クエリーとストアドプロシージャーの書き換え
データのコピー
Oracleが独自の拡張機能で標準プロトコルを拡張したため、 Postgres JDBC、.NET、ODBCドライバーを使用するようにアプリケーションAPIを更新
移行したデータベースが、パフォーマンス、管理性、高可用性、およびエンタープライズセキュリティ要件との統合に関連するすべての非機能要件を満たしていることを確認します。
移行は手動または自動で実行できます。
データベースを変換するための手動アプローチ#
これらの変換を手動で実行すると、費用がかかり、エラーが発生しやすくなります。ビジネスロジックと非常に単純なアプリケーションロジックを持たない非常に小規模なデータベースを除き、このアプローチは現実的ではありません。
データベース移行への自動アプローチ#
通常、純粋な手動アプローチの代わりに2つの自動アプローチが使用されます。
_native stable_アプローチは、あるデータベースの機能を拡張し、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互換バージョンに書き換えまたは変換します。 EDB移行ポータルの修復ハンドラーは、このアプローチを使用して、 EDB Postgres Advanced Serverに互換性のある実装を持たないコンストラクトを含む多数のオブジェクトを自動的に変換します。変換アプローチは、オープンソース移行ツール、および純粋なオープンソースのPostgreSQLをターゲットとする他のベンダーが提供するツールで使用可能な唯一のアプローチです。ただし、翻訳する必要があるオブジェクトの数によっては、純粋なオープンソースソリューションに到達するまでに必要な時間と労力が、スケジュールまたはリソースでサポートされていない場合があります。
ほとんどの移行は、これら2つの自動化アプローチを組み合わせることにより大幅に簡素化されますが、通常は手動変換が必要な一部のオブジェクトがまだ残っています。 Migration Portal ナレッジベースの回避策を参照するか、EDBのプロフェッショナルサービスに連絡して、残っている手動変換の解決策を特定します。