Cannot drop Jobs because SYS.DBMS_INTERNAL_LOGSTDBY error

ORA-04063: package body “SYS.DBMS_INTERNAL_LOGSTDBY” has errors
ORA-06508: PL/SQL: could not find program unit being called: “SYS.DBMS_INTERNAL_LOGSTDBY”
ORA-06512: at “SYS.DBMS_IJOB”, line 522
ORA-06512: at “SYS.DBMS_JOB”, line 171
ORA-06512: at line 2

I check this package, i got this error “PL/SQL: ORA-00942: table or view does not exist” but i can’t find what table because this package body wrapped. So i want to find what table that in use in this package. Here the sql to find what table that used in SYS.DBMS_INTERNAL_LOGSTDBY (you must run in 2 server to find what table doesn’t exists) :

SELECT owner, object_type, object_name, object_id, status
FROM SYS.dba_objects
where object_name = ‘DBMS_INTERNAL_LOGSTDBY’;

OWNER OBJECT_TYPE        OBJECT_NAME                                 OBJECT_ID  STATUS
SYS        PACKAGE                   DBMS_INTERNAL_LOGSTDBY 4339               VALID
SYS        PACKAGE   BODY    DBMS_INTERNAL_LOGSTDBY 7300             INVALID

———————————————————————————————————–

SELECT B.*
FROM PUBLIC_DEPENDENCY A, SYS.DBA_OBJECTS B
WHERE A.OBJECT_ID = 7300 AND A.REFERENCED_OBJECT_ID = B.OBJECT_ID AND OBJECT_TYPE = ‘TABLE’
ORDER BY OWNER, OBJECT_NAME;

On my server i have 24 object_name, such as :

AUD$
AUDIT_ACTIONS
COL$
DUAL
FGA_LOG$
IND$
INDPART$
JOB$
OBJ$
TAB$
TS$
USER$
LOGMNR_DICTSTATE$
LOGMNR_LOG$
LOGMNR_SESSION$
LOGMNR_UID$
LOGSTDBY$APPLY_MILESTONE
LOGSTDBY$EVENTS
LOGSTDBY$HISTORY
LOGSTDBY$PARAMETERS
LOGSTDBY$SCN
LOGSTDBY$SKIP
LOGSTDBY$SKIP_SUPPORT
LOGSTDBY$SKIP_TRANSACTION
Now, try to find what table doesn’t exist, copy the script to create table from another server which have the table.  After there are no table miss, compile DBMS_INTERNAL_LOGSTDBY again.