物化视图

手动刷新oracle物化视图的方法

南楼画角 提交于 2019-12-04 21:22:13
物化视图创建定时刷新: create materialized view OM_DUTY refresh fast on demand next SYSDATE + 1 / 24 / 60 as select DUTY_ID_, PARENT_DUTY_ID_, DUTY_CODE_, DUTY_NAME_, ORG_LEADER_LEVEL_, ORDER_, STATUS_, CREATION_DATE_, UPDATE_DATE_, OPERATOR_NAME_ from OM_DUTY@OM; 手动刷新语句: BEGIN DBMS_MVIEW.REFRESH ( list => 'OM_DUTY', Method =>'COMPLETE', refresh_after_errors => True); end; 说明: OM_DUTY 为物化视图的名称; Method =>'C',物化视图有三种刷新方式:COMPLETE、FAST和FORCE; 遇到的问题:在执行手动刷新时,报了一个Oracle错误,原因是我的数据库,其中的一个表与物化视图建立外键关系,导致了不手动刷新(更新物化视图时,违反了数据的完整性),所以建立物化后,不要与之建立主外键的关系; 来源: https://www.cnblogs.com/mwd-banbo/p/11884677.html

Oracle物化视图

允我心安 提交于 2019-12-04 15:05:20
Oracle的物化视图提供了强大的功能,可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。 物化视图可以分为以下三种类型:包含聚集的物化视图;只包含连接的物化视图;嵌套物化视图。三种物化视图的快速刷新的限制条件有很大区别,而对于其他方面则区别不大。创建物化视图时可以指定多种选项,下面对几种主要的选择进行简单说明: 创建方式(Build Methods):包括BUILD IMMEDIATE和BUILD DEFERRED两种。BUILD IMMEDIATE是在创建物化视图的时候就生成数据,而BUILD DEFERRED则在创建时不生成数据,以后根据需要在生成数据。默认为BUILD IMMEDIATE。 查询重写(Query Rewrite):包括ENABLE QUERY REWRITE和DISABLE QUERY REWRITE两种。分别指出创建的物化视图是否支持查询重写。查询重写是指当对物化视图的基表进行查询时,Oracle会自动判断能否通过查询物化视图来得到结果,如果可以

ORACLE AUDIT

穿精又带淫゛_ 提交于 2019-12-03 05:16:19
Oracle 作者: Davis_itpub 时间:2018-06-27 16:28:39 61 0 审计(Audit)用于监视用户所执行的数据库操作,并且Oracle 会将审计跟踪结果存放到OS 文件(默认位置为$ORACLE_BASE/admin /$ORACLE_SID/adump/),或数据库(存储在system 表空间中的SYS.AUD$表中,可通过视图dba_audit_trail 查看)中。审计可以提供有用的信息,用于揭示权限的滥用和误用。当需要一定的粒度时,DBA 可以使用细粒度的审计来监控对表中某些行或列的访问,而不仅仅是是否访问表。 在oracle 11g 中,审计功能(AUDIT_TRAIL)是默认开启的。审计数据默认存放SYSTEM 表空间下的AUD$审计字典基表上。开启审计数据库会增加消耗,降低业务性能,因此,如果不是很必要,在安装好数据库后,可适当选择关闭数据库审计功能。 Oracle 公司还推荐使用基于OS 文件的审计日志记录方式(OSaudit trail files),当AUDIT_TRAIL 设置为OS 时,审计记录文件将在AUDIT_FILE_DEST 参数所指定的目录中生成。 一、审计类型 语句审计 按照语句类型审计SQL 语句,而不论访问何种特定的模式对象。也可以在数据库中指定一个或多个用户,针对特定的语句审计这些用户 权限审计

Postgresql - MATERIALIZED VIEW

匿名 (未验证) 提交于 2019-12-03 00:38:01
MATERIALIZED VIEW PG 9.3 版本之后开始支持物化视图。 View 视图: 虚拟,不存在实际的数据,在查询视图的时候其实是对视图内的表进行查询操作。 物化视图: 实际存在,将数据存成一张表,查询的时候对这个表进行操作。物化视图内的数据需要和表的数据进行同步,这就是refresh。 实验环境: CentOS 7 PG 10.4 操作实验: 初始化环境: 创建表,并插入数据 mytest=# create table t1 (id int ,col1 varchar(10),col2 varchar(10)); mytest=# create table t2 (id int ,col3 varchar(10), col4 varchar(10), col5 varchar(10)); mytest=# insert into t1 values (1,'a','b'); ...... mytest=# insert into t2 values (1,'c','d','e'); ...... mytest=# select * from t1; id | col1 | col2 ----+------+------ 1 | a | b 2 | a | b 3 | a | b 4 | a | b 5 | a | b (5 rows) mytest=# select

psql物化视图自动更新

匿名 (未验证) 提交于 2019-12-02 23:42:01
更新物化视图示例 CREATE TABLE model.test ( id SERIAL PRIMARY KEY, name VARCHAR(60) ); . 创建物化视图 CREATE MATERIALIZED VIEW model.test_materialized_view AS SELECT * FROM model.test; . 创建唯一索引,因为 CONCURRENTLY 同步更新需要唯一索引 CREATE UNIQUE INDEX test_materialized_view_index ON model.test_materialized_view(id); . 同步更新,但是需要触发,不能向 oracle 那种可以自动触发更新 REFRESH MATERIALIZED VIEW CONCURRENTLY model.test_materialized_view; . 创建函数执行同步更新和触发器执行函数 create or replace function update_test_materialized_view() returns trigger as $$ declare begin REFRESH MATERIALIZED VIEW CONCURRENTLY model.test_materialized_view; return new; end; $

数据泵导出导入物化视图(ORA-39083)

送分小仙女□ 提交于 2019-12-02 03:19:40
数据泵导出导入物化视图(ORA-39083) 1.1 BLOG 文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ~O(∩_∩)O~ : ① 如何使用数据泵导出和导入物化视图 (重点) ② ORA-39083和 ORA-00942 错误解决 ③ 数据泵的简单使用 ④ parfile 的使用 ⑤ 数据泵生成 dmp 文件中的 DDL 语句 Tips : ① 本文在 itpub ( http://blog.itpub.net/26736162 )、博客园 ( http://www.cnblogs.com/lhrbest ) 和微信公众号( xiaomaimiaolhr ) 上 有同步更新 。 ② 文章中用到的所有代码 、相关软件、相关资料及本文的pdf版本都请前往小麦苗的云盘下载,小麦苗的云盘地址见: http://blog.itpub.net/26736162/viewspace-1624453/ 。 ③ 若网页文章代码格式有错乱, 请 下载 pdf 格式的文档来 阅读 。 ④ 本文适合于初中级人员阅读,数据库大师请略过本文。 ⑤ 不喜勿喷。 本文 若 有错误或不完善的地方请大家多多指正,您的批评指正是我写作的最大动力。 1.2.2 小麦苗课程 小麦苗课堂开课啦,如下是现有的课程