I have a small replication problem in Oracle that I am unable to solve. I have Oracle 9i Enterprise Edition running on Linux Redhat 2AS. We are able to create a master replication group and also are able to add objects on that. While generating replication support for the object(table), we get the following error: "ORA-04042: procedure, function, package, or package body does not exist." We have tried recompiling the package and the procedures in the package as well.
The problem with the ORA-4042 error is that you cannot tell which database object it is looking for that does not exist. The best way to track this down is to use Oracle's SQL trace facility. In your SQL*Plus session, issue the following:
ALTER SESSION SET sql_trace=TRUE;
Then perform whatever action leads to the ORA-4042 error. When done, either exit SQL*Plus or issue the above command with the value of FALSE to turn off tracing. A trace file will be generated in your database's USER_DUMP_DEST directory. Find the trace file generated at the time you performed your actions. Open that trace file in any text editor. Search for the 'err=4042' text string. This will locate the command that caused the ORA-4042 error. Once you find out what object is missing, it is highly likely that this is an Oracle Replication object. You can search your $ORACLE_HOME/rdbms/admin directory for the supplied scripts to recreate that object.
Dig Deeper on Oracle database backup and recovery
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.