Jcat
宠辱不惊,闲看庭前花开花落~~
posts - 173,comments - 67,trackbacks - 0
1. 物化视图由于是物理真实存在的,故可以创建索引。




--为基表创建MLOG
--创建物化视图时应先创建存储的日志空间,否则建MV时报错
--ORA-23413: table "SCOTT"."EMP" does not have a materialized view log

create materialized view log on scott.emp
tablespace test
/


--创建物化视图
create materialized view test_mv
tablespace test
parallel (degree 4)
build immediate refresh fast
enable query rewrite
as
select * from scott.emp
/


--查看一下结果,果然很符合物化视图的定义,一个表+一个视图
SQL> select object_name, object_type from user_objects where object_name = 'TEST_MV';
OBJECT_NAME    OBJECT_TYPE
-----------    --------
TEST_MV        TABLE
TEST_MV        MATERIALIZED VIEW

SQL> select mview_name, container_name from user_mviews;
MVIEW_NAME       CONTAINER_NAME
---------------- ------------------------------
TEST_MV          TEST_MV  (这就是那个存储表)

--查看MLOG的情况
--注意:MLOG的所属和MV的所属并不是同一个
SQL> select log_owner, master, log_table from dba_mview_logs
LOG_OWNER    MASTER    LOG_TABLE
---------------------------------
SCOTT        EMP    MLOG$_EMP (MLOG其实也就是一个表)

SQL> desc scott.mlog$_emp;
Name            Type
-------------------------------
EMPNO            NUMBER(4)
SNAPTIME$$        DATE
DMLTYPE$$        VARCHAR2(1)
OLD_NEW$$        VARCHAR2(1)
CHANGE_VECTOR$$        RAW(255)



--删除MLOG
drop materialized view log on 物化视图所依赖的表名; 
--删除物化视图
drop materialized view 物化视图名;
posted on 2010-01-13 00:04 Jcat 阅读(521) 评论(2)  编辑  收藏 所属分类: Database

FeedBack:
# re: 物化视图
2010-04-04 15:04 | andkylee
你以前是搞sybase的吧。转oracle了?
我现在在做sybase-dba。感觉没有多少前途。在迷茫中。
qq:289965371  回复  更多评论
  
# re: 物化视图
2010-04-05 10:03 | Jcat
@andkylee
Sybase不太熟,懂点皮毛;Oracle知道稍微多点;最近开始学习DB2(但我都不是专业的DBA,兴趣爱好,哈哈)  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: