--创建测试表
create table test_dm_rep_m_gw_user
as select * from dm_rep_m_gw_use t where t.month_no<'201304';
--核查确认,当前测试表最大账期为201303账期
SELECT MAX(MONTH_NO) FROM TEST_DM_REP_M_GW_USER;
--创建基于主表的物化视图日志
create materialized view log on test_dm_rep_m_gw_user;
--由于测试表无主键,故在创建基于主表的视图日志时,报如下错误:
ora-12014:table 'test_dm_rep_m_gw_user' does not contain a primary key constraint
--给测试表创建主键,主键创建完毕后按照上面语句创建视图日志
select * from test_dm_rep_m_gw_user;
alter table test_dm_rep_m_gw_user add constraints pk_test_dm_rep_m_gw_user primary key(month_no,prov_id,city_no,kpi_code);
--创建物化视图(对于增量刷新选项,如果在子查询中存在分析函数,则物化视图不起作用)
create materialized view my_test_dm_rep_m_gw_user
refresh fast
start with sysdate next sysdate+2/60 with primary key
as select * from test_dm_rep_m_gw_user;
drop materialized view my_test_dm_rep_m_gw_user;
--确认下物化视图及基表里面的数据记录
select COUNT(*) from dm_rep_m_gw_use t where t.month_no<'201304';
SELECT count(*) from my_test_dm_rep_m_gw_user;
SELECT count(*) from test_dm_rep_m_gw_user;
--向基表中新增加数据记录
insert into test_dm_rep_m_gw_user select * from dm_rep_m_gw_use t where t.month_no='201304';
commit;
--若干时间后,验证物化视图里面数据是否更新
--job测试
--创建一张测试表
create table job_test_01
(
id number(12),
c_date date
)
--创建一个sequence
create sequence g_seq
minvalue 1
maxvalue 999999
start with 22
increment by 1
cache 20;
--创建一个存储过程
create or replace procedure prc_g_test is
begin
insert into job_test_01(g_seq.nextval,sysdate);
end prc_t_test;
--创建job
declare
job number;
begin
sys.dbms_job.submit(job,'prc_g_test;',sysdate,'sysdate+1/1440');
end;
--查看job:4023
select * from user_jobs;
--运行job
begin
dbms_job.run(4023);
end;
--查看测试表里面数据
select * from job_test_01;
相关推荐
物化视图刷新机制是指对物化视图中的数据进行更新的机制。PostgreSQL 提供了两种刷新方式:REFRESH MATERIALIZED VIEW table_name 和 REFRESH MATERIALIZED VIEW CONCURRENTLY table_name。前者会锁住对该物化视图的...
物化视图日志是用于跟踪基表更改的关键组件,以便在刷新时能快速更新物化视图。 此外,还可以通过`CREATE MATERIALIZED VIEW LOG`创建物化视图日志,并使用`DROP MATERIALIZED VIEW LOG`删除日志。`DROP ...
物化视图的定时更新具有一定的灵活性和可控性。你可以根据业务需求设置不同的刷新频率,比如每天一次、每小时一次或者在业务低峰期自动刷新。同时,这种方式也可以避免在数据量大时对数据库造成过多压力,因为更新...
输出的脚本可能包括创建物化视图日志(Materialized View Log)的命令,物化视图日志是快速刷新机制的关键组成部分,它们记录源表的变化,以便物化视图能够追踪和更新。 总之,Oracle数据库中的物化视图是一种强大...
1. ON DEMAND物化视图:这种类型的物化视图只有在用户显式请求刷新时,或者根据预定义的调度(例如通过DBMS_JOB包创建的定时任务)才会更新,以保持与基表数据的一致性。默认情况下,如果在创建物化视图时未指定刷新...
Oracle物化视图是一种在数据库中预先计算并存储视图查询结果的数据对象,它与普通的视图不同,普通视图在查询时动态地基于基表数据生成结果,而物化视图则拥有自己的物理存储,提供了对数据的快速访问。在本篇循序渐...
### ORACLE9I 物化视图 #### 执行概览 随着数据库技术的发展,无论是数据仓库、数据集市还是在线事务处理(OLTP)系统,都承载着大量的等待被发现和理解的信息。然而,在海量数据中及时准确地查找并呈现这些信息...
orace表分区及物化视图 进一步了解oracle表分区技术及物化视图技术应用
物化视图的快速刷新 物化视图是 Oracle 中的一种性能优化技术,它可以将复杂的查询结果存储在一个物化视图中,以便快速地检索数据。物化视图有三种刷新方式:COMPLETE、FAST 和 FORCE。 COMPLETE 刷新方式会删除表...
Oracle 物化视图创建和使用 Oracle 物化视图是一种预先计算并保存表连接或聚集等耗时较多的操作的结果,以提高查询性能。物化视图对应用程序透明,不会影响应用程序的正确性和有效性,但需要占用存储空间。基表发生...
3. **刷新物化视图**:当刷新物化视图时,Oracle会根据每个物化视图的最后刷新时间,从物化视图日志中筛选出适用的记录,并根据这些记录来更新物化视图的内容。 通过这种方式,Oracle不仅能够实现单个物化视图的...
ON DEMAND模式意味着物化视图只在需要时(如用户手动触发或定时任务)进行刷新,以保持与基表数据的一致性。而ON COMMIT模式则更积极,一旦基表中的事务提交,物化视图就会立即刷新,确保数据即时更新。 创建一个ON...
Oracle 物化视图 Oracle 物化视图是数据库对象,存储远程表的数据副本,也可以称为快照。物化视图可以查询表、视图和其他物化视图。通常情况下,物化视图被称为主表(在复制期间)或明细表(在数据仓库中)。 创建...
真正值得一看的mysql知识。MySQL中实现物化视图(中文版)翻译于外文。
#### 三、物化视图的创建示例及解释 下面通过具体的步骤来展示如何创建和使用物化视图。 ##### 示例1:创建ONDEMAND物化视图 1. **创建表**: ```sql CREATE TABLE test1 (ID NUMBER PRIMARY KEY, NAME VARCHAR...
### 物化视图在Oracle数据仓库中的应用与优化 #### 一、引言 在当今数据驱动的时代背景下,企业越来越依赖于数据仓库来进行决策支持系统(DSS)的构建,以便更好地理解业务趋势并做出战略性的分析。数据仓库的设计...
物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建
### 创建物化视图ORA-12014错误解决方法 #### 背景介绍 在Oracle数据库中,物化视图(Materialized View)是一种用于优化查询性能的重要工具。它预先计算并存储了复杂的查询结果,从而在实际查询时能够快速地返回...
Doris 物化视图和索引的典型应用案例 Doris 是一个开源的分布式分析型数据库,旨在帮助用户快速处理海量数据,提供了物化视图和索引等功能,以提高查询性能和数据的一致性。下面将详细介绍 Doris 的物化视图和索引...