Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Is it OK to drop Invalid Objects that have a Referenced_Owner/Referenced_Name? (dba_dependencies)

4089142Mar 10 2020 — edited Mar 11 2020

I attempting to clean out my Oracle 18c databases of Invalid Objects. I was given the go ahead from the developers to remove a few invalid objects but after googling, I noticed that I would have to watch out of other dependent objects.

If I drop these invalid objects would it have any effect on the referenced objects. Would it turn those invalid as well, creating more invalid objects? I already attempted to recompile and got compilation errors. I sent them to the application owners (Developers) and they said I can remove the objects. Below I provided the Invalid objects and the referenced objects to them. How should I clean out the invalid objects?

INVALID OBJECTS  **[OWNER / OBJECT NAME / OBJECT TYPE]**

PLAP/TEMP_DIS_CONSTR/PROCEDURE

PLAP/TEMP_DRP_CONSTR_PK/PROCEDURE

PLAP/TEMP_UPDATE_MILESTONE_TABLE/PROCEDURE

INVALID OBJECTS -----> REFERENCED OBJECTS

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

Thanks

Comments

Paulzip

You only have to worry about objects that reference the invalid objects (directly or through other dependencies), not objects that the invalid objects reference (caveated that they are not referenced by another invalid object).

E.g. Dropping PLAP/TEMP_DIS_CONSTR/PROCEDURE, won't affect SYS/ALL_CONS_COLUMNS/VIEW

BEDE

That depends...

Some of those invalid packages/procedures/functions/views may need to have their code changed so that they may be used later on. So, I don't think it is the case to rush into such spring cleaning. First use dbms_utility.compile_schema(x_schema,false) to see what can recompile, then send all the developers you know to be working on that database a list of the invalid objects, eventually including also the errors, with the warning that, if in within two weeks they won't fix them, then they will be dropped.

Yet, if your concern is space, tables are those that take most of the space.

4089142

Thanks so much! That's exactly what I did. First I tried to see what invalid objects I could recompile (except I used @utlrp.sql). Then, I sent all the developers a list of the invalid objects with each error included so that they can look through and fix the code if need be.

4089142

Thanks for the clear and concise answer Paulzip! This is exactly what I needed to know!

1 - 4

Post Details

Added on Mar 10 2020
4 comments
659 views