相互のデータにアクセスする必要がある一連の Oracle データベースがあります。これを行う最も効率的な方法は、データベース リンクを使用することです。いくつかのデータベース リンクを設定すると、最小限の手間で A から B にデータを取得できます。私にとっての問題は、密結合の設計になってしまい、1 つのデータベースがダウンした場合に、結合されたデータベース (またはおそらくそれらのデータベース上のアプリケーションの一部) が持ち込まれる可能性があることです。
Oracle データベース間でデータを共有するために、どのような代替アプローチを試みましたか?
いくつかの応答後に更新...
「マスターデータ」へのアクセスについては、レプリケーションについてはあまり考えていませんでした。たとえば、通貨換算レートを含む中央データベースがあり、そのレートを別のデータベース (アプリケーション) に取り込みたいとします。このような小さなデータセットの場合、igor-db による DB リンク上のマテリアライズド ビューの提案はうまく機能します。ただし、非常に大きなデータセットから動的にサンプリングしている場合、ローカルにキャッシュするオプションは難しくなります。これらの状況で、どのオプションを選択しますか。私は XML サービスについて疑問に思いましたが、tuinstoel (le dorfier の返信へのコメント) は、関連するオーバーヘッドについて正しく疑問を呈しました。
回答の要約...
全体として、igor-dbが最も近いと思うので、その答えを受け入れましたが、他の答えを引き出すために少し追加すると思いました。
私の目的では、データ レプリケーションのみを見ていますが、Oracle BASIC レプリケーション (ADVANCED とは対照的に) レプリケーションが私には適しているようです。マスター サイトでマテリアライズド ビュー ログを使用し、スナップショット サイトでマテリアライズド ビューを使用することは、優れた方法のように思えます。
これがオプションではない場合、おそらくデータ ボリュームが原因でテーブル全体のレプリケーションが問題になる場合は、メッセージング ソリューションが最も適切な Oracle ソリューションと思われます。Oracle Advanced Queuing は、メッセージング ソリューションをセットアップするための最も迅速で簡単な方法のようです。
最も望ましくないアプローチは、独自の XML Web サービスであるように思われますが、高度なキューイングの比較的容易さがオプションではない場合に限られます。