ターゲットにMaterialized viewを作成

01

  • ターゲットに高速リフレッシュ Materialized view を作成するためには、ソース側に Materialized view log の作成が必要になります。

ソース側 Oracle - handson source database 1 の SQL Editor に以下の SQL を入力し Materialized view log を作成します。

create materialized view log on DMS_SAMPLE.ticket_purchase_hist;

02

ターゲット側 Oracle - handson target database の SQL Editor に以下の SQL を入力し Materialized view を作成します。

create materialized view ticket_purchase_hist
build immediate
refresh fast
as
select * from ticket_purchase_hist@source;

03

  1. ソースとターゲットで ticket_purchase_hist テーブルのデータ件数を確認してみます。

Oracle – handson target database の SQL Editor に以下の SQL を入力して何度か実行してみます。

select
    'Source Database', count(*)
from
    ticket_purchase_hist@source
union all
select
    'Target Database', count(*)
from
    ticket_purchase_hist;
  • Source Database はデータ件数が増加していきますが、Target Database ではデータ件数は増加しません。

  • これは Materialized view 作成時に初期データ移行のみが完了しており、その後の差分同期を実行していないためです。

  • この後の手順で差分同期を手動で実行しますが、これは自動で実行することも可能です。