gpt4 book ai didi

oracle - ORA-04045 : errors during recompilation/revalidation

转载 作者:行者123 更新时间:2023-12-03 21:36:56 26 4
gpt4 key购买 nike

我在尝试查询表 AVC 时突然开始遇到此错误。

ORA-04045: errors during recompilation/revalidation of PUBLIC.AVC
ORA-04098: trigger 'TTMS.ALTERED_TTMSDB_TABS_TRIGGER' is invalid and failed re-validation

select * from avc 不起作用但是 select * from exfc.avc 确实有效。

谁能告诉我这是怎么回事?

最佳答案

大概您的架构中没有名为 AVC 的对象。当您在没有架构限定符的情况下引用 AVC 时,它会因此访问具有该名称的 PUBLIC 对象。要找出对象的类型,SELECT object_type FROM all_objects WHERE object_name='AVC' AND owner='PUBLIC'

不管它是什么,查询它都会因为某种原因导致触发器触发。也许这是某种审计功能。但目前触发器无效。这可能意味着有人修改了触发器本身但出错了;或者这可能意味着有人删除或修改了触发器所依赖的其他对象,从而导致触发器代码不再有效。

因此,负责该触发器的人需要找出其编译中发生的错误并解决它。

当您显式查询 EXFC.AVC 时,您将绕过 PUBLIC 对象并直接转到某个底层对象,可能是一个实际的表。您可以访问它似乎很奇怪,因为通过公共(public)同义词路由访问的整个点通常是为了防止直接访问该对象。如果实际上触发器的目的是审核对表的访问,那么允许您完全绕过它就是一个相当大的设计缺陷。

关于oracle - ORA-04045 : errors during recompilation/revalidation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9623769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com