学习ORACLE物化视图
2013-09-10 11:12
253 查看
学习ORACLE物化视图-备忘:
在创建简单的物化视图时:
start with next子句前面需要跟随refresh子句,例如:
如果不加refresh 子句,则会报错ora 00905:missing keyword
注意:如果在一个数据库中,该语句使用scott用户创建,则scott用户需要有对hff用户t表的select权限,否则不能正常定时刷新,手工刷新没有问题,
如果单独执行job会报如下错误:ORA-12011,ORA-06512,并且如果查看警告日志文件中的内容会报如下错误:ORA-12012,ORA-12008
ORA-00942:table or view does not exist,ORA-06512等错误,当时处理该问题时,真没注意ORA-00942这个错误,后来授予select权限后物化视图正常定时刷新,所以权限还真是问题啊。
不过,如果在两个数据库中,使用数据库链路来创建的物化视图,则不需要拥有此表的select权限。
--当用refresh 使用FAST选项创建物化视图,必须创建基于主表的视图日志,并且主表必须有主键,如下:
CREATE MATERIALIZED VIEW LOG ON t;
查看物化视图DDL定义:
set long 999999
set pagesize 1000
select dbms_metadata.get_ddl('MATERIALIZED_VIEW','F_MV') from dual;
还有相关的视图可以查看物化视图的信息:user_mviews,all_mviews,dba_mviews。
在创建简单的物化视图时:
start with next子句前面需要跟随refresh子句,例如:
create materialized view testmv refresh force start with sysdate next sysdate+1/1440 as select * from hff.t /
如果不加refresh 子句,则会报错ora 00905:missing keyword
注意:如果在一个数据库中,该语句使用scott用户创建,则scott用户需要有对hff用户t表的select权限,否则不能正常定时刷新,手工刷新没有问题,
如果单独执行job会报如下错误:ORA-12011,ORA-06512,并且如果查看警告日志文件中的内容会报如下错误:ORA-12012,ORA-12008
ORA-00942:table or view does not exist,ORA-06512等错误,当时处理该问题时,真没注意ORA-00942这个错误,后来授予select权限后物化视图正常定时刷新,所以权限还真是问题啊。
不过,如果在两个数据库中,使用数据库链路来创建的物化视图,则不需要拥有此表的select权限。
--当用refresh 使用FAST选项创建物化视图,必须创建基于主表的视图日志,并且主表必须有主键,如下:
CREATE MATERIALIZED VIEW LOG ON t;
CREATE MATERIALIZED VIEW f_mv REFRESH FAST START WITH SYSDATE NEXT SYSDATE + 1/1440 WITH PRIMARY KEY AS SELECT * FROM t@dbl;
查看物化视图DDL定义:
set long 999999
set pagesize 1000
select dbms_metadata.get_ddl('MATERIALIZED_VIEW','F_MV') from dual;
还有相关的视图可以查看物化视图的信息:user_mviews,all_mviews,dba_mviews。
相关文章推荐
- 转:oracle物化视图学习笔记
- oracle 物化视图学习
- oracle物化视图学习笔记
- Oracle 学习之性能优化(十一)物化视图
- Oracle物化视图定时全量刷新导致归档日志骤增
- ORACLE物化视图(物理视图)
- Oracle 物化视图
- Oracle 物化视图日志 与 快速刷新 说明
- Oracle的物化视图
- Oracle 物化视图的使用
- oracle技术之oracle利用触发器对物化视图刷新进行定制
- Oracle 物化视图
- oracle 10g 学习之视图、序列、索引、同义词(9)
- Oracle物化视图
- Oracle 物化视图 初始(一)
- Oracle如何根据物化视图日志快速刷新物化视图
- oracle物化视图
- Oracle的物化视图
- 【ORACLE】常用物化视图相关元数据查询语句
- 42.oracle物化视图