Link to home
Start Free TrialLog in
Avatar of djguvnor
djguvnor

asked on

Oracle Patch screwed up Java Sources and classes

Hi there,

I've got Oracle 10g on Win 2k3.  Last weekend I patched Oracle from version 10.2.0.1 to 10.2.0.2 and since then all my java classes have become unusable. The sources are not listed at all in the web based enterprise manager console (although they are listed in the java enterprise manager tool) and although the classes are listed as valid they are not working.

Running one through SQL Plus using the following commands gives:

connect user/pass@db
execute spname();
/

Connected.

PL/SQL procedure successfully completed.

SP2-0103: Nothing in SQL buffer to run.

I can't delete the java classes in the java enterprise manager becasue I get: VBO - 4569: The java object cannot be dropped. ORA - 29537: class or resource cannot be created or dropped directly.

Trying in the web based tool gives: ORA-29537: class or resource cannot be created or dropped directly

Recompiling gives: oracle.sysman.emSDK.admObj.AdminObjectException: No more data to read from socket

and I have to log back in or else nothing else works.
Avatar of Acton Wang
Acton Wang
Flag of United States of America image

issue:

set serveroutput on
exec spname();


to see if it gives what you want.
Avatar of djguvnor
djguvnor

ASKER

That gives the same as before:

Connected.

PL/SQL procedure successfully completed.

SP2-0103: Nothing in SQL buffer to run

There's not supposed to be any output on screen, the program is supposed to create a file but it's not doing anything.
Run the $ORACLE_HOME/javavm/install/initjvm.sql script AS SYSDBA
That completed as follows but I'm still getting the same errors.



SQL> @c:/oracle/product/10.2.0/db_1/javavm/install/initjvm.sql

PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


Package created.


Package body created.

No errors.

Call completed.


Call completed.


Call completed.


Table created.


Table created.


Table created.


Index created.


Index created.


Index created.


Package created.


Package body created.


Package created.


Package body created.


Call completed.

.
###
### Aborting because initjvm.sql has already been run
###
.
declare foo exception;
*
ERROR at line 1:
ORA-29539: Java system classes already installed
ORA-06512: at line 10


Disconnected from Oracle Database 10g Release 10.2.0.2.0 - Production
I was suspicious that this error may have been something to do with the connection method I was using in the java class so I tried to create a helloworld java class as follows:

connect sys/pword@db as sysdba
CREATE  
    AND COMPILE   JAVA SOURCE NAMED "DB"."JAVAHELLOWORLD"  AS
    class HelloWorld
{
  public static void main (String args[])
  {
    System.out.println("Hello World");
  }
};
/

and I get the following:

Connected.
CREATE
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Thanks for your attempts at help.  It turns out I should have checked the patch log file more closely.  On each instance the catupgrd.sql script had failed to call the other related scripts because the oracle_home in my registry points to the client directory.  The fix was to do: set oracle_home=c:/oracle/blah blah from the command prompt before running SQL+ which overides the oracle home in the registry.

The moral of the story:  Always check the logs!
ASKER CERTIFIED SOLUTION
Avatar of GhostMod
GhostMod
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial