This content has been marked as final. Show 8 replies
Check out the error message text:
ORA-39082: Object type string created with compilation warnings
Cause: The object in the SQL statement following this error was created with compilation errors. If this error occurred for a view, it is possible that the base table of the view was missing.
Action: This is a warning. The object may have to be recompiled before being used.
Since this is a wrapped package there is no way to check the source code, but at least you could try to run the utlrp.sql script and verify if this compiles.
OTN regular Yingkuan blogged about a similar issue:
What do you mean about "no chance to recompile". Do you get an error when attempting?
thanks for your replies...
unfortunatelly recompiling the invalid packages after the impdp didn't bring them into a valid level.
(also utlrp.sql did not work ..)
when recompiling the package I got errrors like:
PLS-00114: identifier 'LK5KCJYRZKKSHYG3VODLQHN17A1HRW' too long
dropping all the packages and export and import them using the conventional "old" exp and imp features brought them into a valid status.
but there must be a possiblility to get them to a valid status with using only datapump import...
anyone a idea?
I had a similar error but for different reasons, mine were due to impdp importing objects ion the wrong order, causing problems with dependancies.
It looks like your error is to do with either the source code for the package in question, or the objects it's referencing.
To find the offending source code, use the following commands...
ALTER PACKAGE <SchemaName>.<PackageName> COMPILE;
SHOW ERRORS PACKAGE <SchemaName>.<PackageName>;
ALTER PACKAGE <SchemaName>.<PackageBodyName> COMPILE BODY;
SHOW ERRORS PACKAGE BODY <SchemaName>.<PackageName>;
The 'SHOW ERRORS' commands should reveal a dodgy line of source code, e.g. trying to assign a value to a variable where that is value is larger than the declared size of the target variable/column, etc. You may want to...
1. Fix the code yourself and then do a "CREATE OR REPLACE PACKAGE ..." OR
2. Modify a column length, etc. if approriate OR
3. Pass it on to the developer concerned.
It may be worhtwile checking the status of the package in the source database (if different from the target database) by recompiling it as shown above - it may never have compiled!
I've also got this issue, howerver it seems after the import via impdp and network_link, you CAN in fact re-compile the objects however the package SPEC must be re_compiled and THEN the body, but, as indicated previously uytlrp.sql doesn't work, and I don't have time to manually recopile 2000+ objects manually.
Well about time to write some more sql.
this is a bug in oracle. when you use data pump for import/export wrapped packages doesn't get migrated properly.
for valid wrapped package there should be new line character at the end of wrapper packages before /
However with data pump package gets changed to
Hence wrapped package doesn't get compiled.
To resolve issue you need to add new line character manually or get a fix from Oracle.
I just looked up the issue mentioned above about the blank lines for wrapped packages as I was having the issue also. The Doc is ...
*Impdp Returns ORA-39082 When Importing Wrapped Procedures [ID 460267.1]*
and references the bug 5581731.
You can also do one thing that you can only export packages from source database example after exporting dumpfile(includes only functions).Try to create sql file by importing.After creation of sqlfile open it using editplus OR notepad simply replace create function cluase with create or replace function.and run that new sqlfile on target database