• Oracle 9i ORA04062 timestamp of package SYS DBMS_SNAPSHOT_UTL has been changed ORA06512 at SYS DBMS_SNAPSHOT


     

    群里有个朋友问了个问题,Oracle 9i 的数据库,Job 执行失败,物化视图刷新报错。 错误信息如下:


    ORA-04068: existing state of packages has been discarded
    ORA-04062: of has been changed
    ORA-04062: timestamp of package "SYS.DBMS_SNAPSHOT_UTL" has been changed
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 617
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 674
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 654
    ORA-06512: at line 1

    Oracle的解释如下:

    Symptoms

    Snapshot refresh of an 8.1.7 database from a 9.2.0.6 master
    instance now fails for complete or fast refresh

    exec dbms_snapshot.refresh('AS_GROUP','C') ;
    BEGIN dbms_snapshot.refresh('AS_GROUP','C') ; END;
    *
    ERROR at line 1:
    ORA-04068: existing state of packages has been discarded
    ORA-04062: of has been changed
    ORA-04062: timestamp of package "SYS.DBMS_SNAPSHOT_UTL" has been changed
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 617
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 674
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 654
    ORA-06512: at line 1

    Changes

    The 9.2.0.6 database had been rebuilt from a 9.2.0.5 database. 

    Cause

    It looks likely that this issue is related to Bug:3017255.

    It appears that is is possible for information to be flushed from the shared pool which cannot be reloaded correctly. By forcing a flush of the shared pool on both sides the problem can be worked around.

    Solution

    On both the master and the source sides issue

    alter system flush shared_pool;

    alter system flush shared_pool;

    This should allow the refresh to start and complete successfully.

    References

    BUG:3017255 - Create Materiarized View Caused Ora-4068 And Ora-4062

    对于Bug 3017255相关信息如下:

    PROBLEM:
    --------
    - Creating two materialized views using same database link name (owner is
     different)
      causes ORA-4068,ORA-4062.
    - refreshing the materialized views alternately cause ORA-4062.

    DIAGNOSTIC ANALYSIS:
    --------------------
     This only happens using same Database link name. (owner is differnet)
     If change one side's Database link name, error does not be caused.
     And if I execute 'alter system flush shared_pool' before create second
     materialized view or refresh materialized views, error does not be caused.

    WORKAROUND:
    -----------
    - Don't use same database link name even if owner is different.
    - Execute 'alter system flush shared_pool' before create materialized views.
    - Execute 'alter system flush shared_pool' before refresh materialized views 

    道森Oracle,国内最早、最大的网络语音培训机构,我们提供专业、优质的Oracle技术培训和服务! 我们的官方网站:http://www.daosenoracle.com 官方淘宝店:http://daosenpx.taobao.com/
  • 相关阅读:
    ajax获取后台数据,显示到input输入框里面
    js的比较运算符含义和示例和逻辑运算符
    Vue的 on +bind+if +for
    Vue入门例子
    Spring-AOP
    fatal: remote origin already exists git出现这个
    springmvc-文件上传下载
    springmvc-ajax
    查询Id最大的基础上+1
    bootstrap select去掉右边小三角
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3610177.html
Copyright © 2020-2023  润新知