dポイントプレゼントキャンペーン実施中!

2台のサーバーがあり、それぞれにオラクルがインストールされ
テーブルやデータが同じように存在しているとします。

1つのサーバーのデータがプログラムにより
更新(Insert,update,delete)された時に
もう1台のサーバーのデータも同じように更新したいのですが、
どのような仕組みで行えば可能でしょうか?
(プログラムはあくまでも1台のサーバーのデータに対して
 更新するという部分は変えれないとして)

A 回答 (2件)

以下、判り難いので、プログラムが更新するサーバをa、追従したいサーバをbとして書きます。



手っ取り早いのは、以下のような更新トリガを使った方法じゃないかな。
(1)aに対し、bへのデータベースリンクを張る。
(2)aの各表に対し、更新トリガ(DBリンク上の表に対する更新を行うプロシジャ)を作る。

注意としては、サーバaの更新が起こると、更新トリガ分の負荷がかかることと、
トリガ内で行うサーバbへの更新でエラーが起こると、サーバaへの更新もエラーとなる。
    • good
    • 0
この回答へのお礼

ご回答どうもありがとうございました。
参考にします。

お礼日時:2009/10/26 17:07

2台のサーバで同じデータを持ちたいとなる以下になるかと。


同期更新タイミングはそれぞれ検討しないといけないですが、
--------------------------------------------------------
DataGuard構成(フィジカルスタンバイ、ロジカルスタンバイ)
Streamsレプリケーション
更新可能MVIEW(シングルマスターレプリケーション)
マルチマスターレプリケーション
トランスポータブル表領域
--------------------------------------------------------

多分、一番やりたいのに近いのは、マルチマスターレプリケーションかな。
でもかなり難しいし、パフォーマンス影響大きいですよ。

それよりは、
トリガー作って、更新をファイル書き出して、
その更新をもう片方に適用するって方が現実的かも。
    • good
    • 0
この回答へのお礼

ご回答どうもありがとうございました。
参考にします。

お礼日時:2009/10/26 17:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!