物化视图刷新错误--"SYS.DBMS_SNAPSHOT" has errors
2012-07-25 18:49
876 查看
一直发现有一个库中物化视图刷新出错:
ORA-04063: ORA-04063: package body "SYS.DBMS_SNAPSHOT" has errors
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_SNAPSHOT"
ORA-06512: at "CENTER.SP_CHECK_VWPROD", line 16
ORA-06512: at line 1
has errors
物化视图的状态是valid,执行exec dbms_mveiw.refresh('mv_test')时就报如上错误。
开始以为是因为空间不够导致,因为之前有遇到空间不够,快照做不了,也是snapshot相关的东西报错。
首先看表空间是否满,发现未满;
然后看alert日志,发现无异常error,仅有刷物化视图的那个报错信息。
后来深入到sys.dbms_snapshot中查看,sqlplus / as sysdba登陆进去,先编译对象,发现有DBMS_SNAPSHOT、DEFTRANDEST等系列对象invalid.
于是一个一个深入去看,发现DBMS_SNAPSHOT 错误是因为DEFTRANDEST这个错误,而DEFTRANDEST错误又是因为_DEFTRANDEST这个错误,最后在_DEFTRANDEST中发现报表不存在,且表是**$***格式的表名,于是想问题可能出在数据字典上。
运行@catalog.sql @catproc.sql,完后用sys用户编译一些对象,OK,问题解决了,物化视图可以正常刷新了。
http://www.itpub.net/thread-524867-3-2.html 中24-26楼是我当时遇到此问题结的帖。
ORA-04063: ORA-04063: package body "SYS.DBMS_SNAPSHOT" has errors
ORA-06508: PL/SQL: could not find program unit being called: "SYS.DBMS_SNAPSHOT"
ORA-06512: at "CENTER.SP_CHECK_VWPROD", line 16
ORA-06512: at line 1
has errors
物化视图的状态是valid,执行exec dbms_mveiw.refresh('mv_test')时就报如上错误。
开始以为是因为空间不够导致,因为之前有遇到空间不够,快照做不了,也是snapshot相关的东西报错。
首先看表空间是否满,发现未满;
然后看alert日志,发现无异常error,仅有刷物化视图的那个报错信息。
后来深入到sys.dbms_snapshot中查看,sqlplus / as sysdba登陆进去,先编译对象,发现有DBMS_SNAPSHOT、DEFTRANDEST等系列对象invalid.
于是一个一个深入去看,发现DBMS_SNAPSHOT 错误是因为DEFTRANDEST这个错误,而DEFTRANDEST错误又是因为_DEFTRANDEST这个错误,最后在_DEFTRANDEST中发现报表不存在,且表是**$***格式的表名,于是想问题可能出在数据字典上。
运行@catalog.sql @catproc.sql,完后用sys用户编译一些对象,OK,问题解决了,物化视图可以正常刷新了。
http://www.itpub.net/thread-524867-3-2.html 中24-26楼是我当时遇到此问题结的帖。
相关文章推荐
- ORA-04063: package body "SYS.DBMS_RCVMAN" has errors
- 解决问题 ORA-04063: package body "SYS.DBMS_LOGREP_UTIL" has errors
- Oracle 9i ORA-04062 timestamp of package SYS DBMS_SNAPSHOT_UTL has been changed ORA-06512 at SYS DBMS_SNAPSHOT
- 解决提示 The node "nios_sys:nios_sys_inst|sdram:the_sdram|za_data[0]" has multiple drivers due错误
- Oracle 9i ORA-04062 timestamp of package SYS DBMS_SNAPSHOT_UTL has been changed ORA-06512 at SYS DBMS_SNAPSHOT
- Oracle 9i ORA-04062 timestamp of package SYS DBMS_SNAPSHOT_UTL has been changed ORA-06512 at SYS DBMS_SNAPSHOT
- ORA-04063: view "SYS.DBA_REGISTRY" has errors
- Oracle 9i ORA-04062 timestamp of package SYS DBMS_SNAPSHOT_UTL has been changed ORA-06512 at SYS DBMS_SNAPSHOT
- Oracle 9i ORA-04062 timestamp of package SYS DBMS_SNAPSHOT_UTL has been changed ORA-06512 at SYS DBMS_SNAPSHOT
- 使用dbms_refresh.refresh刷新refresh_method为force的物化视图无效
- ORA-12170: TNS:Connect timeout occurred ORA-06512: at "SYS.DBMS_SNAPSHOT"
- Oracle 9i ORA-04062 timestamp of package SYS DBMS_SNAPSHOT_UTL has been changed ORA-06512 at SYS DBMS_SNAPSHOT
- ORA-12170: TNS:Connect timeout occurred ORA-06512: at "SYS.DBMS_SNAPSHOT"
- 物化视图刷新的ORA-10632: Invalid rowid错误
- ORA-22285: 对不存在的目录或文件进行 FILEOPEN 操作 ORA-06512: 在 "SYS.DBMS_LOB", line 523 ORA-06512: 在 line 6 查看错误堆
- Oracle Compile 编译 无效对象(ORA-04063: package body "SYS.DBMS_XPLAN" 有错误)
- 生成AWR时出错, ERROR: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 ORA-06512: 在 "SYS.DBMS_WORKLOAD_REPOSITORY"
- Oracle 物化视图日志 与 快速刷新 说明
- 物化视图的定义,创建,刷新,删除等
- 物化视图 快速刷新限制条件