无效对象及其在应用程序中可能导致的问题?

时间:2016-06-15 17:04:23

标签: sql oracle plsql patch oracle-ebs

我只是想了解一些来自Oracle ebs 12.1.3的无效对象。列表是

  1. CST_LAYER_ACTUAL_COST_DTLS_V
  2. IGW_BUDGET_CATEGORY_V
  3. IGW_REPORT_PROCESSING
  4. FV_FACTS_TBAL_TRX
  5. FV_FACTS_TRX_REGISTER
  6. FV_SF133_ONEYEAR
  7. FV_SF133_NOYEAR
  8. FV_FACTS_TRANSACTIONS
  9. FV_FACTS_TBAL_TRANSACTIONS
  10. ENI_DBI_CO_OBJIDS_MV
  11. PJI_TIME_PA_RPT_STR_MV
  12. POA_MID_BS_J_MV
  13. POA_IDL_BS_J_MV
  14. POA_ITEMS_MV
  15. GL_ACCESS_SET_LEDGERS
  16. LNS_LOAN_DTLS_ALL_MV
  17. OZF_CUST_FUND_SUMMARY_MV
  18. FV_SLA_FV_PROCESSING_PKG
  19. OE_ITEMS_MV
  20. PA_DEDUCTIONS_W
  21. PA_DEDUCTIONS_PUB
  22. PA_DEDUCTIONS_PUB
  23. PA_DEDUCTIONS_W
  24. PA_DCTN_APRV_NOTIFICATION
  25. - 对象类型 -

    CST_LAYER_ACTUAL_COST_DTLS_V    VIEW 
    IGW_BUDGET_CATEGORY_V   VIEW 
    IGW_REPORT_PROCESSING   
    PACKAGE BODY FV_FACTS_TBAL_TRX  PACKAGE BODY 
    FV_FACTS_TRX_REGISTER   PACKAGE BODY 
    FV_SF133_ONEYEAR    PACKAGE BODY 
    FV_SF133_NOYEAR PACKAGE BODY 
    FV_FACTS_TRANSACTIONS   
    PACKAGE BODY FV_FACTS_TBAL_TRANSACTIONS PACKAGE BODY 
    ENI_DBI_CO_OBJIDS_MV    MATERIALIZED VIEW 
    PJI_TIME_PA_RPT_STR_MV  MATERIALIZED VIEW 
    POA_MID_BS_J_MV MATERIALIZED VIEW
    POA_IDL_BS_J_MV MATERIALIZED VIEW 
    POA_ITEMS_MV    MATERIALIZED VIEW 
    GL_ACCESS_SET_LEDGERS   MATERIALIZED VIEW 
    LNS_LOAN_DTLS_ALL_MV    MATERIALIZED VIEW 
    OZF_CUST_FUND_SUMMARY_MV    MATERIALIZED VIEW 
    FV_SLA_FV_PROCESSING_PKG    PACKAGE BODY 
    NIB_MV_TB   MATERIALIZED VIEW 
    OE_ITEMS_MV MATERIALIZED VIEW 
    PA_DEDUCTIONS_W PACKAGE 
    PA_DEDUCTIONS_PUB   PACKAGE 
    PA_DEDUCTIONS_PUB   PACKAGE BODY 
    PA_DEDUCTIONS_W PACKAGE BODY 
    PA_DCTN_APRV_NOTIFICATION   PACKAGE BODY
    

    所以我想知道,如果我让它们无效,它们会导致什么问题?

    我了解自己的步骤: -

    我已经通过对象名称搜索了Oracle支持和google,但我唯一能找到的是补丁号来解决问题,或者在某些情况下忽略这些对象,他们什么都不做。

    如果有人有关于这些对象的信息以及它们在应用程序中可能导致的问题。请分享。

    提前致谢!!!

1 个答案:

答案 0 :(得分:0)

Tom Kyte,着名的Oracle专家,says

  

他们会在执行或访问时自行修复。我从不   担心一些无效的对象 - 你几乎总会有一些   某处。

这通常是正确的:

  • 数据库已正确安装
  • 补丁和升级已正确安装
  • 您没有更改oracle前端代码或oracle数据库代码
  • 正在输入的数据仍在预期范围内

无效的物化视图通常不重要。在9,10和11中,只要将新数据添加到基础表,它们就会变为无效。即使它们无效,它们仍然可以使用。

无效视图在访问时编译,如果没有错误可用。

包和包体也是如此:如果没有错误,则在访问时编译它们。在编译之前,前端如何处理错误消息对于所有应用程序都不相同。如果您尝试访问由于代码错误而无法编译的程序包,那么您将不会得到任何结果并返回PL / SQL错误。

要了解问题的原因:

  • 手动编译所有无效对象或使用dbms_utility.compile_schema(' YourSchema');
  • 对于任何无法编译的内容,您可以通过查询找到更多信息

    从all_errors中选择*:

如果在Oracle提供的对象中发现错误,则必须确定源:

  • 安装或修补不正确
  • 应该修补的已知Oracle错误
  • 可以忽略的已知Oracle错误
  • 超出问题范围的其他原因