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 .AdminObje ctExceptio n: No more data to read from socket
and I have to log back in or else nothing else works.
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
and I have to log back in or else nothing else works.
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.
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/instal l/initjvm. sql script AS SYSDBA
ASKER
That completed as follows but I'm still getting the same errors.
SQL> @c:/oracle/product/10.2.0/ db_1/javav m/install/ initjvm.sq l
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
SQL> @c:/oracle/product/10.2.0/
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
ASKER
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
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
ASKER
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!
The moral of the story: Always check the logs!
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
set serveroutput on
exec spname();
to see if it gives what you want.