dbms_lock [message #50164] |
Mon, 04 March 2002 22:42 |
shivakumaar.R
Messages: 2 Registered: January 2002
|
Junior Member |
|
|
I have used the dbms_lock utility in a procedure coding as follows
...
...
dbms_lock.sleep(v_interval);
...
...
When i exec the procedure the foll error occurs
SQL> exec perfmon
BEGIN perfmon; END;
*
ERROR at line 1:
ORA-04068: existing state of packages has been discarded
ORA-04063: package body "SYS.DBMS_LOCK" has errors
ORA-06508: PL/SQL: could not find program unit being called
ORA-06512: at "SYS.PERFMON", line 122
ORA-06512: at line 1
But the same works in oracle 8.1.5.0.0 perfectly
whereas in 8.1.7.0.0 repeats a tiring error.
Kindly clarrify.
|
|
|
Re: dbms_lock [message #50177 is a reply to message #50164] |
Tue, 05 March 2002 04:53 |
saleem
Messages: 65 Registered: January 2002
|
Member |
|
|
basically the package was either re-compiled recently or for some reason exists in an un-executable state. connect as sys recompile the package (alter package ..... compile;) and then try again. you might want to run that statement twice as that has been my practice in the past and it works. also beware that for reasons i can't explain, compiliing through a desktop app as opposed to through sql*plus also can cause this to happen (perhaps because of session parameters in the app). so do the compile from sql*plus to be safe.
|
|
|
|