是否可以删除具有ReferencedOwner / Referenced_Name的无效对象? (dba_dependencies)

问题描述 投票:0回答:2

我试图清除我的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

谢谢,小齿轮

oracle stored-procedures database-schema plsqldeveloper plsql-package
2个回答
0
投票

如果这些是应用程序对象,那么您应该让开发人员明确告诉您可以安全删除的对象。他们应该负责其产品的版本控制/配置管理,而不是让您自己猜测。


0
投票

您的样本数据和您对问题的措辞有点矛盾。

显示数据的方式:

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)与您要删除的对象匹配,那么这是一个潜在的问题,因为这意味着某些情况取决于该对象你想放弃。如果删除该对象,则依赖于该对象的其他对象将无效。

所以,

  1. 要放置的对象取决于其他对象==>很好
  2. 其他对象取决于要丢弃的对象==>考虑一下
© www.soinside.com 2019 - 2024. All rights reserved.