【问题标题】:Determining when an Oracle database object became invalid确定 Oracle 数据库对象何时变为无效
【发布时间】:2009-09-23 17:55:26
【问题描述】:

是否可以确定何时 Oracle 数据库中的对象变为无效?

我尝试查看 DBA_OBJECTS 视图,但当 STATUS 更改为 'INVALID' 时,它的所有日期戳列似乎都没有受到影响。

【问题讨论】:

    标签: sql oracle plsql


    【解决方案1】:

    没有。您可以通过查看相关依赖对象的时间戳(在 DBA_DEPENDENCIES 中)来估计这一点 - 如果该对象由于丢弃另一个对象而无效,那么您可以检查回收站中父对象的丢弃时间。同样,这是一项侦探工作,并不像在视图中呈现信息那么简单。

    【讨论】:

      【解决方案2】:

      必须发生某些事情才能使对象无效。通常它是对引用对象的修改。在 DDL 上打开数据库审计,您应该能够捕获对导致其他对象无效的对象的更改。

      【讨论】:

      • 对象可能由于 DDL 以外的其他原因而变得无效。比如汇总过期并需要重新计算、对外部依赖对象(链接服务器)的更改、空间限制等。
      • @Chad,对此有任何参考吗? Oracle 文档没有提到任何这些,只有依赖项(本地或远程)和授权撤销:docs.oracle.com/cd/B28359_01/server.111/b28310/…
      【解决方案3】:

      OEM 报告
      如果您配置了 OEM,您可以查看您的每日对象报告。这是手动解决方案,不确定这些报告中的数据是可查询的还是 LOB 数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-10
        • 1970-01-01
        • 2015-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多