0

I have imported dump of oracle 10 version with tables, procedures and packages to oracle 11g version.

While am not facing any issues with tables and procedures, certain body of packages compiles with error.

On checking the same packages in old oracle version, i ve noticed that the reference status of package body is VALID. But in 11g version, it is INVALID

Also there is a mismatch in dependencies of package from old version and new version.

Cud someone shed light on what am i missing?

I wana compile the procedure without any error in 11g version!

8
  • Are these your own packages? Are all the package specs valid? Do you have the same number of package specs? Commented Apr 7, 2015 at 15:02
  • @Colin'tHart All are my own packages and yep they are valid, as am able to compile and run them in 10.x version. The issue is raised while trying to transfer packages from 10.x version to 11g, using impdp and expdp commands Commented Apr 8, 2015 at 5:01
  • You didn't answer all my questions: are all the specs valid in the 11g database? Do you have the same number of specs in the 11g database -- ie did all packages come across? Commented Apr 8, 2015 at 6:14
  • When you compile the package(s) in 11g, what error(s) do you get? Commented Apr 8, 2015 at 13:00
  • @Colin'tHart sorry..yep all the packages have came across..The discrepancies were only in References of the imported packages Commented Apr 8, 2015 at 13:18

1 Answer 1

0

Most of the times some object privileges are missing from the owner[s] of the imported objects.

the error PLS-00302: component 'XXX' must be declared

can be explained by missing synonyms and/or missing privileges on that object. Verify in the source database that the owner - or sometimes public - had privileges on the object 'XXX' and make sure this is granted in the target database too.

impdp does not give grants on objects that it did not import in the same session. (the not created by me syndrome) Most likely sys objects are playing a role here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.