我有点理解物化视图,并且之前曾与他们合作过。最近出现了一个问题,即为什么特定报告没有显示最新数据,所以我调查了这个问题。显然,他们之前有一个临时表,其中装有crontab,后来又切换到了物化视图。

当我使用以下查询查询数据库时(表名已更改):

SELECT * FROM all_objects WHERE object_name = 'TEMP_DATA';

这实际上在同一模式中显示了两个对象:一个表和另一个物化视图

OWNER   OBJECT_NAME  OBJECT_TYPE        DATA_OBJECT_ID  LAST_DDL_TIME     TIMESTAMP

SCHEMA  TEMP_DATA    TABLE                      110623  08/06/2013 15:38  2013-08-06:14:53:01

SCHEMA  TEMP_DATA    MATERIALIZED VIEW                  10/30/2015 00:00  2013-08-06:14:56:33

而且,当我尝试更改表以重命名它时,它表示无法重命名实例化视图。

我的问题是,物化视图是否实际上创建了具有相同名称的表,如果是,当我执行SELECT时,数据从何处来(表或MView)?

还是仅仅是早期的剩余表?如果是这样,Oracle是否允许使用相同名称的不同类型的对象? (我真的为此感到难过,因为我认为每个对象都必须有一个唯一的名称!)。

奇怪的是,如果它们是2个对象,则在下面的SQL中使用哪个对象:

SELECT * FROM TEMP_DATA;

任何对此的见解,深表感谢。

根据@Alex和@Husqvik的响应进行更新:

在Mview定义中,我看到以下内容:

BUILD IMMEDIATE

REFRESH COMPLETE

START WITH TO_DATE('06-Nov-2015','dd-mon-yyyy')

NEXT trunc(sysdate) + 1

WITH PRIMARY KEY

这是否意味着它应该每天(明天在此更新)?明天刷新后,START WITH会更改为11月11日吗?

而且,它会自动刷新吗?如果是,何时刷新?

是否有任何事情会阻止它刷新,因为用户抱怨使用此MView在报表中看不到最新数据,所以这就是为什么我首先要看它的原因?

这是MView的完整DDL:

DROP MATERIALIZED VIEW SCHEMA.TEMP_DATA;

CREATE MATERIALIZED VIEW SCHEMA.TEMP_DATA

TABLESPACE ITS_DATASPACE

PCTUSED    0

PCTFREE    10

INITRANS   2

MAXTRANS   255

STORAGE    (

INITIAL          64K

NEXT             1M

MINEXTENTS       1

MAXEXTENTS       UNLIMITED

PCTINCREASE      0

BUFFER_POOL      DEFAULT

)

NOCACHE

LOGGING

NOCOMPRESS

NOPARALLEL

BUILD IMMEDIATE

REFRESH COMPLETE

START WITH TO_DATE('06-Nov-2015','dd-mon-yyyy')

NEXT trunc(sysdate) + 1

WITH PRIMARY KEY

AS

/* Formatted on 2015/11/05 09:35 (Formatter Plus v4.8.8) */

SELECT *

FROM SCHEMA.h_case_data

WHERE status LIKE 'M%';

COMMENT ON MATERIALIZED VIEW SCHEMA.TEMP_DATA IS 'snapshot table for snapshot SCHEMA.TEMP_DATA';

CREATE INDEX SCHEMA.CASE_ID_IDX ON SCHEMA.TEMP_DATA

(CASE_ID)

LOGGING

TABLESPACE ITS_DATASPACE

PCTFREE    10

INITRANS   2

MAXTRANS   255

STORAGE    (

INITIAL          64K

NEXT             1M

MINEXTENTS       1

MAXEXTENTS       UNLIMITED

PCTINCREASE      0

BUFFER_POOL      DEFAULT

)

NOPARALLEL;

CREATE INDEX SCHEMA.STATUS_IDX ON SCHEMA.TEMP_DATA

(STATUS)

LOGGING

TABLESPACE ITS_DATASPACE

PCTFREE    10

INITRANS   2

MAXTRANS   255

STORAGE    (

INITIAL          64K

NEXT             1M

MINEXTENTS       1

MAXEXTENTS       UNLIMITED

PCTINCREASE      0

BUFFER_POOL      DEFAULT

)

NOPARALLEL;

从文档中:

When you create a materialized view, Oracle Database creates one internal table and at least one index, and may create one view, all in the schema of the materialized view. Oracle Database uses these objects to maintain the materialized view data.

因此,具有相同名称的表和实例化视图是正常的。 MV需要将数据存储在某个地方,因此拥有一个表是有意义的。然后,MV本身定义如何维护表数据。

您可以使用ON PREBUILT TABLE子句在现有表上创建视图,我假设这是"它们之前有一个临时表...并在以后切换到实体化视图"的意思。

您还可以使用DROP MATERIALIZED VIEW ... PRESERVE TABLE选项进行另一种选择,该选项将基础表留在后面。

当您SELECT * FROM TEMP_DATA;时,您正在查询基础表,但是区别并不重要,因为它们是指相同的组合对象。

根据稍后要添加到问题中的定义,它将在每天午夜刷新。

Oracle不会仅由于实例化视图而创建任何索引。

@Husqvik-我只是引用文档* 8-)12c版本仍然说同样的话。但是,并非总是如此。如果您指定refresh with rowid,我认为。

感谢Alex和Husqvik的快速响应。在Mview定义中,我看到以下内容:

现在,我对MView有所了解,还有其他一些问题。如果可以的话,能否请您多一点帮助?抱歉,我的评论过长,因此我更新了原来的问题。谢谢你俩!

@SamV-它将每天在午夜刷新。您是今天重新创建的吗?如果是,您是否有以前的定义?可能已经[更改]()进行了手动刷新吗?否则,您是否可以在视图中查看样本数据以与报表进行比较-可能是旧报表,而报表本身的创建存在问题。只是一个想法。

@AlexPoole,您是对的,可能是报告。我检查了数据和工作,MV似乎正确刷新了。我把它交给细节工作的人。 (我只是被拖进去做挖掘)。让我们离开的是曾经有一个具有相同名称和加载脚本的真实表的东西,但是有人(无声地)切换到MV并忘记了!今天早上我有一个旧的Shell脚本和一个crontab问题,最后以MV结尾!那个all_objects查询真是太棒了!现在是他们的问题!但是,一定要在这里学到一些!谢谢!

有两个架构对象。实体化视图实际上是一个表。物化视图对象包含有关刷新模式,类型,方法和其他属性的元数据。如果检查ALL_OBJECTS,您会看到MATERIALIZED VIEW对象没有其段。数据字典确保您不能将基础表视为普通表,否则它可能破坏这些耦合对象之间的一致性。

您还可以在预建表的顶部创建实例化视图。

更新:

START WITH将在每次刷新时更新。创建或刷新视图时,将评估NEXT START。

如果数据库中通常会发生任何错误,则刷新可能会失败。 g,空间不足,锁定超时,查询基础对象的更改。

谢谢!我仍然对如何开始刷新感到the恼。我现在看到了。 SELECT log_user,last_date,next_date,INTERVAL,从dba_jobs那里取什么schema_user = SCHEMA; LOG_USER LAST_DATE NEXT_DATE间隔SCHEMA 11/05/2015 00:00:03 11/06/2015 00:00:00 trunc(sysdate)+ 1 dbms_refresh.refresh(" SCHEMA"。" TEMP_DATA");再次非常感谢。我今天学到了一些东西!

oracle max相同,关于oracle:具有相同名称的材料化视图和表相关推荐

  1. MIT oracle ma 信号线,美国 MIT Oracle MA-X Phono唱臂线 独家Multipole技术

    提到发烧线材,来自美国成立于1984年的MIT自然是不可错过的重点品牌,这次要介绍的是该品牌旗下顶级Oracle MA-X Phono唱臂线! 原厂特别强调Oracle MA-X Phono内所使用的 ...

  2. oracle max clob,oracle clob字段无法用yugong做同步

    您好: 我使用yugong做oracle到oracle的同步时,发现含clob字段的表无法进行数据同步. 以下就是我们运行时候的报错,麻烦帮忙解决下. [oracle@dell-oracle GDSI ...

  3. oracle awr 数据删除,Oracle AWR 删除历史快照 说明【转自dave偶像大神】

    http://blog.csdn.net/tianlesoftware/article/details/17286523 一. AWR 概述 之前整理过一篇AWR 的说明的文档: Oracle AWR ...

  4. oracle如何规则显示,Oracle语句优化规则汇总

    Oracle sql 性能优化调整 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置 ...

  5. oracle编程题考试题,oracle考试题

    Oracle基础测试试卷 姓名:学校/专业: 成绩: 一.选择题(20题,共60分) 1.Oracle数据库中为新创建的表分配的初始空间通常为多大?( B ) A.一个块 B.一个区 C.一个段 D. ...

  6. oracle linux7.9安装 Oracle Enterprise Manager Cloud Control13.5

    本章介绍如何在使用现有的.经过认证的 Oracle 数据库来存储 Oracle 管理信息库(管理信息库)的同时安装新的企业管理器系统. 安装软件下载 Oracle Enterprise Manager ...

  7. oracle goldengate学习笔记,Oracle GoldenGate 学习教程

    二.配置和使用 阅读导航 配置和使用GoldenGate的步骤 1 配置数据库支持GoldenGate 1.1 OGG用户和权限分配 1.2 数据库附加日志 1.2.1 数据库级别的附加日志 1.2. ...

  8. 如何在oracle数据库创建序列,Oracle创建和使用序列

    Oracle创建和使用序列 1 语法 create sequence 序列名称 2 创建序列 SQL> create sequence emp_seq; Sequence created. 序列 ...

  9. oracle数据库函数mod,oracle数据库常用函数

    1.看当前数据库的名字 select name from v$database 2.查看当前数据库实例名 select instance_name from v$instance show param ...

最新文章

  1. (七十九)MapKit的基本使用
  2. Windows Phone 7范例游戏Platformer实战5——多点触控编程
  3. linux nginx漏洞修复,nginx-1.14.1 和 nginx-1.15.6 发布,修复HTTP/2和MP4模块中的漏洞
  4. 《算法设计与分析基础》Chapt 2 算法效率分析基础
  5. javaweb学习总结(三十八)——事务
  6. 智宇科技 ZYARJX-1机械臂智能小车 —— PS2游戏手柄控制程序
  7. 数据库和Webapp安全
  8. python 隐马尔科夫_机器学习算法之——隐马尔可夫(Hidden Markov ModelsHMM)原理及Python实现...
  9. 纯css页面变灰度兼容ie、firefox、chrome、opera、safari
  10. mysql 批量数据导入报错_Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA
  11. Android 8.0学习(8)---内核文件系统优化
  12. 关于vue2.0+hbuilder打包移动端app之后空白页面的解决方案
  13. 网站建设php的心得和体会,网页设计心得体会
  14. Python第四课:input()函数
  15. 拓嘉启远电商:拼多多缺货会降权吗?如何处理
  16. TimestampUtil时间处理工具类
  17. 收藏:更换手机号必做的9件事
  18. 小微企业都在用的一体化管理解决方案
  19. 【每日一趣】老王的烦恼
  20. MacAppStore的魅力4点

热门文章

  1. android手机定时截屏软件,手机截图软件哪个好 安卓手机长截图
  2. mysql中find_in_set()函数的使用和排序,且与in(),like()的比较详解
  3. Win7 BitLocker加密须了解的五件事
  4. H265/HEVC编解码系列(1):图像分割(Slice、Tile、CTU)
  5. 职业规划系列文章之一
  6. python把英语句子成分字母_(完整版)英语句子成分分析大全
  7. iOS 7 Sprite Kit游戏——探险
  8. 蓝桥杯迷宫 python实现
  9. 敏捷开发:5种主流开发方法介绍
  10. 程序员吃的是青春饭么?