Oracle 10 标准:
我有许多基于预建表的物化视图。
这些是通过来自一个主数据库的链接从远程数据库快速刷新的。
它们通常工作正常,但有时在数据库服务器被退回时需要重新创建视图。
现在将远程(复制的)表与主表进行比较表明,复制的表中缺少一些记录。重新创建物化视图并不能解决这个问题(或手动刷新它)。快速刷新这些的作业没有显示错误。
解决此问题的程序是什么?我是否需要删除并重新生成主表上的物化视图日志?
附加信息:
好的,删除并重新创建物化视图日志并不能解决此问题。
我想我可以手动复制记录,但我认为会有一种更通用的方法来修复。如果complete refresh
是答案,我知道它首先会截断表格,如果可能的话,我真的很想避免这种情况。
根据要求,这是创建物化视图的脚本:
CREATE MATERIALIZED VIEW AUTO_EVENT_DEFN
ON PREBUILT TABLE
USING INDEX
TABLESPACE DATA1
PCTFREE 10
INITRANS 2
STORAGE
(
INITIAL 81920
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
)
REFRESH
NEXT SYSDATE + 1/(24*60)
FAST
WITH PRIMARY KEY
USING DEFAULT LOCAL ROLLBACK SEGMENT
DISABLE QUERY REWRITE AS
select aed_rid, name, description, max_check_freq_sec, max_result_freq_sec, header, footer, subject, html_format,
report_group, trigger_event, max_lines, html_base_size, ins_or_update, active, valid, defn_type, cust_req, last_modified,
modified_by, sum_cols, report_delay_secs, process_queue, sql_string, report_security, results_type, multi_loc
from auto_event_defn@kitlive;