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;

     

     

     

  • 相关阅读:
    POJ 2253 Frogger
    C++map函数的用法
    蓝桥杯 幂方分解
    蓝桥杯 危险系数
    POJ 2234 Matches Game
    POJ 1852 Ants
    POJ 1144 Network
    POJ1419 Graph Coloring
    poj 2573 Bridge(有A、B、C、D四个人,要在夜里过一座桥……)
    小知识(输出源文件的标题和目前执行行的行数)
  • 原文地址:https://www.cnblogs.com/kerrycode/p/11086073.html
Copyright © 2011-2022 走看看