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;

     

     

     

  • 相关阅读:
    常见排序算法的实现
    Never-build package 'XXXX' requires always-build package 'EhLib70'
    自制的七个C,总结的太好了
    那些有影响力的语言
    数海笔记(0)-程序员为什么要学数学
    linux 多线程编程笔记
    双指数边缘平滑滤波器用于磨皮算法的尝试。
    对于树的序列化,用了stream,很好
    很聪明的解法
    按窗口获得最大数 和 中位数
  • 原文地址:https://www.cnblogs.com/kerrycode/p/11086073.html
Copyright © 2011-2022 走看看