Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

リモート表同士を結合したマテリアライズド・ビューについて

user9121463Apr 25 2014 — edited May 4 2014

●環境について

 ・1筐体の中にOracle 11gR2 SE ONEのインスタンスを2つ(A,Bとします)作成

  (両インスタンスは初期化パラメータは同じ)

  

 ・インスタンスAにインスタンスBに対するデータベースリンク(LINKB)を作成

●質問

インスタンスA内に以下の様なインスタンスB内の表同士を結合したマテリアライズド・ビューを作成しました。

「CREATE」実行時と、「DBMS_MVIEW.REFRESH('M_TEST', 'C')」実行時で、

インスタンスAからインスタンスBに対して投げられているクエリを確認したところ、

「CREATE」では一回のクエリ、「REFRESH」では数回のクエリが投げられていました。

リモート表のみを参照しているのでリフレッシュの際も一回のクエリで投げてもらいたいのですが、

ヒント句などの指定で対応できるかご教示願います。

●マテリアライズド・ビュー

CREATE MATERIALIZED VIEW M_TEST

REFRESH COMPLETE

AS

SELECT

  A.MAKER_CD,

  A.MAKER_NAME,

  B.CHILD_CNT

FROM

  (

SELECT

  MAKER_CD,

  MAKER_NAME

FROM

  T_MAKER@LINKB

WHERE

  MAKER_KBN = 'B'

  ) A

LEFT JOIN

(

  SELECT

    MAKER_CD,

    COUNT(MAKER_CD) AS CHILD_CNT

  FROM

   T_MAKER_CHILD@LINKB

  GROUP BY

   MAKER_CD

) B

ON A.MAKER_CD = B.MAKER_CD

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 1 2014
Added on Apr 25 2014
1 comment
1,366 views