Datagrip hangs introspecting oracle schema

My Oracle 11g XE database runs in docker. I created a new schema (OE which is a sample schema of Oracle). But, DataGrip hangs forever with "Introspecting database: major object names". 

P.S. DataGrip can introspect schemas that were in database by default. 

 

DataGrip 2017.2.2
Build #DB-172.4155.28, built on September 6, 2017
Licensed to Rustam Ibragimov
Subscription is active until November 1, 2017
For educational use only.
JRE: 1.8.0_152-release-915-b11 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.6

5
5 comments

I have the same issue as Rustam. I'm able to perform normal selects to the tables in my schema, but IDEA is not able to retrieve the names of the schema objects, and the table/column names are not available for auto-completion. Using a completely different client (DbVisualizer), I'm able to browse the schema objects using the same user credentials, so I don't believe I have a problem with permissions or port mappings.

Here's my IDEA info:

   IntelliJ IDEA 2018.1.4 (Ultimate Edition)
   Build #IU-181.5087.20, built on May 16, 2018
   Licensed to ... 
   You have a perpetual fallback license for this version
   Subscription is active until May 23, 2019
   JRE: 1.8.0_152-release-1136-b39 x86_64
   JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
   macOS 10.13.4

When I create a connection to my Oracle 11g XE running in Docker, I get the same progress task that Rustam reported, stating: "Introspecting database: Major object names". The idea.log has the following at this point:

2018-06-11 10:09:46,571 [2570610] INFO - ution.rmi.RemoteProcessSupport - "/Users/cbarrett/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/181.5087.20/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java" -Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=127.0.0.1 -Duser.timezone=UTC -Dfile.encoding=UTF-8 -classpath "/Users/cbarrett/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/181.5087.20/IntelliJ IDEA.app/Contents/lib/util.jar:/Users/cbarrett/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/181.5087.20/IntelliJ IDEA.app/Contents/lib/trove4j.jar:/Users/cbarrett/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/181.5087.20/IntelliJ IDEA.app/Contents/lib/groovy-all-2.4.12.jar:/Users/cbarrett/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/181.5087.20/IntelliJ IDEA.app/Contents/plugins/DatabaseTools/lib/jdbc-console.jar:/Users/cbarrett/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/181.5087.20/IntelliJ IDEA.app/Contents/plugins/DatabaseTools/lib/dekaf-single-2.0.0.353.jar:/Users/cbarrett/Library/Preferences/IntelliJIdea2018.1/jdbc-drivers/Oracle/12.1.0.2/ojdbc6-12.1.0.2.jar:/Users/cbarrett/Library/Preferences/IntelliJIdea2018.1/jdbc-drivers/Oracle/12.1.0.2/oracle-driver-license.txt:/Users/cbarrett/Library/Preferences/IntelliJIdea2018.1/jdbc-drivers/Oracle/12.1.0.2/xdb6-12.1.0.2.jar:/Users/cbarrett/Library/Preferences/IntelliJIdea2018.1/jdbc-drivers/Oracle/12.1.0.2/xmlparserv2.jar" com.intellij.database.remote.RemoteJdbcServer oracle.jdbc.OracleDriver 
2018-06-11 10:09:46,936 [2570975] INFO - ution.rmi.RemoteProcessSupport - Port/ID: 35737/RemoteDriverImplf22e186b
2018-06-11 10:09:46,972 [2571011] INFO - urce.DatabaseConnectionManager - Connecting as: dashboard
2018-06-11 10:09:46,973 [2571012] INFO - urce.DatabaseConnectionManager - Connecting to: jdbc:oracle:thin:@localhost:1521:XE
2018-06-11 10:09:48,130 [2572169] INFO - .introspection.OraIntrospector - Oracle Introspector: initialized for Oracle version 11.2.0.2 driver version 12.1.0.2 using SLOW mode
2018-06-11 10:09:48,600 [2572639] INFO - .introspection.OraIntrospector - Oracle Introspector: initialized for Oracle version 11.2.0.2 driver version 12.1.0.2 using SLOW mode

After waiting for >10 minutes with no change in progress, I stopped the introspection task, but this had no effect. Next, I deleted the connection. After deleting the connection, the idea.log shows the following... 

2018-06-11 10:19:51,940 [3175979] INFO - ution.rmi.RemoteProcessSupport - Terminating: 35737/RemoteDriverImplf22e186b 
2018-06-11 10:19:51,999 [3176038] INFO - ution.rmi.RemoteProcessSupport - Process finished with exit code 137 (interrupted by signal 9: SIGKILL)
2018-06-11 10:19:52,000 [3176039] WARN - lij.database.util.ErrorHandler - java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is:
java.io.EOFException
java.lang.RuntimeException: java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is:
java.io.EOFException
at com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.java:189)
at com.intellij.execution.rmi.RemoteUtil.access$300(RemoteUtil.java:39)
at com.intellij.execution.rmi.RemoteUtil$RemoteInvocationHandler.invoke(RemoteUtil.java:275)
at com.sun.proxy.$Proxy189.execute(Unknown Source)
at org.jetbrains.dekaf.intermediate.AdaptIntermediateSeance.execute(AdaptIntermediateSeance.java:33)
at org.jetbrains.dekaf.core.BaseQueryRunner.run(BaseQueryRunner.java:72)
...
at java.lang.Thread.run(Thread.java:745)
Caused by: java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is:
java.io.EOFException
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:229)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179)
at com.sun.proxy.$Proxy188.execute(Unknown Source)
at sun.reflect.GeneratedMethodAccessor367.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.java:179)
... 50 more
Caused by: java.io.EOFException
at java.io.DataInputStream.readByte(DataInputStream.java:267)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:215)
... 58 more
2018-06-11 10:19:52,002 [3176041] WARN - lij.database.util.ErrorHandler - java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused (Connection refused)
java.lang.RuntimeException: java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused (Connection refused)
at com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.java:189)
at com.intellij.execution.rmi.RemoteUtil.access$300(RemoteUtil.java:39)
at com.intellij.execution.rmi.RemoteUtil$RemoteInvocationHandler.invoke(RemoteUtil.java:275)
at com.sun.proxy.$Proxy187.openSeance(Unknown Source)
at org.jetbrains.dekaf.intermediate.AdaptIntermediateSession.openSeance(AdaptIntermediateSession.java:43)
at org.jetbrains.dekaf.core.BaseSession.query(BaseSession.java:127)
...
at java.lang.Thread.run(Thread.java:745)
Caused by: java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused (Connection refused)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:130)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179)
at com.sun.proxy.$Proxy186.openSeance(Unknown Source)
at sun.reflect.GeneratedMethodAccessor365.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.java:179)
... 48 more
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 58 more
2018-06-11 10:19:52,004 [3176043] WARN - lij.database.util.ErrorHandler - Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused (Connection refused)
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused (Connection refused)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:130)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179)
at com.sun.proxy.$Proxy184.disconnect(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.execution.rmi.RemoteUtil.invokeRemote(RemoteUtil.java:179)
at com.intellij.execution.rmi.RemoteUtil.access$300(RemoteUtil.java:39)
...
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 46 more
1

Hi,

Can you attach any IDE logs? In case, if there are some freeze log it would be great to get'em too.

Thank you.

0

Could you email zipped IDE log folder to me vasily.chernov@jetbrains.com?

   
0

I have had an issue too with the introspection hanging - particularly while trying to get synonyms on two schemas + public.  When it did complete, it would take hours.

The issue appears to be with the SQL used to obtain the synonyms. There is an IN clause specifying the schemas. When there is only one schema specified, the query takes seconds to execute.  When there are two or more, the required time to execute increases exponentially.  Changing the query to use a UNION (or UNION ALL) - one select for each schema - brings the execution time back down to seconds (or minutes).

I am using IDEA 2019 and IDEA 2020.

0

(With Oracle as our DBMS)

0

Please sign in to leave a comment.