Installation issues

User 2f347cbe91

27-08-2008 10:52:42

I'm installing JChem Cartridge for Oracle. When I try to start JChem server it hangs.





[oracle@db02 cartridge]$ ./server.sh start


+ /usr/java/jdk1.6.0_07/bin/java -server -Xmx700m -Djava.util.logging.config.class=chemaxon.jchem.cartridge.util.LoggingConfigurator -Dchemaxon.jchem.cartridge.config.file=conf/jcart.properties -Djava.awt.headless=true -classpath ./../lib/jchem.jar:/home/oracle/product/10.2.0/jdbc/lib/ojdbc14.jar: chemaxon.jchem.cartridge.rmi.impl.AdminImpl start





I tried to move on with the installation and [oracle@db02 cartridge]$ ./install.sh jchem/[pw]@SID.





It writes three "Type created" and then:


CREATE OR REPLACE TYPE MOLPROPS_ARRAY is VARRAY(1000000000) OF VARCHAR(2000) *


ERROR at line 1:


ORA-02303: cannot drop or replace a type with type or table dependents





How can I proceed with the installation?

ChemAxon aa7c50abf8

27-08-2008 11:17:15

Quote:
When I try to start JChem server it hangs.
It doesn't really hang. It just starts listening waiting for requests.
Quote:



ORA-02303: cannot drop or replace a type with type or table dependents
It is presumably not your first attempt to install JChem Cartridge in the same schema (jchem). Drop the schema, recreate it and restart the installation.





Thanks


Peter

User 2f347cbe91

27-08-2008 12:20:42

pkovacs wrote:



It is presumably not your first attempt to install JChem Cartridge in the same schema (jchem). Drop the schema, recreate it and restart the installation.





Thanks


Peter
OK, now the installation goes further but still there is an error message, maybe the server isn't running?


Thanks!





...


Package body created.





No errors.


Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production


With the Partitioning, OLAP and Data Mining options


+ echo 'Create the SQL script used to register the JChem service URLs'


Create the SQL script used to register the JChem service URLs


+ /usr/java/jdk1.6.0_07/bin/java -cp ../lib/jchem.jar:/home/oracle/product/10.2.0/jdbc/lib/ojdbc14.jar chemaxon.jchem.cartridge.install.ChUrl register-urls jchem/sgc123@ELN localhost:1099


java.lang.Exception: Could not connect to JChemServer at host localhost and port 1099: Connection refused


at chemaxon.jchem.cartridge.install.ChUrl.checkEndPoint(ChUrl.java:124)


at chemaxon.jchem.cartridge.install.ChUrl.getServiceEndPoints(ChUrl.java:63)


at chemaxon.jchem.cartridge.install.ChUrl.main(ChUrl.java:182)


+ exit 1

ChemAxon aa7c50abf8

27-08-2008 12:31:13

Quote:
maybe the server isn't running?
If ./server.sh start didn't report any error, JChemServer should accept requests.





How many machines are involved in the installation process? Are Oracle and JChemServer running on the same machine? Did you start the install.sh script on the same machine where Oracle is running?





Thanks


Peter

User 2f347cbe91

27-08-2008 13:46:09

pkovacs wrote:
Quote:
maybe the server isn't running?
If ./server.sh start didn't report any error, JChemServer should accept requests.





How many machines are involved in the installation process? Are Oracle and JChemServer running on the same machine? Did you start the install.sh script on the same machine where Oracle is running?





Thanks


Peter
No, it doesn't report any error but I don't get the prompt back so I stopped it with Ctrl-c. Is there a way to see that it is running?





JChemServer is on the same server as Oracle.





Thanks!

ChemAxon aa7c50abf8

27-08-2008 14:17:57

If you want to get the prompt back, put an ampersand at the end:





Code:
./server.sh start &






Not getting error messages is a sure sign of it running.





Otherwise you can check by executing:





Code:
telnet localhost 1098






which should return some garbage including the string chemaxon.jchem.cartrdige.rmi.impl.DirectoyImpl_Stub





Thanks


Peter

User 2f347cbe91

27-08-2008 14:56:25

pkovacs wrote:
If you want to get the prompt back, put an ampersand at the end:





Code:
./server.sh start &






Not getting error messages is a sure sign of it running.





Otherwise you can check by executing:





Code:
telnet localhost 1098






which should return some garbage including the string chemaxon.jchem.cartrdige.rmi.impl.DirectoyImpl_Stub





Thanks


Peter



Unfortunaltely I don't get any contact with telnet.





[oracle@db02 cartridge]$ ./server.sh start &


[1] 20370


[oracle@db02 cartridge]$ + /usr/java/jdk1.6.0_07/bin/java -server -Xmx700m -Djava.util.logging.config.class=chemaxon.jchem.cartridge.util.LoggingConfigurator -Dchemaxon.jchem.cartridge.config.file=conf/jcart.properties -Djava.awt.headless=true -classpath ./../lib/jchem.jar:/home/oracle/product/10.2.0/jdbc/lib/ojdbc14.jar: chemaxon.jchem.cartridge.rmi.impl.AdminImpl start





[oracle@db02 cartridge]$


[oracle@db02 cartridge]$


[oracle@db02 cartridge]$ telnet localhost 1098


Trying 127.0.0.1...


telnet: connect to address 127.0.0.1: Connection refused


telnet: Unable to connect to remote host: Connection refused


[oracle@db02 cartridge]$





Thanks!

ChemAxon aa7c50abf8

27-08-2008 15:07:30

Please, could you post the output of the following command:


Code:
grep 'jchem.server.port' conf/jcart.properties






Please, could you also post the output of the following command executed while JChemServer is still (supposedly) running:


Code:
netstat -untap | grep java






Thanks


Peter

User 2f347cbe91

27-08-2008 15:11:12

[oracle@db02 cartridge]$ grep 'jchem.server.port' conf/jcart.properties


jchem.server.port=1099


[oracle@db02 cartridge]$ netstat -untap | grep java


(Not all processes could be identified, non-owned process info


will not be shown, you would have to be root to see it all.)


tcp 0 0 :::1099 :::* LISTEN 20374/java


tcp 0 0 :::13621 :::* LISTEN 20374/java


tcp 0 0 :::13622 :::* LISTEN 20374/java

ChemAxon aa7c50abf8

27-08-2008 15:21:00

OK. So JChemServer is using the default port: 1099.





What does





Code:
telnet localhost 1099






give?

User 2f347cbe91

27-08-2008 15:23:42

[oracle@db02 cartridge]$ telnet localhost 1099


Trying 127.0.0.1...


Connected to localhost.localdomain (127.0.0.1).


Escape character is '^]'.


?sr4chemaxon.jchem.cartridge.rmi.impl.DirectoryImpl_Stubxr?java.rmi.server.RemoteStub????xrjava.rmi.server.RemoteObject?


a3xpw2


6?P?xConnection closed by foreign host.

ChemAxon aa7c50abf8

27-08-2008 15:29:31

Indeed, JChemServer is running at the default port.





I suggest dropping and recreating the jchem schema again. After doing so, you can proceed to start the install.sh script. (Without stopping JChemServer.)





Thanks


Peter

User 2f347cbe91

28-08-2008 07:52:15

Thanks Peter.





Next step was to try "call jchem_core_pkg.use_password('jchem');" and I run into the next problem.








oracle@db02 cartridge]$ sqlplus jchem





SQL*Plus: Release 10.2.0.3.0 - Production on Thu Aug 28 08:54:39 2008





Copyright (c) 1982, 2006, Oracle. All Rights Reserved.





Enter password:





Connected to:


Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production


With the Partitioning, OLAP and Data Mining options





SQL> call jchem_core_pkg.use_password('jchem');


Aug 28, 2008 8:55:19 AM chemaxon.jchem.cartridge.servlets.JCartConnectionManager getConnection


SEVERE: error while creating connection: Listener refused the connection with the following error:


ORA-12505, TNS:listener does not currently know of SID given in connect descriptor


The Connection descriptor used by the client was:


localhost:1521:mydb





java.sql.SQLException: Listener refused the connection with the following error:


ORA-12505, TNS:listener does not currently know of SID given in connect descriptor


The Connection descriptor used by the client was:


localhost:1521:mydb





at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)


at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261)


at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)


at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:439)


at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)


at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)


at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)


at java.sql.DriverManager.getConnection(DriverManager.java:582)


at java.sql.DriverManager.getConnection(DriverManager.java:185)


at chemaxon.jchem.cartridge.servlets.JCartConnectionManager.createConnectionByDriverManager(JCartConnectionManager.java:432)


at chemaxon.jchem.cartridge.servlets.JCartConnectionManager.getConnection(JCartConnectionManager.java:392)


at chemaxon.jchem.cartridge.servlets.JCartConnectionManager.checkConnection(JCartConnectionManager.java:114)


at chemaxon.jchem.cartridge.servlets.JCartConnectionManager.changeUserInfo(JCartConnectionManager.java:208)


at chemaxon.jchem.cartridge.rmi.impl.RmiTunnelImpl.setUserInfo(RmiTunnelImpl.java:123)


at chemaxon.jchem.cartridge.rmi.impl.RmiTunnelImpl.processUc(RmiTunnelImpl.java:65)


at chemaxon.jchem.cartridge.rmi.impl.RmiTunnelImpl.process(RmiTunnelImpl.java:55)


at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)


at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)


at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)


at java.lang.reflect.Method.invoke(Method.java:597)


at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)


at sun.rmi.transport.Transport$1.run(Transport.java:159)


at java.security.AccessController.doPrivileged(Native Method)


at sun.rmi.transport.Transport.serviceCall(Transport.java:155)


at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)


at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)


at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)


at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)


at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)


at java.lang.Thread.run(Thread.java:619)





Aug 28, 2008 8:55:19 AM chemaxon.jchem.cartridge.rmi.impl.RmiImplUtil handleError


SEVERE: Error in RMI call


java.sql.SQLException: Problem connecting to the followingJDBC URL: jdbc:oracle:thin:@localhost:1521:mydb: Listener refused the connection with the following error:


ORA-12505, TNS:listener does not currently know of SID given in connect descriptor


The Connection descriptor used by the client was:


localhost:1521:mydb


. Please, check the JDBC connection properties of the JChem Server.


at chemaxon.jchem.cartridge.servlets.JCartConnectionManager.getConnection(JCartConnectionManager.java:406)


at chemaxon.jchem.cartridge.servlets.JCartConnectionManager.checkConnection(JCartConnectionManager.java:114)


at chemaxon.jchem.cartridge.servlets.JCartConnectionManager.changeUserInfo(JCartConnectionManager.java:208)


at chemaxon.jchem.cartridge.rmi.impl.RmiTunnelImpl.setUserInfo(RmiTunnelImpl.java:123)


at chemaxon.jchem.cartridge.rmi.impl.RmiTunnelImpl.processUc(RmiTunnelImpl.java:65)


at chemaxon.jchem.cartridge.rmi.impl.RmiTunnelImpl.process(RmiTunnelImpl.java:55)


at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)


at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)


at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)


at java.lang.reflect.Method.invoke(Method.java:597)


at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)


at sun.rmi.transport.Transport$1.run(Transport.java:159)


at java.security.AccessController.doPrivileged(Native Method)


at sun.rmi.transport.Transport.serviceCall(Transport.java:155)


at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)


at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)


at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)


at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)


at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)


at java.lang.Thread.run(Thread.java:619)


call jchem_core_pkg.use_password('jchem')


*


ERROR at line 1:


ORA-29532: Java call terminated by uncaught Java exception:


java.rmi.ServerException: RemoteException occurred in server thread; nested


exception is:


java.rmi.RemoteException: Problem connecting to the followingJDBC URL:


jdbc:oracle:thin:@localhost:1521:mydb: Listener refused the connection with the


following error:


ORA-12505, TNS:listener does not currently know of SID given in connect


descriptor


The Connection descriptor used by the client was:


localhost:1521:mydb


. Please, check the JDBC connection properties of the JChem Server.

ChemAxon aa7c50abf8

28-08-2008 08:01:18

Please, change the oracle.server.instance property in conf/jcart.properties from the default (mydb) to the SID of the oracle instance install.sh has been run against. (It is ELN in your case, I believe.)





Thanks


Peter

ChemAxon aa7c50abf8

28-08-2008 09:05:49

You must restart JChemServer after changing the oracle.server.instance property(, but you don't have to restart the entire installation).





P.

User 2f347cbe91

28-08-2008 10:33:00

Thanks, now it works.





Next I want to start JChemManager, the window opens up but it stays on "Connecting to a database <@d02>" and I can't enter the path to JDBC driver etc.

ChemAxon aa7c50abf8

28-08-2008 11:22:18

What about giving a try to Instant JChem (IJC): http://www.chemaxon.com/product/ijc.html? It is much user-friendlier than JChemManager and provides a much smoother "computing experience". It also has many more useful features than JChemManager.





Whenever you find that IJC doesn't meet your requirements, we can always go on helping you with JChem Manager.





Thanks


Peter

User 2f347cbe91

28-08-2008 13:23:18

Actually I get the same problem with Instant JChem. When I choose new database connection and Oracle on my new project I get a window saying "Database connection" but no fields where I can fill in stuff (only a check box for "Remember database password"). Maybe there is some path or something missing?

ChemAxon fa971619eb

28-08-2008 13:48:11

This help document should help you create a new database connection in IJC:


http://www.chemaxon.com/instantjchem/ijc_latest/docs/user/help/htmlfiles/connections/adding_schema.html





A couple of things to note:





1. You will need an IJC license to connect to an Oracle version. The personal edition can only connect to a local (Derby) database.





2. Make sure you use the 'New schema' option, not the 'Connect to schema' option. 'Connect to schema' is for connecting to a database that has already been established in IJC. The first time through this will not be the case and you need to use the 'New schema' option to set up the database.





I hope this helps.





Tim

ChemAxon 9c0afc9aaf

28-08-2008 14:03:35

Quote:
Next I want to start JChemManager, the window opens up but it stays on "Connecting to a database <@d02>" and I can't enter the path to JDBC driver etc.
Strange / incorrect GUI behavior can be a sign of using our tools with the wrong (non-Sun) Java version.





Please type





Code:
java -version






and make sure you are running a Java from Sun (1.4.2. or better).





You can influence this by setting your PATH env. variable.





Best regards,





Szilard

User 2f347cbe91

28-08-2008 14:38:57

OK, the license file got Instant JChem running but I prefer jcman. Could you find you what the problem is from this output?





[oracle@db02 ~]$ java -version


java version "1.4.2"


gcj (GCC) 3.4.6 20060404 (Red Hat 3.4.6-10)


Copyright (C) 2006 Free Software Foundation, Inc.


This is free software; see the source for copying conditions. There is NO


warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.





[oracle@db02 bin]$ ./jcman


Warning: -Xmx200M not understood. Ignoring.


Exception during event dispatch:


java.lang.ArrayIndexOutOfBoundsException: -1


at java.util.Hashtable$Enumerator.nextElement() (/usr/lib/libgcj.so.5.0.0)


at javax.swing.RepaintManager.paintDirtyRegions() (/usr/lib/libgcj.so.5.0.0)


at javax.swing.RepaintManager$RepaintWorker.run() (/usr/lib/libgcj.so.5.0.0)


at java.awt.event.InvocationEvent.dispatch() (/usr/lib/libgcj.so.5.0.0)


at java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent) (/usr/lib/libgcj.so.5.0.0)


at java.awt.EventDispatchThread.run() (/usr/lib/libgcj.so.5.0.0)


at _Jv_ThreadRun(java.lang.Thread) (/usr/lib/libgcj.so.5.0.0)


at GC_start_routine (/usr/lib/libgcj.so.5.0.0)


at __clone (/lib/tls/libc-2.3.4.so)


Exception during event dispatch:


java.lang.ArrayIndexOutOfBoundsException: -1


at java.util.Hashtable$Enumerator.nextElement() (/usr/lib/libgcj.so.5.0.0)


at javax.swing.RepaintManager.paintDirtyRegions() (/usr/lib/libgcj.so.5.0.0)


at javax.swing.RepaintManager$RepaintWorker.run() (/usr/lib/libgcj.so.5.0.0)


at java.awt.event.InvocationEvent.dispatch() (/usr/lib/libgcj.so.5.0.0)


at java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent) (/usr/lib/libgcj.so.5.0.0)


at java.awt.EventDispatchThread.run() (/usr/lib/libgcj.so.5.0.0)


at _Jv_ThreadRun(java.lang.Thread) (/usr/lib/libgcj.so.5.0.0)


at GC_start_routine (/usr/lib/libgcj.so.5.0.0)


at __clone (/lib/tls/libc-2.3.4.so)


update UI not overwritten in class: javax.swing.JLayeredPane[JComponent]


UIDefaults.getUIError: failed to locate UI class:PasswordFieldUI


Michael: BasicTextUI.RootView.paint


Michael: BasicTextUI.RootView.paint


Michael: BasicTextUI.RootView.paint


Michael: BasicTextUI.RootView.paint


Michael: BasicTextUI.RootView.paint


Michael: BasicTextUI.RootView.paint


Michael: BasicTextUI.RootView.paint


Michael: BasicTextUI.RootView.paint


Michael: BasicTextUI.RootView.paint


Michael: BasicTextUI.RootView.paint


Michael: BasicTextUI.RootView.paint


Michael: BasicTextUI.RootView.paint

ChemAxon 42004978e8

28-08-2008 14:58:26

Hi,





It seems that currently you are using gcj java. Please make sure you use Sun java 1.4.2 as written earlier.


If you don't have sun java please download it.


If you have it, set the path to the java VM.


About setting path: http://www.chemaxon.com/jchem/doc/admin/prepscripts.html





Robert