Sql 在用户对象中显示状态为“无效”的可用对象。,

Sql 在用户对象中显示状态为“无效”的可用对象。,,sql,plsql,oracle-sqldeveloper,database-administration,Sql,Plsql,Oracle Sqldeveloper,Database Administration,在执行下面的查询时,我得到了状态为“无效”的对象列表 SELECT * FROM USER_OBJECTS WHERE STATUS='INVALID'; 当我单独检查对象的状态时,它们处于已编译状态 即使删除了这些对象,当我执行相同的查询时,它们仍然会出现 有线索吗,为什么会这样 可能的原因是有人在schema USER_OBJECTS表中创建了。该表由来自用户对象视图的数据填充 select * from user_tables where table_name = 'USER_OBJEC

在执行下面的查询时,我得到了状态为“无效”的对象列表

SELECT * FROM USER_OBJECTS WHERE STATUS='INVALID';
当我单独检查对象的状态时,它们处于已编译状态

即使删除了这些对象,当我执行相同的查询时,它们仍然会出现


有线索吗,为什么会这样

可能的原因是有人在schema USER_OBJECTS表中创建了。该表由来自用户对象视图的数据填充

select * from user_tables where table_name = 'USER_OBJECTS'
执行上面的查询。如果它返回行,则表示您找到了问题。
只需删除USER_OBJECTS表,您将开始从USER_OBJECTS视图获得结果。

您是否连接到执行这两个操作的同一架构?是的,dcieslak.,并且对象是包。我唯一能想象的是有人修改了SYS.USER_OBJECTS视图。检查它。是否可以更新oracle表。,?如果您能帮我检查一下,请将您的查询更改为从SYS.USER_OBJECTS中选择*,其中status='INVALID';对于表_name='USER\u OBJECTS',它不返回任何行:当执行所有的_OBJECTS时,它返回'USER\u OBJECTS',Object类型为'VIEW'和'SYNONYMS',所有者为'SYS'和'PUBLIC',对不起,我可能不清楚。当您从状态为“无效”的所有对象中执行SELECT*时,是否也有无效对象;是的,它返回。但是对象类型是“视图”和“同义词”,但不是表。即使在删除这些pkg之后,每次我从用户对象执行SELECT*时,它仍然显示,其中STATUS='INVALID';,原因可能是什么。,?