- 浏览: 286228 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (208)
- Oracle (21)
- webservice (7)
- java (33)
- java序列化反序列化 (0)
- weblogic (4)
- ajaxFileUpload (2)
- uploadify (1)
- jquery (7)
- MAXIMO (4)
- smartgit (1)
- css (3)
- POI (1)
- photoshop (0)
- linux (1)
- highchart 动态添加数据 (0)
- highchart (5)
- json (7)
- spring (11)
- maven (10)
- app (7)
- ASCII (1)
- mysql (26)
- excel (1)
- tomcat (3)
- bootstrap (1)
- ztree (2)
- dubbo (4)
- nginx (5)
- hadoop (3)
- osgi (3)
- ext (2)
- cxf (4)
- hibernate (1)
- 协议 (1)
- axis2 (1)
- javascript (2)
- vue (2)
- EhCache (2)
- Quartz (1)
- sqlite (1)
- saas (0)
- ionic (1)
- developer (1)
- maven 常用命令 (1)
- eclipse (1)
- mac (2)
- mongoldb (1)
- svn (1)
最新评论
-
wyb243:
大家千万不要按照这个写!!!PreparedStatement ...
JdbcTemplate插入后获取自增ID -
北雁南飞33:
有源码分享吗
自定义分页标签结合spring mvc、bootstrap、mybatis、mysql的使用 -
xcg992224:
大哥 不需要手动调用回收 是你在for的里面不应该每次都去ne ...
Java 垃圾回收测试
物化视图等价于数据的快照,可以使对视图的查询速度提升1个数量级以上,同时还可以在物化视图中建立索引,使查询速度进一步得以优化。
物化视图与数据的同步可设置为on commit和on demand,缺省为on demand。on commit可以在数据发生变化时及时更新数据,但对视图要求太多,包
含非主键join及稍微复杂一些的计算就无法使用,而且日志表配置稍有错误就会导致系统问题,风险颇高。
仅处于对历史数据查询的要求,可以考虑使用任务计划对视图进行完整更新,通过资源消耗换取实现的简易性和系统的稳定性。
建立完全更新的视图需要用户具有connect、resource和create materialized view权限,如果需要激活query rewrite,还需要授予global query
writer权限(或针对涉及的表单独授权)。以dba身份进行授权:
grant connect to test;
grant resource to test;
grant create materialized view to test;
grant global query rewrite to test;
建立测试用的基础表
create table person(id int primary key, name varchar(50), deptid int not null);
create table dept(id int primary key, name varchar(50));
插入测试数据
insert into person (id, name, deptid) values( 1, '用户1', 100);
insert into person (id, name, deptid) values( 1, '用户2', 101);
insert into dept (id, name) values( 100, '测试部门1');
insert into dept (id, name) values( 101, '测试部门2');
建立物化视图
create materialized view test_mview
refresh complete
start with sysdate
next sysdate + 1/1440
as
(
select p.id as pid, p.name as name, d.name as deptname
from person p, dept d
where
d.id = p.deptid
)
这里test_mview为物化视图的名字
refresh complete表示每次都删除掉所有记录重新生成
start with sysdate表示从当前执行时间开始执行数据记录生成
next定义下次执行时间
sysdate+1/1440表示当前执行时间之后1分钟进行下次更新(1440 = 24 x 60)
as 后的部分定义构成视图的sql
最好是自己手动创建以下,然后测试下结果比较实用
oracle在执行完更新后将重新计算当前时间和下次更新时间,因此以上的语法定义了一个每分钟更新一次的视图。
自动刷新是由oracle的任务计划执行,需要确认oracle中job_queue_processes的值大于0,否则将无法激活任务计划。
alter system set job_queue_processes=5;
物化视图与数据的同步可设置为on commit和on demand,缺省为on demand。on commit可以在数据发生变化时及时更新数据,但对视图要求太多,包
含非主键join及稍微复杂一些的计算就无法使用,而且日志表配置稍有错误就会导致系统问题,风险颇高。
仅处于对历史数据查询的要求,可以考虑使用任务计划对视图进行完整更新,通过资源消耗换取实现的简易性和系统的稳定性。
建立完全更新的视图需要用户具有connect、resource和create materialized view权限,如果需要激活query rewrite,还需要授予global query
writer权限(或针对涉及的表单独授权)。以dba身份进行授权:
grant connect to test;
grant resource to test;
grant create materialized view to test;
grant global query rewrite to test;
建立测试用的基础表
create table person(id int primary key, name varchar(50), deptid int not null);
create table dept(id int primary key, name varchar(50));
插入测试数据
insert into person (id, name, deptid) values( 1, '用户1', 100);
insert into person (id, name, deptid) values( 1, '用户2', 101);
insert into dept (id, name) values( 100, '测试部门1');
insert into dept (id, name) values( 101, '测试部门2');
建立物化视图
create materialized view test_mview
refresh complete
start with sysdate
next sysdate + 1/1440
as
(
select p.id as pid, p.name as name, d.name as deptname
from person p, dept d
where
d.id = p.deptid
)
这里test_mview为物化视图的名字
refresh complete表示每次都删除掉所有记录重新生成
start with sysdate表示从当前执行时间开始执行数据记录生成
next定义下次执行时间
sysdate+1/1440表示当前执行时间之后1分钟进行下次更新(1440 = 24 x 60)
as 后的部分定义构成视图的sql
最好是自己手动创建以下,然后测试下结果比较实用
oracle在执行完更新后将重新计算当前时间和下次更新时间,因此以上的语法定义了一个每分钟更新一次的视图。
自动刷新是由oracle的任务计划执行,需要确认oracle中job_queue_processes的值大于0,否则将无法激活任务计划。
alter system set job_queue_processes=5;
发表评论
-
oracle修改端口
2017-09-24 12:39 685windows下修改oracle端口,绝对有用 https ... -
Oracle中查看游标和缓存
2015-07-27 11:49 19121、Oracle查看当前打开的游标数目 SQL& ... -
ORACLE截取字符串汇总
2015-06-23 20:21 1664oracle 截取字符(substr),检索字符位置(inst ... -
测试Oracle最大连接数
2015-06-16 15:54 801package com.jxtech; import ja ... -
ORACLE查看与某张表相关的存储,触发器,视图等
2015-06-04 17:01 1419SELECT * FROM user_source ... -
Oracle-常用监控SQL
2015-05-26 11:12 466Oracle-常用监控SQL 1. ... -
Oracle创建视图view错误ORA-01031: 权限不足
2015-05-26 11:03 7670create or replace view REPORT ... -
oracle 查询最近执行过的 SQL语句
2015-05-20 12:50 1550oracle 查询最近执行过的 SQL语句 selec ... -
oracle常用函数
2015-05-14 18:21 5431、oracle多行合并成一行 select col1,w ... -
查看oracle数据库的连接数以及用户
2015-05-12 11:15 14661、查询oracle的连接数 select count(*) ... -
Oracle 限制特定用户连接数
2015-04-22 09:10 41311 查询限制功能是否开 ... -
Oracle记录锁管理
2015-04-22 09:09 671查询用户锁 select b.username, ... -
ORCLE中例如1.11.123排序
2015-04-07 10:34 540create or replace function num_ ... -
ORACLE WHERE DECODE
2015-04-02 16:03 927在oracle中,where条件中使用decode函数 sp ... -
oracle的split函数
2015-04-02 15:50 1077PL/SQL 中没有split函数,需要自己写。 代码: ... -
Oracl使用通配符搜索报DRG-10599: 列没有编制索引
2014-12-29 15:12 2460使用通配符对某表进行查询时报如下错误 java.sql.SQ ... -
ORACLE索引所有SQL导出
2014-12-29 14:23 1211SELECT INDEX_NAME, table ... -
PL/SQL DEVELOPER ORACLE创建定时调度job
2011-12-06 17:39 7160创建oracle调度job 右键“new”弹出 Sub ... -
存储过程中创建和删除表,并执行表空间
2011-12-06 17:33 1614create or replace procedure myt ... -
create table xx as select * from XXXX 指定表空间
2011-12-06 10:28 3453create table pw_test_jbpm_task ...
相关推荐
本文主要研究 Oracle 物化视图增量刷新的应用,揭示了快速刷新技术在实际应用中的重要性。快速刷新采用增量刷新机制,基于日志挖掘原理,所有的刷新动作都是通过基表的物化视图日志来实现。快速刷新可分为自动刷新及...
`DROP MATERIALIZED VIEW`命令用于删除物化视图,而`DBMS_MVIEW.REFRESH`过程则用于手动刷新物化视图。 物化视图与索引有类似之处,都是为了提升查询效率,但物化视图更侧重于计算结果的存储。同时,物化视图对应用...
接着,我们执行DBMS_MVIEW.REFRESH过程来刷新物化视图,使其包含与基表T相同的数据。刷新完成后,物化视图MVT中将包含与表T相同数量的记录,且两者具有相同的结构。 物化视图的刷新是其核心功能之一,分为完整刷新...
在Oracle数据库中,物化视图有两种刷新策略:ON DEMAND和ON COMMIT。ON DEMAND模式意味着物化视图只在需要时(如用户手动触发或定时任务)进行刷新,以保持与基表数据的一致性。而ON COMMIT模式则更积极,一旦基表中...
- **ON COMMIT**:在基表上执行DML操作并提交后立即刷新物化视图。 - **刷新方法**: - **FAST**:增量刷新,仅刷新自上次刷新以来的修改。 - **COMPLETE**:完全刷新,重新计算整个物化视图。 - **FORCE**:...
- `ON COMMIT`:在每次对基表的DML操作提交时立即刷新物化视图。 - `ON DEMAND`:根据需要手动触发刷新。 - `ON PROcedURE`:通过指定的存储过程来刷新物化视图。 - `FAST`、`COMPLETE`、`BEGIN`、`FORCE`和`NEVER`...
1. ON DEMAND物化视图:这种类型的物化视图只有在用户显式请求刷新时,或者根据预定义的调度(例如通过DBMS_JOB包创建的定时任务)才会更新,以保持与基表数据的一致性。默认情况下,如果在创建物化视图时未指定刷新...
`ON DEMAND`意味着物化视图在用户需要时才进行刷新,可以手动或定时通过DBMS_MVIEW.REFRESH等过程触发。`ON COMMIT`则是在对基表的DML操作提交时同步刷新。刷新方法包括`FAST`、`COMPLETE`、`FORCE`和`NEVER`,其中`...
一旦创建,物化视图会立即执行查询并将结果存储在物理表中。当基础数据发生变化时,可以通过手动或自动的方式更新物化视图。手动更新需要用户触发更新操作,而自动更新则需要数据库管理系统支持物化视图的自动刷新...
3. **数据刷新策略**:Oracle提供了多种刷新物化视图的策略,包括快速刷新(fast refresh)、完整刷新(complete refresh)和强制刷新(force refresh)。快速刷新依赖于主表的日志,可以仅更新自上次刷新以来发生...
3. 数据同步:利用物化视图日志记录的信息,定期或实时地刷新物化视图,将源数据的变化同步到目标数据库。 4. 确保一致性:通过设置触发器或定时任务,确保在源数据发生变化时,物化视图能及时得到刷新,维持数据...
本配置指导书主要针对Oracle高级复制中的物化视图,旨在帮助用户理解并成功配置物化视图,以满足在实际应用中的需求。 首先,配置物化视图之前,需要进行一些基础的准备工作。这包括检查和调整数据库的初始化参数。...
3. 刷新物化视图以保持与源数据的一致性,这可以是自动或手动的。 4. 使用物化视图进行查询,就像查询普通的表一样。 在实际应用中,物化视图可以显著改善那些频繁执行的复杂查询的性能。例如,一个包含多个表连接...
通过创建物化视图日志,数据库可以跟踪源表上的DML操作,以便在刷新物化视图时使用这些信息。创建物化视图日志的语法类似于: ```sql CREATE MATERIALIZED VIEW LOG ON t1 WITH PRIMARY KEY INCLUDING NEW ...
本文主要探讨了如何利用Oracle数据库中的物化视图技术和逻辑备份工具`exp`来实现生产库个别表的实时数据刷新与备份。这种方法不仅能够确保数据的安全性,还能满足实时性需求,适用于那些对数据新鲜度有较高要求的...
同时,配置物化视图的刷新策略,可以是定时刷新或基于触发器的即时刷新。 4. **物化视图的同步**:物化视图的更新可以通过两种方式实现:实时(即物化视图日志)和批量(定时任务)。实时更新能够保证数据的高一致...
物化视图的更新可以是即时的(即,当源数据更改时立即更新)或按计划的(定时刷新)。这种技术在大数据环境和实时分析中尤为重要,因为它可以显著降低延迟,提供更快的查询响应时间。 Oracle的数据仓库解决方案还...
- Oracle提供了SQL命令来创建、管理和刷新物化视图,如`CREATE MATERIALIZED VIEW`,`REFRESH MATERIALIZED VIEW`等。 - 另外,还可以利用Oracle Data Guard、GoldenGate等工具实现更复杂的数据复制和物化视图管理...
物化视图的刷新可以是手动的,也可以设置为自动定时刷新,以保持数据的实时性。 总的来说,Oracle视图是数据库设计和管理中非常实用的工具,通过合理利用视图,可以提高数据查询的效率,保护数据安全,并简化应用...