- PR -

オラクル(10g)でのデータのレプリケーション方法

投稿者投稿内容
10takashi
会議室デビュー日: 2008/02/28
投稿数: 8
投稿日時: 2008-02-28 23:44
たかしと申します
初めて書き込みをさせて頂きます。結構急いでいるのでなるべく至急ご回答くだされば幸いです。

質問内容は非常に基本的で申し訳ないのですが、オラクルでどのように
レプリケーションDBを作成することができるかということです。

ただし条件があって、DBサーバ本体(マスター)からレプリケーションサーバ(レプ)
にはアクセスが可能ですが、レプからマスターへのアクセスはできません。
故に、マスターからデータをプッシュする方法をご教授頂きたいです。
また、更新はリアルタイムにされることが条件です。

レプリケーションの方法として Materialized View が使えるかと思って調べてみましたが、
これはレプからマスターへDBリンクを張らなければいけないので、この場合は使えません。。。
(そもそもこの認識が間違っていたらご指摘ください。。)

何卒よろしくお願いいたします
deanna
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 118
投稿日時: 2008-02-29 00:26
ここで聞かないで、OracleDirectに聞いてみたら。
更新をリアルにとのことですが、どのくらいの遅延が許容できるのかとか条件がわかりませんが。
スレーブ側からDB LINKが不可能なら、マスター側で更新トリガーを作成して、トリガーからメッセージ連携するとか。
リアルにはできませんけどね。
10takashi
会議室デビュー日: 2008/02/28
投稿数: 8
投稿日時: 2008-02-29 00:31
常連さん

返信ありがとうございます。アドバイス通りOracleDirectに聞いてみます。
だいたい予想はついていましたが、やはり更新トリガーを使うしか
手がなさそうな気もしますね。。。

商用システムなので、遅延は数秒の範囲にとどめたいと思っています。。。
deanna
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 118
投稿日時: 2008-02-29 00:33
引用:

10takashiさんの書き込み (2008-02-29 00:31) より:

商用システムなので、遅延は数秒の範囲にとどめたいと思っています。。。



遅延が数秒ってハードウェアやネットワークなどの構成を抜きにしての要件なら
いくらでもお金をかけられるならいいですけどね。
みなと
大ベテラン
会議室デビュー日: 2002/06/14
投稿数: 202
お住まい・勤務地: Q州地方の日本海側
投稿日時: 2008-02-29 09:06
おはようございます。

そういうケースならいっそOracleの機能でのレプリケーションではなくて
クラスタみたいなのにしたらどうですか。

特定のボリュームに変化があった場合に同じにするとかそういうので。
rcpみたいなのでいいのかもしれないけど
Double-Takeとか一方通行でできたような。
CLUSTERPROとかMSCSみたいなのだといまさら設計とかも面倒になるのでしょうから。
ただ、同じデータが2つできるわけじゃないですが。


#誤字修正です。

[ メッセージ編集済み 編集者: みなと 編集日時 2008-02-29 09:13 ]
10takashi
会議室デビュー日: 2008/02/28
投稿数: 8
投稿日時: 2008-02-29 18:01
みなとさん

ご回答頂き誠にありがとうございます。
私にもクラスタリングを使うというアイデアはありましたが、この場合ご提案頂いた
方法ですと、別途ソフトウエアを購入し、そもそもOSそのもののクラスタリングを
考えなければならないことになるような気がして、少し今回のケースには
適用が難しいかなと思っています。

これをオラクルの機能で実現するような手段はないでしょうか?

ネットで色々調べていると「マルチスターレプリケーション」「トランスポータル表領域」
などのオラクルの機能が使えそうなきもしますが、これらの技術の詳細が殆ど見当たらないですね。。。

発想の転換で、RMANを使用して、更新反映後に特定のデータだけ瞬時にバックアップを
とるようなことは可能でしょうか??
10takashi
会議室デビュー日: 2008/02/28
投稿数: 8
投稿日時: 2008-02-29 18:53
たかしです

追加で書き込みをさせて頂きます。RMANについて色々と調べていて
「Oracle Data Guard」という機能を見つけました。

経験の浅い私の理解では、この機能であればプライマリーサイトから
REDOログファイルをバックアップサイトに転送するだけで、データベースの
バックアップがとれ、なおかつ10gからは「Real Time Apply」機能を使用する
ことで、厳密な同期が可能になるという記述を見つけました。

ただ、この機能を利用する場合、本当にバックアップサイトからプライマリーサイトへ
アクセスする必要がないのかを調査したいのですが、どなたかこの機能を
使用された方、アドバイスを頂けると大変幸いです。
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2008-03-03 10:58
引用:

10takashiさんの書き込み (2008-02-29 18:53) より:

ただ、この機能を利用する場合、本当にバックアップサイトからプライマリーサイトへ
アクセスする必要がないのかを調査したいのですが、どなたかこの機能を
使用された方、アドバイスを頂けると大変幸いです。



アーカイブギャップが発生したときにFALという機能を利用して再送できるようにするためには、スタンバイサイト (バックアップサイト) からプライマリサイトにアクセスできる必要があります。

さらに、Oracle10g以前のリリースでフィジカルスタンバイだとREDO適用中はオープンできない (参照もできない) ので、もしバックアップサイトのデータも参照できるようにする必要がある場合にはロジカルスタンバイにする必要がありますね。

引用:

初めて書き込みをさせて頂きます。結構急いでいるのでなるべく至急ご回答くだされば幸いです。



余談ですが、このようなことは、こういう場所では書かないほうがいいと思いますよ。

スキルアップ/キャリアアップ(JOB@IT)