zoukankan      html  css  js  c++  java
  • [转载]—Health Check Reports Problem: Dependency$ p_timestamp mismatch for VALID objects (文档 ID 781959.1)

    Health Check Reports Problem: Dependency$ p_timestamp mismatch for VALID objects (文档 ID 781959.1)

     

     

    APPLIES TO:

    Oracle Database - Enterprise Edition - Version 9.2.0.5 to 12.1.0.2 [Release 9.2 to 12.1]
    Information in this document applies to any platform.
    ***Checked for relevance on 18-Jan-2014***




    SYMPTOMS

    Health check output reports

     

    Problem: Dependency$ p_timestamp mismatch for VALID objects?
    May be Ok - needs checking, (Warning: [W], Error: [E]).

    [W] - P_OBJ#=37817 D_OBJ#=38416 
    [W] - P_OBJ#=38014 D_OBJ#=38605
     
    [W] - P_OBJ#=38020 D_OBJ#=38611
     
    [W] - P_OBJ#=38043 D_OBJ#=38634
     
    [W] - P_OBJ#=38061 D_OBJ#=38652
     
    [W] - P_OBJ#=38064 D_OBJ#=38655
     
    [W] - P_OBJ#=38087 D_OBJ#=38678
     

    [W] - P_OBJ#=38090 D_OBJ#=38681

    .

    CAUSE

    This issue is caused due to mismatch in timestamp information with the dependent objects.

    It may not be an actual dictionary corruption.

    This can cause problems during upgrade and PLSQL validation

     

    SOLUTION

    Please Note : Its advisable to run the script during non business hours or when the load in the database is less.

     

    The Solution is applicable only for D_TYPE with value 5(synonyms) returned  from the below query

     

     

    select

    do.obj# d_obj,do.name d_name, do.type# d_type,

    po.obj# p_obj,po.name p_name,

    to_char(p_timestamp,'DD-MON-YYYY HH24:MI:SS') "P_Timestamp",

    to_char(po.stime ,'DD-MON-YYYY HH24:MI:SS') "STIME",

    decode(sign(po.stime-p_timestamp),0,'SAME','*DIFFER*') X

    from sys.obj$ do, sys.dependency$ d, sys.obj$ po

    where P_OBJ#=po.obj#(+)

    and D_OBJ#=do.obj#

    and do.status=1 /*dependent is valid*/

    and po.status=1 /*parent is valid*/

    and po.stime!=p_timestamp /*parent timestamp not match*/

    order by 2,1;

     

     

     

    Check if the d_type is reported as 5.

    Compile the synonyms using the following script

     

     

    set pagesize 10000 
    set trimspool on
     
    set head off
     
    set echo off
     
    spool /tmp/compiling.lst
     

    select 'alter public synonym "'||synonym_name||'" compile;'
     
    from dba_synonyms where owner='PUBLIC';
     
    select 'alter synonym "'||owner||'"."'||synonym_name||'" compile;'
     
    from dba_synonyms where owner!='PUBLIC';
     


    SQL> Spool off


    Now run this spooled file

    SQL> Spool /tmp/compiling_result.lst

    SQL>@/tmp/compiling.lst

    SQL> Spool off

    Now re-run the following query and check if the number of objects have reduced as compared to output

     

    select

    do.obj# d_obj,do.name d_name, do.type# d_type,

    po.obj# p_obj,po.name p_name,

    to_char(p_timestamp,'DD-MON-YYYY HH24:MI:SS') "P_Timestamp",

    to_char(po.stime ,'DD-MON-YYYY HH24:MI:SS') "STIME",

    decode(sign(po.stime-p_timestamp),0,'SAME','*DIFFER*') X

    from sys.obj$ do, sys.dependency$ d, sys.obj$ po

    where P_OBJ#=po.obj#(+)

    and D_OBJ#=do.obj#

    and do.status=1 /*dependent is valid*/

    and po.status=1 /*parent is valid*/

    and po.stime!=p_timestamp /*parent timestamp not match*/

    order by 2,1;

     

     

     

  • 相关阅读:
    css3 box-sizing盒模型
    数字递增组件
    设置视频水平垂直居中显示在页面上
    修改placeholder样式,兼容多个浏览器
    一款还不错的日期插件layDate
    vue-cli打包后出现 “Uncaught SyntaxError: Unexpected token <”这个错
    详谈C++虚函数表那回事(一般继承关系)
    C++多态的实现及原理详细解析
    位运算求两个数的平均值
    网页设计入门<一>
  • 原文地址:https://www.cnblogs.com/kerrycode/p/11086073.html
Copyright © 2011-2022 走看看