ORA-06508: PL/SQL: could not find program unit being called:

ORA-06508: PL/SQL: could not find program unit being called:

What would be the root cause of the error?
Do I have to check whether the procedure has been created or compiled?
SELECT text FROM USER_SOURCE WHERE NAME='<your procedure name>';

If the above query displays the procedure does it mean that the procedure has been compiled sucessfully?
Do I need to recompile this?
Do I need to pin this pakage using DBMS_KEEP?
How do I recompile this?
Is the following correct method of recompiling a package
ALTER PACKAGE package_name COMPILE BODY;
SELECT object_type, status FROM user_objects WHERE object_name = 'package_name'
How can I flush the shared pool and recompile all invalidated code after making a change?
Do I need to check whether corresponding package body and header exist?
How do I decide what to do?
Do I right away go ahead and recompile the package , check for package header and body, or do I need to do something else first?
LVL 1
adstorm88Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

schwertnerCommented:
You have the find in which schema have you compiled the package.
This has nothing to do with the shared pool.
say if there are error messages by the compilation.
After that show us how you invoke the subroutine.

From SQL*Plus invoke

SQL>execute package_name.subroutine_name(list_of_parameters);

Post the invocation and the error messages.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
adstorm88Author Commented:
Thanks
Actually the problem is this alert came some time back and was handled by another dba since I was not oncall.But I just wanted to know if I get such an alert in future then what would be the steps I need to take to rectify it?
0
mrjoltcolaCommented:
Next time, you should check the status of the object. Possibly it refers to another object with an error (view, synonym) that is invalid. Then recompile the object. If that fails, you should see the errors right there (show errors from sqlplus).

If the error is being reported on a object that has VALID status, then it is possibly an old bug and you should check Metalink. There are a couple related to ORA-06508, but this is not always caused by a bug.


0
mrjoltcolaCommented:
Also, next time list your Oracle version and your OS.

I looked at your other questions and you are on AIX. There IS a bug in Metalink for AIX 10g for this error.

See Metalink article 456338.1
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Enterprise Software

From novice to tech pro — start learning today.