oracle - 是否可以删除具有 Referenced_Owner/Referenced_Name 的无效对象?(dba_dependencies)
问题描述
我试图清除我的 Oracle 18c 数据库中的无效对象。开发人员让我继续删除一些无效对象,但在谷歌搜索之后,我注意到我必须注意其他依赖对象。
如果我删除这些无效对象,它会对引用的对象产生任何影响吗?它也会使那些无效,创建更多无效对象吗?我已经尝试重新编译并得到编译错误。我将它们发送给应用程序所有者(开发人员),他们说我可以删除这些对象。下面我提供了无效对象和引用的对象。我应该如何清除无效对象?
[所有者/对象名称/对象类型]
无效对象
PLAP/TEMP_DIS_CONSTR/PROCEDURE
PLAP/TEMP_DRP_CONSTR_PK/PROCEDURE
PLAP/TEMP_UPDATE_MILESTONE_TABLE/PROCEDURE
无效的对象 -----> 引用的对象
PLAP/TEMP_DIS_CONSTR/PROCEDURE -------> SYS/ALL_CONS_COLUMNS/VIEW
PLAP/TEMP_DIS_CONSTR/PROCEDURE --------> PUBLIC/DBMS_OUTPUT/SYNONYM
PLAP/TEMP_DIS_CONSTR/PROCEDURE --------> SYS/STANDARD/PACKAGE
PLAP/TEMP_DRP_CONSTR_PK/PROCEDURE ------> SYS/STANDARD/PACKAGE
PLAP/TEMP_DRP_CONSTR_PK/PROCEDURE ------> PUBLIC/DBMS_OUTPUT/SYNONYM
PLAP/TEMP_DRP_CONSTR_PK/PROCEDURE ------> PLAP/AOP_CAPABILITY_MILESTONES/TABLE
PLAP/TEMP_UPDATE_MILESTONE_TABLE/PROCEDURE ------> SYS/STANDARD/PACKAGE
PLAP/TEMP_UPDATE_MILESTONE_TABLE/PROCEDURE ------> PLAP/AOP_MILESTONES_SEQ/SEQUENCE
谢谢, 鲢鱼
解决方案
您的示例数据和您提出问题的方式有点不一致。
您的数据呈现方式:
PLAP/TEMP_DIS_CONSTR/PROCEDURE -------> SYS/ALL_CONS_COLUMNS/VIEW PLAP/TEMP_DIS_CONSTR/PROCEDURE -------> PUBLIC/DBMS_OUTPUT/SYNONYM PLAP/TEMP_DIS_CONSTR/PROCEDURE -------> SYS/STANDARD/PACKAGE PLAP/TEMP_DRP_CONSTR_PK/PROCEDURE ------> SYS/STANDARD/PACKAGE PLAP/TEMP_DRP_CONSTR_PK/PROCEDURE ------> PUBLIC/DBMS_OUTPUT/SYNONYM PLAP/TEMP_DRP_CONSTR_PK/PROCEDURE ------> PLAP/AOP_CAPABILITY_MILESTONES/TABLE PLAP/TEMP_UPDATE_MILESTONE_TABLE/PROCEDURE ------> SYS/STANDARD/PACKAGE PLAP/TEMP_UPDATE_MILESTONE_TABLE/PROCEDURE ------> PLAP/AOP_MILESTONES_SEQ/SEQUENCE
看起来您担心要丢弃的对象依赖于其他对象。这很好,这些并不代表担心丢弃这些对象的理由。
但是,如果数据被颠倒了……即,如果其中的行DBA_DEPENDENCIES
与(REFERENED_OWNER, REFERENCED_NAME, REFERENCED_TYPE)
您要删除的对象匹配,那么这是一个潜在的问题,因为这意味着某些内容取决于您要删除的对象。如果您删除该对象,则依赖于它的其他对象将变为无效。
所以,
- 要删除的对象取决于其他对象 ==> 很好
- 其他对象依赖对象丢弃 ==> 考虑一下
推荐阅读
- javascript - 如何检测消息何时被编辑
- python - 如何从已知的关联中创建集群/组?
- html - 如果格式不是“yyyy-MM-dd”,角度插值绑定不显示日期
- java - 詹金斯找不到输入文件
- python - 网站使用了我一半的网页抓取代码,但另一半给出了错误消息
- php - 阻止用户访问 admin.php
- double - 无法摆脱 Visual Studio Code 中标签上的双光标
- c++ - 如何使用 boost 图形库广度优先搜索创建遍历顶点队列?
- python - 如何让这个函数更有效地计算支配者?
- python - 如何使用 pymysql 清除 SScursor 的缓冲区?