ADZDUTLRECMP.sql : Compiling Invalid Objects during adop patching.
In R12.2, different than other releases, the stubs objects are not displayed in the dba_objects, so querying this table will not show all the invalid objects:
STUB are objects related to the editioning capabilities of the database.
The following query can be used to display the invalid objects:
In R12.2, different than other releases, the stubs objects are not displayed in the dba_objects, so querying this table will not show all the invalid objects:
STUB are objects related to the editioning capabilities of the database.
The following query can be used to display the invalid objects:
select * from ( select eusr.user_name owner , count(decode(obj.type#,88,NULL,decode(obj.status,1,NULL,1))) Actual , count(decode(obj.type#,88,decode(obj.status,1,NULL,1),NULL)) Stub , count(decode(obj.type#,88,decode(obj.status,1,NULL,1),decode(obj.status,1,NULL,1))) Total from sys.obj$ obj , sys.obj$ bobj , ( select xusr.user# , xusr.ext_username user_name , ed.name edition_name from (select * from sys.user$ where type# = 2) xusr , (select * from sys.obj$ where owner# = 0 and type# = 57) ed where xusr.spare2 = ed.obj# union select busr.user# , busr.name user_name , ed.name edition_name from (select * from sys.user$ where type# = 1 or user# = 1) busr , (select * from sys.obj$ where owner# = 0 and type# = 57) ed where ed.name = 'ORA$BASE' ) eusr where obj.owner# = eusr.user# and bobj.obj#(+) = obj.dataobj# and obj.type# not in (0, 10) and ( obj.type# <> 88 or (obj.type# = 88 and bobj.type# <> 10) ) and obj.remoteowner is null group by eusr.user_name ) x where total > 0 order by 1 /
The patch will proceed only when the number of invalids displayed is close to zero.
Good Script ...
ReplyDelete