-3

クライアントには、Oracle DB に基づく古いシステムがあります。現在の (2013) バージョンの MySQL または PostGreSQL (ストアド プロシージャ、トリガーなども考慮) では、Oracle DB データを転送するのにどちらが簡単 (工数/時間もかからない) でしょうか?

それとも無関係ですか?

4

3 に答える 3

3

かなり単純なデータベース (複雑なユーザー関数や型などがない) の場合は、ora2pgを試すことができます。私は過去にそれで成功しました。明らかに、移植後にテストが必要です。

代替オプション -- 同じ db 構造 (テーブルの名前が同じ、同じ列など) の場合、スキーマのみの postgres db を作成し、Oracle テーブルを 1 つずつ csv にダンプしてから、次を使用して postgres にロードできます。コピー。

別のオプションは、postgres db を作成し (データなし、スキーマのみ)、oracle_fdw外部データ ラッパーを使用して、Oracle から postgres db に直接データをプルする (postgres db 内から実行される) ことです。

于 2013-07-18T15:07:44.353 に答える
1

以前は oracle を使用していましたが、現在は postgresql を使用しています。

構造的には、それらは非常に似ています。しかし...あるDBから別のDBへの1つのアプリケーションの移植は、1日、1週間、または1か月の仕事ではありません。

次の準備をしてください。

1.すべてのSQLをテストする

2.すべてのストアド プロシージャ、トリガー、関数などをテストする

3. すべてのアプリケーション モジュールをテストする

4.モデル句、スナップショットなど、オラクル固有の機能の代替手段を見つける

要するに、魔法の薬はありません。しかし、両方の私の経験から、それらを移植する方が簡単であることがわかります。

于 2013-07-18T11:02:02.073 に答える
1

このタイプの質問には、実際に移植した人を除いて誰も答えることができません。コンパイルしてインストールできたとしても、高速に (または十分に高速に) 実行されるとは限りません。

これは、アプリケーションで使用されている SQL 機能と、これらが新しいデータベースにどのようにマップされるかによって異なります。

そのため、アプリケーションの 95% では移植が非常に簡単かもしれませんが、Oracle のマテリアライズド ビューの代わりをすぐに見つけなければならない場合、たとえば PostgreSql では面倒な作業になる可能性があります。

したがって、ポートは実際にはアプリケーションの設計段階から始まります。そうしないと、多くの問題が発生する可能性があります。これを見てください。

あなたの場合、すべての SQL 機能と、これらが PostgreSql と MySQL にどれだけ簡単にマップされるかを特定する必要があります。

たとえば、ここでPostgreSql と MySQL の違いを確認できます。私は PostgreSql を選択します。なぜなら、Oracle と PostgreSql で動作するアプリケーションを開発するのに大きな問題はなかったからです。ウィンドウ集約、再帰 CTE、Java のストアド プロシージャなどの機能は、両方のシステムで利用できます。

于 2013-07-18T09:33:16.517 に答える