マテリアライズドビューのログを作成すると遅くなる
885725Aug 31 2011 — edited Sep 6 2011OS:Windows2008Server R2(64bit) Oracle:11.2
24時間稼動しているサーバーに、1分毎にリフレッシュを行うマテリアライズドビューを作成しています。
作成した直後はミリ秒単位でリフレッシュが終了するのですが、時間がたつにつれリフレッシュ時間が長くなっていくようで、
2週間ほど経過すると1分以上時間がかかるようになってしまいます。
また、テーブル:TableAに対して、マテリアライズドビュー・ログを作成した所、
リフレッシュ時間が異常にかかる様になってしまいました。
どのように原因究明していけばよいか、アドバイスをいただけないでしょうか。
-- 以下マテリアライズドビュー作成スクリプト(テーブル名、項目名、テーブルスペース名等は都合上変えています) --
MaterializedViewA:TableA上のID、Name毎のデータ数をカウント。
CREATE MATERIALIZED VIEW MaterializedViewA
TABLESPACE TBLSPC01
PCTFREE 5 STORAGE (
INITIAL 10000K
NEXT 1000K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
)
BUILD IMMEDIATE
REFRESH FORCE
NEXT SYSDATE + 1/1440
AS
SELECT ID,
Name,
COUNT(*) AS CNT
FROM TableA
GROUP BY ID, Name
;
CREATE INDEX KEY1_MaterializedViewA
ON MaterializedViewA (
ID ASC
,Name ASC
)
TABLESPACE TBLSPC_IDX01
STORAGE (
INITIAL 100K
NEXT 100K
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
)
PCTFREE 5
;
-- マテリアライズドビュー・ログ作成スクリプト
CREATE MATERIALIZED VIEW LOG ON TableA WITH ROWID, SEQUENCE INCLUDING NEW VALUES;