天萃荷净

分享一篇关于Oracle物化视图 on prebuilt table故障常见解决办法,包含:ORA-12059,ORA-23413,ORA-12058三种错误的解决方式

1、ORA-12059

执行语句:

CREATE MATERIALIZED VIEW mv_t2

on prebuilt TABLE

AS

SELECT * FROM SCOTT.emp

错误提示:

ORA-12059: prebuilt table “CHF”.”MV_T2″ does not exist

错误原因:

物化视图对应的表不存在(物化视图需要和表同名,结构相同)

解决方法:

CREATE TABLE mv_t2 AS

SELECT * FROM scott.emp WHERE 1=0;

2、ORA-23413

执行语句:

CREATE MATERIALIZED VIEW mv_t2

on prebuilt TABLE

WITH REDUCED PRECISION

refresh FAST on demand

AS

SELECT * FROM SCOTT.emp

错误提示:

ORA-23413: table “SCOTT”.”EMP” does not have a materialized view log

错误原因:

使用fast模式刷新物化视图,需要有物化视图日志

解决方法:

1)创建物化视图日志

CREATE MATERIALIZED VIEW LOG ON scott.emp ;

2)刷新模式改为force,其实实质是采用了complete刷新模式

3、ORA-12058

执行语句(mv log是基于rowid,表无主键)

CREATE MATERIALIZED VIEW mv_t2

on prebuilt TABLE

WITH REDUCED PRECISION

refresh FAST on DEMAND

WITH ROWID

AS

SELECT * FROM SCOTT.emp

错误提示:

ORA-12058: materialized view cannot use prebuilt table

错误原因:

fast刷新模式不能基于rowid进行

解决方法:

1)删除mv log,表添加主键,采用基于主键模式重新建mv log和物化视图

DROP MATERIALIZED VIEW mv_t1;

ALTER TABLE mv_t2 ADD PRIMARY KEY (EMPNO);

CREATE MATERIALIZED VIEW LOG ON scott.emp;

CREATE MATERIALIZED VIEW mv_t2

on prebuilt TABLE

WITH REDUCED PRECISION

refresh FAST on DEMAND

–WITH ROWID

AS

SELECT * FROM SCOTT.emp;

2)刷新模式改为force,其实实质是采用了complete刷新模式

4、总结

1)在执行创建物化视图之前,需要先创建同名、同结构表

2)如果使用fast模式刷新(疑惑在线重定义可以通过rowid实现,为什么直接通过物化视图就不可以),物化视图同表需要主键,需要物化视图日志

3)通过drop mv,发现同名表还存在,和on prebuilt table本质区别

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之【案例】Oracle物化视图 on prebuilt table故障常见解决办法

oracle 物化视图 on demand,【案例】Oracle物化视图 on prebuilt table故障常见解决办法...相关推荐

  1. 12 c for. oracle rac,【案例】Oracle RAC FOR AIX搭建执行root.sh时两次报错的解决办法

    天萃荷净 运维DBA反映在aix 5.3 ml6安装10.2.0.1 rac报错0509-036 Cannot load program crsctl.bin because of the follo ...

  2. [Oracle] “表中有数据,但select count(*)的结果为0”问题的解决办法

    [Oracle] "表中有数据,但select count(*)的结果为0"问题的解决办法 参考文章: (1)[Oracle] "表中有数据,但select count( ...

  3. cmd使用另一个Oracle的sid,(转发备用)Oracle SID在本机上已经存在,请指定一个不同的SID”的解决办法...

    (转发备用)Oracle SID在本机上已经存在,请指定一个不同的SID"的解决办法 (2014-04-30 10:57:17) 1. 开始->设置->控制面板->管理工具 ...

  4. oracle 增加ora容量_案例:Oracle报错ORA-01144 详解数据文件大小32GB的限制的原因

    天萃荷净 Oracle数据文件大小的限制,运维DBA在向Oracle数据库添加一个32G的数据文件的时候报错ORA-01144,分析原因为数据库针对文件有32G限制 1.添加数据文件报错ORA-011 ...

  5. oracle等待资源时间加长,案例:Oracle等待事件latch: cache buffers chains故障优化处理总结...

    天萃荷净 数据库的CPU使用率为100%,应用相应迟缓.查看AWR中数据库的latch:cache buffers chains等待较多 当一个数据块读入sga区,相应的buffer header会被 ...

  6. oracle恢复主键丢失,案例:Oracle重建控制文件丢失undo异常恢复 ORA-01173模拟与恢复...

    天萃荷净 重建控制文件丢失undo异常恢复 ORA-01173模拟与恢复 数据库异常关闭,使用resetlogs方式重建控制文件,不包含undo表空间相关数据库,然后尝试resetlogs打开数据库, ...

  7. oracle 未明确列义,案例:Oracle缺少同义词DDL语句无法执行 ORA-00604 ORA-00942

    天萃荷净 在执行DDL语句时无法执行,报错ORA 00604 ORA 00942,通过隐含参数来解决同义词问题 在最近的一个客户案例中,因为缺少dual同义词,导致ddl语句无法执行.这里_syste ...

  8. oracle dba导入,“只有DBA才能导入由其他DBA导出的文件”各种解决办法

    "只有DBA才能导入由其他DBA导出的文件"各种解决办法 类别:Oracle数据库   作者:码皇   来源:互联网   点击: 只有DBA才能导入由其他DBA导出的文件各种解决办 ...

  9. oracle停止一切进程,oracle启动/停止的几种方法以及 启动和停止过程中出错的解决办法...

    一.启动几种方法: 1. sqlplus /nolog connect /as sysdba startup 2. sqlplus /nolog connect /as sysdba startup ...

  10. oracle通信通道的文件结尾_Oracle错误——ORA-03113:通信通道的文件结尾 解决办法...

    由来 今天跟往常一样,登陆PL/SQL,确登陆失败,出现一个错误"ORA-01034"和"ORA-27101"如图: 然后就就通过命令提示符去登陆Oracle, ...

最新文章

  1. linux中here文档,Linux下Bash Heredoc(Here document)的用法及基本示例
  2. js实现代码类似w3School演示效果
  3. 面试官:聊一下二分法
  4. BOM函数之history对象
  5. context.Request.Files post 上传问题件
  6. 《JavaScript语言精粹》笔记
  7. python实现登陆注册跳转_Python模拟登录和登录跳转的参考示例
  8. cocos2d-html5 碰撞检测的几种方法
  9. 许多自己正在总结的东东
  10. 【K8S】K8S-网络模型、POD/RC/SVC YAML 语法官方文档
  11. java obervable_设计模式--观察者模式初探和java Observable模式
  12. 数字图像处理知识(3)
  13. PDF Reader Pro - 一款全能型PDF文件编辑器
  14. 计算机网络管理员初级是几级,计算机网络管理员初级操作技能考核试题
  15. 分享 100 道基础的前端面试题(附答案)
  16. JAVA计算机毕业设计教育培训机构信息管理系统Mybatis+系统+数据库+调试部署
  17. 什么是128陷阱?什么是装箱?什么是拆箱?为什么要有包装类?
  18. 给你一本武林秘籍,和KeeWiDB一起登顶高性能
  19. 使用Weevely工具上传一句话木马
  20. 多线程发生异常怎么处理咩?

热门文章

  1. 猜数字游戏(c语言实现)
  2. ie浏览器总跳转到 http://hao.360.cn
  3. visual foxpro
  4. JavaScript之promise对象及ajax的使用
  5. 【Python笔记】第5章 if语句
  6. iptables中snat、dnat、masquerade
  7. 【WA】TBC功能WA串更新日志(更新至2022.06.02)
  8. matplotlib中线宽linewidth的默认值是多少?如何查看?如何设置/设定?如何修改?
  9. pandas算加权平均值_python – 为pandas中的不规则时间序列创建加权平均值
  10. 胡灵 c语言,C语言门真相