首页 > 数据库 >oracle 对物化视图的使用中遇到问题

oracle 对物化视图的使用中遇到问题

时间:2023-09-07 15:24:24浏览次数:36  
标签:10 -- REFRESH 物化 MVIEW 视图 oracle

1.建立一个简单的物化视图

create table student_info (
  sno         number(10) constraint pk_si_sno primary key,
  sname       varchar2(10),
  sex         varchar2(2),
  create_date date
);
CREATE MATERIALIZED VIEW mv_student_info 
BUILD IMMEDIATE
REFRESH FORCE
ON DEMAND
START WITH SYSDATE
NEXT SYSDATE + 3/144
AS
SELECT * from student_info

创建一个按照时间收集的物化视图

SQL> SELECT MVIEW_NAME,
        LAST_REFRESH_DATE "START_TIME",
        FULLREFRESHTIM,
        INCREFRESHTIM ,
        REFRESH_METHOD,
        SUMMARY       ,
        INC_REFRESHABLE,
        INVALID       ,
        REWRITE_ENABLED 
FROM ALL_MVIEW_ANALYSIS
  WHERE OWNER='LBCDBA'
ORDER BY LAST_REFRESH_DATE DESC;  2    3    4    5    6    7    8    9   10   11   12  

MVIEW_NAME                                                   START_TIME
------------------------------------------------------------ ------------
FULLREFRESHTIM INCREFRESHTIM REFRESH_METHOD   SU IN IN RE
-------------- ------------- ---------------- -- -- -- --
MV_STUDENT_INFO                                              07-SEP-23
             0             0 FORCE            N  Y  N  N

查看物化视图的状态,发现物化视图是可用的,

执行insert 数据

insert into lbcdba.student_info (sno, sname, sex, create_date)
values (10, '王五', 'n', sysdate);

在查看物化视图的状态

SQL> SELECT MVIEW_NAME,
        LAST_REFRESH_DATE "START_TIME",
        FULLREFRESHTIM,
        INCREFRESHTIM ,
        REFRESH_METHOD,
        SUMMARY       ,
        INC_REFRESHABLE,
        INVALID       ,
        REWRITE_ENABLED 
FROM ALL_MVIEW_ANALYSIS
  WHERE OWNER='LBCDBA'
ORDER BY LAST_REFRESH_DATE DESC;  2    3    4    5    6    7    8    9   10   11   12  

MVIEW_NAME                                                   START_TIME
------------------------------------------------------------ ------------
FULLREFRESHTIM INCREFRESHTIM REFRESH_METHOD   SU IN IN RE
-------------- ------------- ---------------- -- -- -- --
MV_STUDENT_INFO                                              07-SEP-23
             0             0 FORCE            N  Y  Y  N

发现物化视图变为不可用了,

SQL> /

OBJECT_NAME          STATUS         OBJECT_TYPE
-------------------- -------------- --------------------------------------
MV_STUDENT_INFO      VALID          TABLE
MV_STUDENT_INFO      INVALID        MATERIALIZED VIEW

并且查看dba_objects 也是不可用状态

ORACLE 认为只有当物化视图正在运行时候才是可用的,如果设置了一天或者比较长时间的时间间隔运行物化视图会变成不可用,这是预期行为,那么如何判断物化视图是否可用呢?

 

标签:10,--,REFRESH,物化,MVIEW,视图,oracle
From: https://www.cnblogs.com/dbahrz/p/17685008.html

相关文章

  • DM DTS 工具教程:从 Oracle 迁移到 DM
    DMDTS工具教程:从Oracle迁移到DM请下载参考DMDBA手记之ORACLE移植到DM,内含更为详细的介绍和说明。迁移环境软件版本源数据库Oracle11g目标数据库DM8操作系统Windows10迁移工具DM数据迁移工具(DMDTS)迁移过程第一步:新建工程与迁移第二步:选择迁移方式第三步:选择数据......
  • sqlserver移植为Oracle笔记(更新,新增字段名;批量新增记录;日期查询;截取字串函数)
    下面是这两天在项目要sqlserver和oracle兼容的改造中测试出来的笔记:--sqlserver--更改主键字段名'ID'为'ID_'sp_rename  'tb_doc_cat_statistic.ID','ID_','column'--新增字段cat_codealtertabletb_doc_cat_statisticaddcat_codevarchar(100) --oracle--......
  • oracle与sqlserver执行count(*)返回的结果兼容
    由于以前都是在sqlserver2005处理,现在客户要求oracle数据库服务器,最初的代码为:allRecordSize=(Integer)rs1.getObject(1);//IntegerallRecordSize=0;当执行的时候报:BigDecimal无法转化为Integer类型为了兼容两者修改后的代码为:Objecto=rs1.getObject(1);System.out.......
  • oracle与sqlserver插入数据动态字段值
    记录一下以备下次快速找到。。。      往tb_wf_privgrant表中插入一条记录,workflow_id字段值从tb_wf_workflow表中获取workflow_name='知识审核'的所有记录中workflow_id最大值。--oracledeclare  aNUMBER(10);  begin  select max(workflow_id)intoafromt......
  • zabbix+oracle环境部署
    oracle11安装完成后,实例名:zbx01oracle创建zbx01用户:colfile_namefora60;setlinesize160;selectfile_name,tablespace_name,bytesfromdba_data_files; createtablespaceZBX01datafile'/u01/oracle/oradata/zbx01/zbx01.dbf'size5gautoextendon; CREATEU......
  • Oracle利用 DBMS_PROFILER 包来分析PL/SQL瓶颈
     Oracle利用DBMS_PROFILER包来分析PL/SQL瓶颈 在Oracle10g版本之前,默认情况下不会安装 DBMS_PROFILER包,此次演示版本为11.2.0.4.0,默认已经安装。安装 DBMS_PROFILER包方式如下:sqlplus/assysdbadescdbms_profiler--不存在则通过下面的方式创建@?/rdbms/......
  • oracle创建表空间用户,导入导出dmp备份库
    数据导出:1将数据库TEST完全导出,用户名system密码manager导出到D:\daochu.dmp中   exp file=d:\daochu.dmpfull=y2将数据库中system用户与sys用户的表导出   exp file=d:\daochu.dmpowner=(system,sys)3将数据库中的表inner_notify、notify_staff_re......
  • Oracle概念
    Oracle概念基本概念数据库Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。实例一个Oracle实......
  • Unity UGUI的ScrollRect(滚动视图)组件的介绍及使用
    UnityUGUI的ScrollRect(滚动视图)组件的介绍及使用1.什么是ScrollRect组件?ScrollRect(滚动视图)是UnityUGUI中的一个常用组件,用于在UI界面中创建可滚动的区域。通过ScrollRect组件,可以实现在有限的空间内显示大量的内容,并且可以通过滑动手势来浏览内容。2.ScrollRect组件的工作......
  • DRF----限流、序列化、视图、条件搜索
    1.4djangorestframework(中)drf内置了很多便捷的功能,在接下来的课程中会给大家依次讲解下面的内容:快速上手请求的封装版本管理认证权限限流序列化视图条件搜索分页路由解析器 6.限流限流,限制用户访问频率,例如:用户1分钟最多访问100次......