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 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
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
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