关于materialized view 与snapshot 的区别

它们之间的区别就是没有区别。
 
  只不过,一个名词是新的,一个名词是旧的。
 
  物化视图==快照。
 
  在新系统下,曾经用“快照”的情况,现在就用“物化视图”好了。
 
1. 描述:
  MV 跟 Snapshot 的功能类似 , SQL Navigator down 出来也是 snapshot , 但是底层还是有不一样的地方 . 请搞清楚是 MV 还是 Snapshot
2. 结论:
(1) Snapshot 与 MV 是同义词. 创建完毕导出的dll文件说明是snapshot.
(2) MV log 是与 Refresh 的方式有关. Fast 方式才需要 LOG.
(3) MV 是新名词, snapshot 是旧名词而已. 仅仅为了保持兼容性
The keyword SNAPSHOT is supported in place of MATERIALIZED VIEW for backward compatibility.
3. 过程:
(1) DEV2 ,DEV4
CREATE TABLE zzhawk_2145 AS SELECT * FROM apps.gl_sets_of_books
CREATE MATERIALIZED VIEW log ON zzhawk_2145 WITH ROWID

(2) DEV3
CREATE SNAPSHOT zzhawk_2221_mv REFRESH FORCE WITH ROWID AS(
SELECT * FROM zzhawk_2145_v@BQC_DISC_LINK
UNION ALL
SELECT * FROM zzhawk_2145_v@BQA_DISC_LINK)
CREATE MATERIALIZED VIEW zzhawk_2220_mv REFRESH FORCE WITH ROWID AS(
SELECT * FROM zzhawk_2145_v@BQC_DISC_LINK
UNION ALL
SELECT * FROM zzhawk_2145_v@BQA_DISC_LINK)
 
(3) 导出 dll 完全一致,且均为snapshot.
CREATE SNAPSHOT zzhawk_2145_snap
PCTFREE 10
PCTUSED 40
MAXTRANS 255
TABLESPACE applsysd
STORAGE (
INITIAL 40960
NEXT 40960
PCTINCREASE 0
MINEXTENTS 1
MAXEXTENTS 2147483645
)
(4) SLOG$ (2条记录) 与 SYS.MLOG$ (1条记录) SYS.SNAP$ (2条) 也完全一致.
SELECT * FROM SYS.SLOG$ WHERE mowner = 'APPS'
SELECT * FROM SYS.MLOG$ WHERE mowner = 'APPS'
4. 参考:
http://download-west.oracle.com/ ... ts_107a.htm#2067642

你可能感兴趣的:(职场,休闲)