Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Re-compile SYS.DBMS_ASYNCRPC_PUSH and SYS.DBMS_DEFER_SYS_PART
see answer below.
> -----Original Message-----
> From: Guang Mei [mailto:zlmei_at_hotmail.com]
>
> Oracle 8.0.5 on Sun.
>
> I am trying to re-compile some invalid objects owned by SYS in our db.
>
> But when I tried I got some error which I am not sure how to
> resolve (see
> code below).
>
> I also tried things such as
>
> select text
> from dba_source
> where owner='SYS'
> and name = 'DBMS_ASYNCRPC_PUSH'
> and type = 'PACKAGE BODY'
> order by line;
>
> to look at the package code, but not much luck there.
>
> So, what could I do to make these objects valid?
>
> --------------------
> SQL> select owner, object_name,object_type from all_objects
> 2 where status='INVALID' > 3 and owner = 'SYS' > 4 order by owner desc, object_type, object_name;
Without doing a lot of research into the matter: Have you tried looking in $ORACLE_HOME/*/admin for a ".sql" script that defines the components that are missing? For example, missinguser_num is defined by $ORACLE_HOME/rdbms/admin/dbmsdefr.sql (see find command below)
$ find $ORACLE_HOME/*/admin -name "*.sql" -exec grep -il missinguser_num {} \; /oracle/ora32/product/8.1.6/rdbms/admin/dbmsdefr.sql
Also some of the Oracle packages have source text that is "wrapped", meaning encrypted. It looks like DBMS_ASYNCRPC_PUSH has "wrapped" source (at least it does in my 8.1.6 database).
![]() |
![]() |