我试图清除我的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 /过程------> SYS / STANDARD / PACKAGE
PLAP / TEMP_DRP_CONSTR_PK /过程------> PUBLIC / DBMS_OUTPUT / SYNONYM
PLAP / TEMP_DRP_CONSTR_PK /过程------> 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)
与您要删除的对象匹配,那么这是一个潜在的问题,因为这意味着某些情况取决于该对象你想放弃。如果删除该对象,则依赖于该对象的其他对象将无效。
所以,