Major performance problem in weblogic jdbc

I ran a test which selected ~1000 rows from an oracle database table. The
code ran in 4 seconds when I used the Oracle driver directly:
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection connection = DriverManager.getConnection(URL, "XXX", "XXX");
When I changed the code to get the connection from weblogic, it took 128
SECONDS!!!!
weblogic.jdbc.connectionPool.pointclick=\
url=jdbc:oracle:thin:@XXX:dev,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=1,\
maxCapacity=2,\
capacityIncrement=1,\
props=user=XXX;password=XXX
weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.pointclick=pointclick
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
Context context = new InitialContext(properties);
try
DataSource dataSource = (DataSource)context.lookup(NAME);
Connection connection = dataSource.getConnection();
// if(!autoCommit)
// connection.setAutoCommit(false);
return connection;
finally
context.close();
The strangest thing is that when I used the weblogic pool, if I executed
"select column from table" it took 128 seconds, but "select * from table"
only took 32 seconds. Why would it take longer to process less data?
And more importantly, why does the weblogic connection take so damn long?
Thanks for your help.
Sean Rohead

Hey, I finally managed to get JDBC logging up and running! Had to do with
permission setting, adding the following entry to weblogic.policy:
permission java.sql.SQLPermission "setLog";
Boy are you right; JDBC logging is slow as mud! Good thing we use BMP
entity beans, so I guess I can log JDBC calls myself in the
ejbCreate/Load/Store/Remove hooks!
Gene Chuang
Teach the world. Join Kiko!
http://www.kiko.com/profile/join.jsp?refcode=TAF-gchuang
"Joseph Weinstein" <[email protected]> wrote in message
news:[email protected]...
>
>
Gene Chuang wrote:
Hey, I've tried setting weblogic.jdbc.enableLogFile=true before and
can't
even get the server to start up! Since JDBC logging is not only slow,but
buggy,JDBC logging is slow for the reasons described, but not buggy as such.
is there a possibility Weblogic can implement a JDBC log for a future
release?
Seems like Weblogic can catch SQL calls much easier than we can,
especially for CMP!It is conceivable that our pool drivers (pool,jts,rmi etc) couldindependently
log SQL for debugging purposes, but we need to retain the semantics ofturning
on jdbc logging, which in any case will continue to emanate from any JDBCdriver.
In any case, we wouldn't do anything differently that DriverManager doesfor
simply writing to a file, which would be serialized by the stream anyway.
Joe
Gene Chuang
Teach the world. Join Kiko!
http://www.kiko.com/profile/join.jsp?refcode=TAF-gchuang
"Joseph Weinstein" <[email protected]> wrote in message
news:[email protected]...
Sean Rohead wrote:
OK, disregard everything I said in my last post. The REAL reason
for
the
slowdown is that I had "weblogic.jdbc.enableLogFile=true" in my
weblogic.properties. So, there is nothing wrong with the JNDIDataSource
object. Sorry if I misled anyone.
Still, it does seem rather excessive for logging to cause a 30Xslowdown.
Someone at BEA ought to take a closer look at that...Known issue, not ours.
JDBC logging collect anything logged by any JDBC driver or by anySQLException.
These all call DriverManager.println() which is class synchronized in
the
JVM,
so this will serialize most JDBC threads, and slow the server down a
lot,
independently of the disk I/O needed to grow the file.
Joe
Sean Rohead
"Sean Rohead" <[email protected]> wrote in message
news:[email protected]...
Nice work, Charlie!
When I just connected to the pool directly, it ran fine. I am
guessing
that
the DataSource returns a connection that connects first to the
server
via
RMI and then to the database. I am trying to obtain a JDBC
connection
for
use in EJB and servlets, so this is clearly overkill. The
question I
now
have is what is the best way to obtain a transactional
connection
without
the overhead described above? Can I somehow create a
transactional
DataSource that doesn't go over RMI? Or, should I just use thejts
driver
directly? I tried the following code, but got an error:
Driver driver = new weblogic.jdbc.jts.Driver();
Properties properties = new Properties();
properties.put("connectionPoolID", "pointclick");
Connection connection = driver.connect("jdbc:weblogic:jts",properties);
The error was:
java.sql.SQLException: The url cannot be null
atjava.sql.DriverManager.getConnection(DriverManager.java:434)
atjava.sql.DriverManager.getConnection(DriverManager.java:106)
at weblogic.jdbcbase.jts.Driver.connect(Driver.java:213)
at
pointclick.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:24)
atpointclick.servlet.TestServlet.doGet(TestServlet.java:36)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:740)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:124)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:744)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:692)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:251)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:363)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
atweblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>>>>>
>>>>>
I copied the code above from
http://www.weblogic.com/docs51/classdocs/jts_driver.html and there
was
no
mention of setting any other properties. If I create the
connection
this
way from an EJB, will it still participate in the transaction
started
by
the
EJB container?
Sean Rohead
"Charlie Crook" <[email protected]> wrote in message
news:[email protected]...
Your Oracle example is also using JNDI to obtain the connection;
not
just
getting a connection from a pool. So you've actually changed 2conditions
( non-pool to pool, non-JNDI to JNDI ). So both of these should
be
considered as suspects for the performance.
"Sean Rohead" <[email protected]> wrote in message
news:[email protected]...
I ran a test which selected ~1000 rows from an oracle database
table.
The
code ran in 4 seconds when I used the Oracle driver directly:
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection connection = DriverManager.getConnection(URL,
"XXX",
"XXX");
When I changed the code to get the connection from weblogic,
it
took
128
SECONDS!!!!
weblogic.jdbc.connectionPool.pointclick=\
url=jdbc:oracle:thin:@XXX:dev,\
driver=oracle.jdbc.driver.OracleDriver,\
initialCapacity=1,\
maxCapacity=2,\
capacityIncrement=1,\
props=user=XXX;password=XXX
weblogic.jdbc.TXDataSource.weblogic.jdbc.jts.pointclick=pointclick
>>>>>>>
>>>>>>>
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
Context context = new InitialContext(properties);
try
DataSource dataSource = (DataSource)context.lookup(NAME);
Connection connection = dataSource.getConnection();
// if(!autoCommit)
// connection.setAutoCommit(false);
return connection;
finally
context.close();
The strangest thing is that when I used the weblogic pool, ifI
executed
"select column from table" it took 128 seconds, but "select *
from
table"
only took 32 seconds. Why would it take longer to process
less
data?
And more importantly, why does the weblogic connection take sodamn
long?
Thanks for your help.
Sean Rohead
PS: Folks: BEA WebLogic is in S.F., and now has some entry-level
positions
for
people who want to work with Java and E-Commerce infrastructure
products.
Send
resumes to [email protected]
The Weblogic Application Server from BEA
JavaWorld Editor's Choice Award: Best Web Application Server
Java Developer's Journal Editor's Choice Award: Best Web ApplicationServer
Crossroads A-List Award: Rapid Application Development Tools for
Java
Intelligent Enterprise RealWare: Best Application Using a ComponentArchitecture
http://www.bea.com/press/awards_weblogic.html
PS: Folks: BEA WebLogic is in S.F., and now has some entry-level positionsfor
people who want to work with Java and E-Commerce infrastructure products.Send
resumes to [email protected]
The Weblogic Application Server from BEA
JavaWorld Editor's Choice Award: Best Web Application Server
Java Developer's Journal Editor's Choice Award: Best Web ApplicationServer
Crossroads A-List Award: Rapid Application Development Tools for Java
Intelligent Enterprise RealWare: Best Application Using a ComponentArchitecture
http://www.bea.com/press/awards_weblogic.html

Similar Messages

  • JDBC Problems -- NoClassDefFoundError: weblogic/jdbc/wrapper/JTSConnection

     

    Ben Belchak wrote:
    Hi, newsgroup:
    I have been developing with the Workshop for about a month now, and everything has been going great until last week. I have been connected and able to retrieve data from our AS/400 using the jt400 drivers, but all of a sudden something happened that caused me to get the following error. If anybody can assist, it would be greatly appreciated.
    Some background: I have the JDBC JAR inside the classpath for my server, and it is loading it properly because I can test the connection pool from within the appserver's admin console.
    In appserver:
    java.lang.NoClassDefFoundError: weblogic/jdbc/wrapper/JTSConnectionHi. Did you get a response for this?
    Make sure you don't have the JDBC jar in the client classpath too. Just make
    sure it's in the server classpath. Let me know if that helps.
    Joe
    at java.lang.ClassLoader.defineClass(Ljava.lang.String;[BIILjava.securit
    y.ProtectionDomain;)Ljava.lang.Class;(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Ljava.lang.String;[BIILja
    va.security.CodeSource;)Ljava.lang.Class;(SecureClassLoader.java:123)
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Ljava.l
    ang.String;)Ljava.lang.Class;(GenericClassLoader.java:476)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(Ljava.lang.S
    tring;)Ljava.lang.Class;(GenericClassLoader.java:181)
    at java.lang.ClassLoader.loadClass(Ljava.lang.String;Z)Ljava.lang.Class;
    (Unknown Source)
    Inside browser:
    An error has occurred:
    EJB Exception: ; nested exception is:
    weblogic.jws.control.ControlException: Exception in onAcquirecontext event handler[Context failure: onAcquire[Failed to Generate Wrapper Class.
    Nested Exception: java.lang.RuntimeException: Failed to Generate Wrapper Class
    at weblogic.utils.wrapper.WrapperFactory.createWrapper(Ljava.lang.Class;Ljava.lang.Object;Z)Ljava.lang.Object;(WrapperFactory.java:183)
    at weblogic.jdbc.wrapper.JDBCWrapperFactory.getWrapper(ILjava.lang.Object;Z)Ljava.lang.Object;(JDBCWrapperFactory.java:171)
    at weblogic.jdbc.jts.Driver.newConnection(Ljava.lang.String;Lweblogic.transaction.Transaction;Ljava.lang.String;)Lweblogic.jdbc.wrapper.JTSConnection;(Driver.java:737)
    at weblogic.jdbc.jts.Driver.createLocalConnection(Lweblogic.transaction.Transaction;Ljava.lang.String;Ljava.util.Properties;)Lweblogic.jdbc.wrapper.JTSConnection;(Driver.java:197)
    at weblogic.jdbc.jts.Driver.connect(Ljava.lang.String;Ljava.util.Properties;)Ljava.sql.Connection;(Driver.java:155)
    at weblogic.jdbc.common.internal.RmiDataSource.getConnection()Ljava.sql.Connection;(RmiDataSource.java:305)
    at com.bea.wlw.runtime.core.control.DatabaseControlImpl.getConnection()Ljava.sql.Connection;(DatabaseControlImpl.jcs:1424)
    at com.bea.wlw.runtime.core.control.DatabaseControlImpl.context_onAcquire()V(DatabaseControlImpl.jcs:1316)
    at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang..Object;(Unknown Source)
    at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(DispMethod.java:367)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Ljava.lang.Object;Ljava.lang.String;Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:423)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:396)
    at com.bea.wlw.runtime.core.container.Invocable.fireEvent(Lcom.bea.wlw.runtime.core.context.WlwThreadContext;Ljava.lang.String;Ljava.lang.Object;Ljava.lang.reflect.Method;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:612)
    at com.bea.wlw.runtime.core.context.WlwThreadContext.sendEvent(Ljava.lang.reflect.Method;[Ljava.lang.Object;)Ljava.lang.Object;(WlwThreadContext.java:980)
    at com.bea.wlw.runtime.core.context.WlwThreadContext.raiseEvent()Ljava.lang.Object;(WlwThreadContext.java:910)
    at com.bea.wlw.runtime.core.container.Container.raiseContextEvent()Ljava.lang.Object;(Container.java:567)
    at com.bea.wlw.runtime.jcs.container.JcsContainer.onAcquire()V(JcsContainer.java:529)
    at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(DispMethod.java:367)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Ljava.lang.Object;Ljava.lang.String;Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:423)
    at com.bea.wlw.runtime.core.container.Invocable.sendContextEvent(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:533)
    at com.bea.wlw.runtime.jcs.container.JcsContainer.sendContextEvent(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(JcsContainer.java:480)
    at com.bea.wlw.runtime.jcx.container.JcxContainer.preInvoke(Lcom.bea.wlw.runtime.core.context.WlwThreadContext;Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.request.Request;(JcxContainer.java:110)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(Invocable.java:187)
    at com.bea.wlw.runtime.jcs.container.JcsContainer.invoke(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(JcsContainer.java:84)
    at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(BaseContainerBean.java:198)
    caused by: : weblogic.jws.control.ControlException: Exception in onAcquirecontext event handler[Context failure: onAcquire[Failed to Generate Wrapper Class.
    Nested Exception: java.lang.RuntimeException: Failed to Generate Wrapper Class
    at weblogic.utils.wrapper.WrapperFactory.createWrapper(Ljava.lang.Class;Ljava.lang.Object;Z)Ljava.lang.Object;(WrapperFactory.java:183)
    at weblogic.jdbc.wrapper.JDBCWrapperFactory.getWrapper(ILjava.lang.Object;Z)Ljava.lang.Object;(JDBCWrapperFactory.java:171)
    at weblogic.jdbc.jts.Driver.newConnection(Ljava.lang.String;Lweblogic.transaction.Transaction;Ljava.lang.String;)Lweblogic.jdbc.wrapper.JTSConnection;(Driver.java:737)
    at weblogic.jdbc.jts.Driver.createLocalConnection(Lweblogic.transaction.Transaction;Ljava.lang.String;Ljava.util.Properties;)Lweblogic.jdbc.wrapper.JTSConnection;(Driver.java:197)
    at weblogic.jdbc.jts.Driver.connect(Ljava.lang.String;Ljava.util.Properties;)Ljava.sql.Connection;(Driver.java:155)
    at weblogic.jdbc.common.internal.RmiDataSource.getConnection()Ljava.sql.Connection;(RmiDataSource.java:305)
    at com.bea.wlw.runtime.core.control.DatabaseControlImpl.getConnection()Ljava.sql.Connection;(DatabaseControlImpl.jcs:1424)
    at com.bea.wlw.runtime.core.control.DatabaseControlImpl.context_onAcquire()V(DatabaseControlImpl.jcs:1316)
    at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(DispMethod.java:367)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Ljava.lang.Object;Ljava.lang.String;Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:423)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:396)
    at com.bea.wlw.runtime.core.container.Invocable.fireEvent(Lcom.bea.wlw.runtime.core.context.WlwThreadContext;Ljava.lang.String;Ljava.lang.Object;Ljava.lang.reflect.Method;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:612)
    at com.bea.wlw.runtime.core.context.WlwThreadContext.sendEvent(Ljava.lang.reflect.Method;[Ljava.lang.Object;)Ljava.lang.Object;(WlwThreadContext.java:980)
    at com.bea.wlw.runtime.core.context.WlwThreadContext.raiseEvent()Ljava.lang.Object;(WlwThreadContext.java:910)
    at com.bea.wlw.runtime.core.container.Container.raiseContextEvent()Ljava.lang.Object;(Container.java:567)
    at com.bea.wlw.runtime.jcs.container.JcsContainer.onAcquire()V(JcsContainer.java:529)
    at jrockit.reflect.NativeMethodInvoker.invoke0(Ljava.lang.Object;ILjava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at jrockit.reflect.NativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source)
    at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
    at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(DispMethod.java:367)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Ljava.lang.Object;Ljava.lang.String;Lcom.bea.wlw.runtime.core.dispatcher.DispMethod;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:423)
    at com.bea.wlw.runtime.core.container.Invocable.sendContextEvent(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(Invocable.java:533)
    at com.bea.wlw.runtime.jcs.container.JcsContainer.sendContextEvent(Ljava.lang.String;[Ljava.lang.Object;)Ljava.lang.Object;(JcsContainer.java:480)
    at com.bea.wlw.runtime.jcx.container.JcxContainer.preInvoke(Lcom.bea.wlw.runtime.core.context.WlwThreadContext;Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.request.Request;(JcxContainer.java:110)
    at com.bea.wlw.runtime.core.container.Invocable.invoke(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(Invocable.java:187)
    at com.bea.wlw.runtime.jcs.container.JcsContainer.invoke(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(JcsContainer.java:84)
    at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(Lcom.bea.wlw.runtime.core.request.Request;)Lcom.bea.wlw.runtime.core.dispatcher.InvokeResult;(BaseContainerBean.java:198)
    Message was edited by bbelchak at Aug 9, 2004 1:16 PM
    Message was edited by bbelchak at Aug 9, 2004 1:20 PM
    Message was edited by bbelchak at Aug 9, 2004 1:50 PM

  • Is anyone else having major performance problems with FMLE since the upgrade to Mavericks

    OSX Mavericks seems to be having problems with streaming uploads in general, but in particular, I can not stream videos with FMLE at all. I tried it with my accounts at Ustream and Justin and they have the exact same results, with the stream pausing and going black after just a couple minutes. It doesn't seem to matter what my output settings are; this will happen even if it's set for extremely low bandwidth.
    This did not happen when I was using Mountain Lion. I am almost certain the new OS is causing the issues, but I am not sure how or why, and am having trouble finding others with this problem.
    Other programs I am using in conjunction with FMLE are CamTwist and Soundflower

    I have problem streaming to twitch/justin.tv using Mavericks.
    I've tried most of their FMS-servers without success. I get this loop:
    Wed Oct 30 2013 01:53:58 : Primary - Re-establishing connection, attempt 1
    Wed Oct 30 2013 01:53:59 : Primary - Reconnected to FMS/3,5,7,7009
    Wed Oct 30 2013 01:54:04 : Primary - Network Status: NetConnection.Connect.Closed status
    Wed Oct 30 2013 01:54:04 : Primary - Disconnected

  • (new?) performance problem using jDriver after a Sql Server 6.5 to 2000 conversion

    Hi,
    This is similar - yet different - to a few of the old postings about performance
    problems with using jdbc drivers against Sql Server 7 & 2000.
    Here's the situation:
    I am running a standalone java application on a Solaris box using BEA's jdbc driver
    to connect to a Sql Server database on another network. The application retrieves
    data from the database through joins on several tables for approximately 40,000
    unique ids. It then processes all of this data and produces a file. We tuned
    the app so that the execution time for a single run through the application was
    24 minutes running against Sql Server 6.5 with BEA's jdbc driver. After performing
    a DBMS conversion to upgrade it to Sql Server 2000 I switched the jDriver to the
    Sql Server 2000 version. I ran the app and got an alarming execution time of
    5hrs 32 min. After some research, I found the problem with unicode and nvarchar/varchar
    and set the "useVarChars" property to "true" on the driver. The execution time
    for a single run through the application is now 56 minutes.
    56 minutes compared to 5 1/2 hrs is an amazing improvement. However, it is still
    over twice the execution time that I was seeing against the 6.5 database. Theoretically,
    I should be able to switch out my jdbc driver and the DBMS conversion should be
    invisible to my application. That would also mean that I should be seeing the
    same execution times with both versions of the DBMS. Has anybody else seen a
    simlar situation? Are there any other settings or fixes that I can put into place
    to get my performance back down to what I was seeing with 6.5? I would rather
    not have to go through and perform another round of performance tuning after having
    already done this when the app was originally built.
    thanks,
    mike

    Mike wrote:
    Joe,
    This was actually my next step. I replaced the BEA driver with
    the MS driver and let it run through with out making any
    configuration changes, just to see what happened. I got an
    execution time of about 7 1/2 hrs (which was shocking). So,
    (comparing apples to apples) while leaving the default unicode
    property on, BEA ran faster than MS, 5 1/2 hrs to 7 1/2 hrs.
    I then set the 'SendStringParametersAsUnicode' to 'false' on the
    MS driver and ran another test. This time the application
    executed in just over 24 minutes. The actual runtime was 24 min
    16 sec, which is still ever so slightly above the actual runtime
    against SS 6.5 which was 23 min 35 sec, but is twice as fast as the
    56 minutes that BEA's driver was giving me.
    I think that this is very interesting. I checked to make sure that
    there were no outside factors that may have been influencing the
    runtimes in either case, and there were none. Just to make sure,
    I ran each driver again and got the same results. It sounds like
    there are no known issues regarding this?
    We have people looking into things on the DBMS side and I'm still
    looking into things on my end, but so far none of us have found
    anything. We'd like to continue using BEA's driver for the
    support and the fact that we use Weblogic Server for all of our
    online applications, but this new data might mean that I have to
    switch drivers for this particular application.Thanks. No, there is no known issue, and if you put a packet sniffer
    between the client and DBMS, you will probably not see any appreciable
    difference in the content of the SQL sent be either driver. My suspicion is
    that it involves the historical backward compatibility built in to the DBMS.
    It must still handle several iterations of older applications, speaking obsolete
    versions of the DBMS protocol, and expecting different DBMS behavior!
    Our driver presents itself as a SQL7-level application, and may well be treated
    differently than a newer one. This may include different query processing.
    Because our driver is deprecated, it is unlikely that it will be changed in
    future. We will certainly support you using the MS driver, and if you look
    in the MS JDBC newsgroup, you'll see more answers from BEA folks than
    from MS people!
    Joe
    >
    >
    Mike
    The next test you should do, to isolate the issue, is to try another
    JDBC driver.
    MS provides a type-4 driver now, for free. If it is significantly faster,
    it would be
    interesting. However, it would still not isolate the problem, because
    we still would
    need to know what query plan is created by the DBMS, and why.
    Joe Weinstein at BEA
    PS: I can only tell you that our driver has not changed in it's semantic
    function.
    It essentially send SQL to the DBMS. It doesn't alter it.

  • Performance problems with Leopard 10.5.1

    Hello,
    I use an iMac 24 Alu 2,8Ghz and upgraded to Leopard. There are some major performance problems and bugs in the recent version of Leopard:
    1. While accessing USB devices, the display speed, windows moving, animations etc. slow down
    2. Adobe CS3 Photoshop 10.01 and Flash CS3 are sometimes extremly slow. I tried the recent demo packages from Adobe:
    2.1. The Photoshop dialogue "save for web" slows down the system completly, and this problem stays when quitting Photoshop. A restart is neccessary then.
    2.2. Flash CS3 movie preview is very slow and stuttering. It's so slow you cannot imagine how the real movie flow will be.
    2.3. Recent Flash Player 9,0,115,0 with hardware acceleration enabled doesn't really work with QuartzGL enabled Leopard: The movies slow down a lot. Try www.neave.tv for example.
    3. Safari, Mail and other bundled software hang sometimes. You have to force quit them then. It doesn't matter whether QuartzGL is enabled or not. This especially happens to my system if it is online for some hours.
    4. A lot of Apple applications doesn't seem to work with 2dextreme enabled. Why this? Apple supporters told me in Leopard there will be a much better 2dextreme support. Also Quartz2dExtreme in OSX 10.4 worked with all applications and i guess it's the same feature like "QuartzGL" in Leopard. So Leopard isn't finished here. It would be nice if Apple could make it's own software QuartzGL compatible.
    5. Very often the desktop slows down or lags. This is the main reason I often still witch to Windows XP PC to do work in a faster, less annoying way.
    6. Safari crashes randomly sometimes. It is unstable still. Also it crashes more often if you resize/move the window a lot, so I guess it is a graphics extension-related problem.
    I hope you people from Apple will fix these annoying points and optimize your new system in the next update release.
    Best regards

    Thanks for you answer. I repaired in the way as described above. There were some errors, some file index was wrong (don't remember exactly the phrase), now the DU reports the partition was successfully repaired / the volume appears to be ok.
    The crashes in Safari are gone, but all other described problems still exist. Adobe CS3 is not really usable for me.
    By the way, in iMacSoftwareUpdate 1.3, which was replaced by OSX 10.5.1 update, there is one extension called AppleVADriver.kext that does not exist in the OSX 10.5.1 update. Is it an important extension?

  • RMAN duplicate target database from active database - performance problem

    Hello. I’m running into a major performance problem when trying to duplicate a database from a target located inside our firewall to an auxiliary located outside our firewall. Both target and auxiliary are located in the same equipment room just on different subnets. Previously I had the auxiliary located on the same subnet as the target behind the firewall and duplicating a 4.5T database took 12 hours. Now with the auxiliary moved outside the firewall attempting to duplicate the same 4.5T database is estimated to exceed 35 hours. The target is a RAC instance using ASM and so is the auxiliary. Ping, tnsping, traceroutes to and from target and auxiliary all indicate no problem or latency. Any ideas on things to consider while hunting for this elusive performance decrease?
    Thanks in advance.

    It would obviously appear network related. Have you captured any network/firewall metrics? Are all components set to full duplex? Would it be possible to take the firewall down temporarily and then test the throughput? Do you encounter any latency if you were to copy a large file across the subnets?
    You may want to check V$RMAN_BACKUP_JOB_DETAILS, V$BACKUP_SYNC_IO or V$BACKUP_ASYNC_IO when the backup is running.

  • Performance problem with Personalizations

    Hi All,
    We are doing iProcurement customizations on 11.5.10 instance. We are done with our personalization and extensions with iProc module. Majority of which are personalization and 8-9 are extension which requires hardly 2-3 lines of code changes. We deployed our all customizations but after that we are facing major performance problem. In Checkout page of iProc module after clicking Next button, it almost takes 7-8 minutes. In the same way on Submit and Review page, after submitting requisition it takes almost 8-9 minutes.
    I checked the OAF personalization guide and it has mentioned that Personalization will not affect performance. And about Extension, we just replaced changed class files and one substituted VO and imported JPX file to 11.5.10 instance.
    Can anyone please suggest any workaround or any more things to work on or any patch to apply or any setting to improve performance? That will be great help for us because we are really facing performance problem on high priority.
    Thanks and Regards,
    Suhas.

    Hi All,
    We are doing iProcurement customizations on 11.5.10 instance. We are done with our personalization and extensions with iProc module. Majority of which are personalization and 8-9 are extension which requires hardly 2-3 lines of code changes. We deployed our all customizations but after that we are facing major performance problem. In Checkout page of iProc module after clicking Next button, it almost takes 7-8 minutes. In the same way on Submit and Review page, after submitting requisition it takes almost 8-9 minutes.
    I checked the OAF personalization guide and it has mentioned that Personalization will not affect performance. And about Extension, we just replaced changed class files and one substituted VO and imported JPX file to 11.5.10 instance.
    Can anyone please suggest any workaround or any more things to work on or any patch to apply or any setting to improve performance? That will be great help for us because we are really facing performance problem on high priority.
    Thanks and Regards,
    Suhas.

  • Performance problem: 1.000 queries over a 1.000.000 rows table

    Hi everybody!
    I have a difficult performance problem: I use JDBC over an ORACLE database. I need to build a map using data from a table with around 1.000.000 rows. My query is very simple (see the code) and takes an average of 900 milliseconds, but I must perform around 1.000 queries with different parameters. The final result is that user must wait several minutes (plus the time needed to draw the map and send it to the client)
    The code, very simplified, is the following:
    String sSQLCreateView =
    "CREATE VIEW " + sViewName + " AS " +
    "SELECT RIGHT_ASCENSION, DECLINATION " +
    "FROM T_EXO_TARGETS " +
    "WHERE (RIGHT_ASCENSION BETWEEN " + dRaMin + " AND " + dRaMax + ") " +
    "AND (DECLINATION BETWEEN " + dDecMin + " AND " + dDecMax + ")";
    String sSQLSentence =
    "SELECT COUNT(*) FROM " + sViewName +
    " WHERE (RIGHT_ASCENSION BETWEEN ? AND ?) " +
    "AND (DECLINATION BETWEEN ? AND ?)";
    PreparedStatement pstmt = in_oDbConnection.prepareStatement(sSQLSentence);
    for (int i = 0; i < 1000; i++)
    pstmt.setDouble(1, a);
    pstmt.setDouble(2, b);
    pstmt.setDouble(3, c);
    pstmt.setDouble(4, d);
    ResultSet rset = pstmt.executeQuery();
    X = rset.getInt(1);
    I have yet created index with RIGHT_ASCENSION and DECLINATION fields (trying different combinations).
    I have tried yet multi-threads, with very bad results
    Has anybody a suggestion ?
    Thank you very much!

    How many total rows are there likely to be in the View you create?
    Perhaps just do a select instead of a view, and loop thru the resultset totalling the ranges in java instead of trying to have 1000 queries do the job. Something like:
    int     iMaxRanges = 1000;
    int     iCount[] = new int[iMaxRanges];
    class Range implements Comparable
         float fAMIN;
         float fAMAX;
         float fDMIN;
         float fDMAX;
         float fDelta;
         public Range(float fASC_MIN, float fASC_MAX, float fDEC_MIN, float fDEC_MAX)
              fAMIN = fASC_MIN;
              fAMAX = fASC_MAX;
              fDMIN = fDEC_MIN;
              fDMAX = fDEC_MAX;
         public int compareTo(Object range)
              Range     comp = (Range)range;
              if (fAMIN < comp.fAMIN)
                   return -1;
              if (fAMAX > comp.fAMAX)
                   return 1;
              if (fDMIN < comp.fDMIN)
                   return -1;
              if (fDMAX > comp.fDMAX)
                   return 1;
              return 0;
    List     listRanges = new ArrayList(iMaxRanges);
    listRanges.add(new Range(1.05, 1.10, 120.5, 121.5));
    //...etc.
    String sSQL =
    "SELECT RIGHT_ASCENSION, DECLINATION FROM T_EXO_TARGETS " +
    "WHERE (RIGHT_ASCENSION BETWEEN " + dRaMin + " AND " + dRaMax + ") " +
    "AND (DECLINATION BETWEEN " + dDecMin + " AND " + dDecMax + ")";
    Statement stmt = in_oDbConnection.createStatement();
    ResultSet rset = stmt.executeQuery(sSQL);
    while (rset.next())
         float fASC = rset.getFloat("RIGHT_ASCENSION");
         flaot fDEC = rset.getFloat("DECLINATION");
         int iRange = Collections.binarySearch(listRanges, new Range(fASC, fASC, fDEC, fDEC));
         if (iRange >= 0)
              ++iCount[iRange];

  • WLS6.1 SP4 weblogic JDBC driver problem

    Hi,
    We have a big Oracle table (more than 13000000 rows). The query cost by SP2 weblogic
    driver is about 200 milli-second while SP4 cost is more than 200 seconds. Does
    anyone know how to fix the problem? Our Orale is 9.2.0.1. The test program is
    a simple java application running on Sun 5.8, JDK 1.3.1_02-b02.

    amyshuai wrote:
    We are using the weblogic jdbc driver. The connection is from JDBCTxDataSource.
    Problem can be solved by using oracle jdbc driver 9.0.1.4, but we are curious
    why
    the jdbc driver can impact the query performance so much?So all connections are coming through our pool, and you found a performance
    regression in our Oracle driver between sp2 and sp4, which you work around
    by using Oracle's own driver. Is that correct?
    thanks,
    Joe

  • Performance problem in RFC to JDBC interface

    Hello everybody!
    i'm working whit SAP PI 7.1
    We defined some interfaces RFC - PI - JDBC (SQL server) but we have some performance problem.
    If we have many row to write on the table then interface finish in timeout :
    Synchronous timeout exceeded.
    Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message 1d1f00b0-fecf-11de-8738-0015600446f0(OUTBOUND) expired.
    I read the PI tuning document and i tried to apply configuration whit Advanced Adapter Engine but whitout result.
    Now we want change the timeout in visual admin and maybe we solve the error but i'm asking myself....:
    It's normal that for write 1500 row in a table we need more than 4 minuts????
    It's possible accelerate this process??? After go live we will write messages whit more than 50.000 row.
    somebody may help me?
    PS: please no link to tuning guide or to notes (to increase the timeout parameter).

    This could be because your Database system (JDBC server) is taking more time to insert. The problem is not on PI side but on the receiving system side. Try inserting the same number od rows on the database server itself and check for the time taken for execution. Adding indexes on your database table solves the issue lot of times.
    Here PI is not the culprit but definitely  the receiver system.
    VJ

  • JDBC performance problem with Blob

    Hi,
    I've some performance problem while inserting Blob in an Oracle
    8i database. I'm using JVM 1.17 on HP-UX 11.0 with Oracle thin
    client
    The table I used contains only two columns : an integer (the
    primary key) and a blob.
    First I insert a row in the table with an empty_blob()
    Then I select back this row to get the blob
    and finally I fill in the blob with the data.
    But it takes an average 4.5 seconds to insert a blob of 47 Kb.
    Am I doing something wrong?
    Any suggestion or hint will be welcome.
    Thanks in advance
    Didier
    null

    Don S. (guest) wrote:
    : Didier Derck (guest) wrote:
    : : Hi,
    : : I've some performance problem while inserting Blob in an
    Oracle
    : : 8i database. I'm using JVM 1.17 on HP-UX 11.0 with Oracle
    thin
    : : client
    : : The table I used contains only two columns : an integer (the
    : : primary key) and a blob.
    : : First I insert a row in the table with an empty_blob()
    : : Then I select back this row to get the blob
    : : and finally I fill in the blob with the data.
    : : But it takes an average 4.5 seconds to insert a blob of 47
    Kb.
    : : Am I doing something wrong?
    : : Any suggestion or hint will be welcome.
    : : Thanks in advance
    : : Didier
    : In our testing if you use blob.putBytes() you will get better
    : performance. The draw back we found was the 32k limit we ran
    in
    : to. We had to chunk things larger than that and make calls to
    : the append method. I was dissappointed in Oracle's phone
    support
    : on what causes the 32k limit. In addition the getBytes() for
    : retrieve doesn't seem to work. You'll have to use the
    : InputStream for that. Oh, and FYI. We ran into a 2k limit on
    : putChars() for CLOB's.
    the thin drivers currently use the package "dbms_lob" behind the
    scenes while the jdbc oci 815 drivers and higher uses the native
    oci calls which makes them much faster.
    there also is a 32k limit on pl/sql stored procedures/functions
    for parms.
    you may have run into that.
    null

  • Severe performance problem

    Hi,
    We have developed a e-commerce application using weblogic 4.5.1. We use
    jdk1.2.2 and have installed service pack 7.
    We use a progress database with a jdbc driver provided by Merant.
    This jdbc driver doesn't support connection pooling so we get the connection
    each time we need it.
    We developed some servlets and jsp pages, also compiled using jdk1.2.2.
    The problem we have is that there is one query that when we execute it,
    results in a time out error after 3 minutes. The keepalivesecs are set to
    more than 6000 secs. It is according to me not a problem of neither the
    database nor the jdbc driver, since I tested the same code without using
    weblogic and the servlet. Then the query performs fine. After 10 secs I get
    the disered result.(run on a client machine).
    I have looked at the performance tuning document but there is not much
    information about how to handle this. Even if there is only 1 (one) user
    connected performance is terrible.
    Kind regards,
    Patrick

    Hi,
    We have a similiar setup and also have performance problems.
    We are using Weblogic 4.5.1 towards a Sybase database.
    We are using JSP (pages) and it doesn't seem to be the actual
    application that needs tuning(?). It more looks like it is some
    weserver/application server setup somewhere.
    The site is at http://www.awardit.se (it's in swedish though).
    Any ideas/solutions?
    Best Regards
    Kenneth Ljunggren
    "Patrick Vanbrabant" <[email protected]> skrev i meddelandet
    news:8a8kmb$jso$[email protected]..
    Hi,
    We have developed a e-commerce application using weblogic 4.5.1. We use
    jdk1.2.2 and have installed service pack 7.
    We use a progress database with a jdbc driver provided by Merant.
    This jdbc driver doesn't support connection pooling so we get theconnection
    each time we need it.
    We developed some servlets and jsp pages, also compiled using jdk1.2.2.
    The problem we have is that there is one query that when we execute it,
    results in a time out error after 3 minutes. The keepalivesecs are set to
    more than 6000 secs. It is according to me not a problem of neither the
    database nor the jdbc driver, since I tested the same code without using
    weblogic and the servlet. Then the query performs fine. After 10 secs Iget
    the disered result.(run on a client machine).
    I have looked at the performance tuning document but there is not much
    information about how to handle this. Even if there is only 1 (one) user
    connected performance is terrible.
    Kind regards,
    Patrick

  • Connection Pooling problem in Weblogic Server 6.1

    Hi
    We are using weblogic server 6.1 sp3. The server creates three database connection
    pools (details available in the attached config.xml).
    The database has a regular downtime every day for a few hours. We are running
    the server as a windows service. As per the "RefreshMinutes" property, the server
    should be able to get new fresh connections once the database comes up. But in
    our case it is not doing so. Once the database comes up after its regular downtime:
    -- Sometimes the server does not respond as in we are not able to open the console
    page.
    -- Any client that tries connecting to the database thru the server gets blocked
    and does not respond.
    -- The log file(weblogic.log) does not get updated after some time.
    Can someone suggest why the server is showing such a behaviour??
    Could it be anything related to the DBMS setting or to the local machine's settings
    ? Following is the thread dump after the server stops responding:
    Full thread dump:
    "ListenThread" prio=5 tid=0x14ffb570 nid=0x148c runnable [0x1685f000..0x1685fdbc]
         at java.net.PlainSocketImpl.socketAccept(Native Method)
         at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:468)
         at java.net.ServerSocket.implAccept(ServerSocket.java:243)
         at java.net.ServerSocket.accept(ServerSocket.java:222)
         at weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:26)
         at weblogic.t3.srvr.ListenThread.run(ListenThread.java:260)
    "Thread-3" daemon prio=5 tid=0x14fb18b8 nid=0x12d4 waiting on monitor [0x167df000..0x167dfdbc]
         at java.lang.Thread.sleep(Native Method)
         at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "Thread-2" daemon prio=5 tid=0x14f21c68 nid=0xf08 waiting on monitor [0x1679f000..0x1679fdbc]
         at java.lang.Thread.sleep(Native Method)
         at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "Thread-1" daemon prio=5 tid=0x14fb97d8 nid=0xcac waiting on monitor [0x1675f000..0x1675fdbc]
         at java.lang.Thread.sleep(Native Method)
         at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "ExecuteThread: '14' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e75a10
    nid=0x13ec waiting on monitor [0x1671f000..0x1671fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '13' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e74e58
    nid=0x1434 waiting on monitor [0x166df000..0x166dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '12' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e742a0
    nid=0x1154 waiting on monitor [0x1669f000..0x1669fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '11' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e72ed0
    nid=0xfe4 waiting on monitor [0x1665f000..0x1665fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '10' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e72318
    nid=0x9a4 waiting on monitor [0x1661f000..0x1661fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '9' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e717d8 nid=0xf38
    waiting on monitor [0x165df000..0x165dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '8' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e70c98 nid=0xf68
    waiting on monitor [0x1659f000..0x1659fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '7' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e70158 nid=0x1008
    waiting on monitor [0x1655f000..0x1655fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '6' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6f610 nid=0x1204
    waiting on monitor [0x1651f000..0x1651fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '5' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6ead0 nid=0xef4
    waiting on monitor [0x164df000..0x164dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '4' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6dfa8 nid=0x12bc
    waiting on monitor [0x1649f000..0x1649fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '3' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6d5e8 nid=0xf70
    waiting on monitor [0x1645f000..0x1645fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6ccb0 nid=0xf84
    waiting on monitor [0x1641f000..0x1641fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e67510 nid=0x1418
    waiting on monitor [0x163df000..0x163dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e64f60 nid=0x1228
    waiting on monitor [0x1639f000..0x1639fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: 'weblogic.transaction.AsyncQueue'" daemon prio=5
    tid=0x14e5c3f0 nid=0xf60 waiting on monitor [0x1635f000..0x1635fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: 'weblogic.transaction.AsyncQueue'" daemon prio=5
    tid=0x14e5b908 nid=0xf78 waiting on monitor [0x1631f000..0x1631fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: 'weblogic.transaction.AsyncQueue'" daemon prio=5
    tid=0x14e3ebe0 nid=0xfb4 waiting on monitor [0x162df000..0x162dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '9' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e35958
    nid=0x9e8 waiting on monitor [0x1629f000..0x1629fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '8' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e3ba30
    nid=0x5ac waiting on monitor [0x1625f000..0x1625fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '7' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e3af20
    nid=0xdc4 waiting on monitor [0x1621f000..0x1621fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '6' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e3a410
    nid=0x11ec waiting on monitor [0x161df000..0x161dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '5' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14bfdff0
    nid=0x1078 waiting on monitor [0x1619f000..0x1619fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '4' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14bfd4e0
    nid=0x43c waiting on monitor [0x1615f000..0x1615fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '3' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e32410
    nid=0xb64 waiting on monitor [0x1611f000..0x1611fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14c4ee68
    nid=0xe30 waiting on monitor [0x160df000..0x160dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14c4ec10
    nid=0x1140 waiting on monitor [0x1609f000..0x1609fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x14e33b18
    nid=0xfc0 waiting on monitor [0x1605f000..0x1605fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: '__weblogic_admin_html_queue'" daemon prio=5 tid=0x14e33968
    nid=0x718 waiting on monitor [0x1601f000..0x1601fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '__weblogic_admin_html_queue'" daemon prio=5 tid=0x14e3c0a0
    nid=0x119c waiting on monitor [0x15fdf000..0x15fdfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "TimeEventGenerator" daemon prio=5 tid=0x14bfbce0 nid=0xb90 waiting on monitor
    [0x15f9f000..0x15f9fdbc]
         at java.lang.Object.wait(Native Method)
         at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:279)
         at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
         at java.lang.Thread.run(Thread.java:484)
    "ExecuteThread: '1' for queue: '_weblogic_dgc_queue'" daemon prio=5 tid=0x14e39758
    nid=0x11ac waiting on monitor [0x15f5f000..0x15f5fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '_weblogic_dgc_queue'" daemon prio=5 tid=0x14e38898
    nid=0x1194 waiting on monitor [0x15f1f000..0x15f1fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "TimeEventGenerator" daemon prio=5 tid=0x14bfc040 nid=0x10a8 waiting on monitor
    [0x15edf000..0x15edfdbc]
         at java.lang.Object.wait(Native Method)
         at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:279)
         at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
         at java.lang.Thread.run(Thread.java:484)
    "SpinnerRandomSource" daemon prio=5 tid=0x14e30c40 nid=0x794 waiting on monitor
    [0x15e9f000..0x15e9fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.security.SpinnerRandomBitsSource.run(SpinnerRandomBitsSource.java:57)
         at java.lang.Thread.run(Thread.java:484)
    "ExecuteThread: '29' for queue: 'default'" daemon prio=5 tid=0x14e2fe20 nid=0xee8
    runnable [0x15e5f000..0x15e5fdbc]
         at java.net.SocketInputStream.socketRead(Native Method)
         at java.net.SocketInputStream.read(SocketInputStream.java:90)
         at oracle.net.ns.Packet.receive(Unknown Source)
         at oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
         at oracle.net.ns.NetInputStream.read(Unknown Source)
         at oracle.net.ns.NetInputStream.read(Unknown Source)
         at oracle.net.ns.NetInputStream.read(Unknown Source)
         at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:931)
         at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:369)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
         at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
         at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:572)
         at weblogic.jdbc.pool.Statement.executeQuery(Statement.java:850)
         at tavant.platform.jdbc.JDBCTransaction.executeReadQuery(Unknown Source)
         at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean.invokeSQL(Unknown
    Source)
         at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean_t63yf9_EOImpl.invokeSQL(WebServiceBean_t63yf9_EOImpl.java:456)
         at java.lang.reflect.Method.invoke(Native Method)
         at weblogic.soap.server.servlet.StatelessBeanAdapter.invokeMethod(StatelessBeanAdapter.java:184)
         at weblogic.soap.server.servlet.StatelessBeanAdapter.doPost(StatelessBeanAdapter.java:115)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '28' for queue: 'default'" daemon prio=5 tid=0x14e2f268 nid=0x12f0
    runnable [0x15e1f000..0x15e1fdbc]
         at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
         at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:589)
         at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '27' for queue: 'default'" daemon prio=5 tid=0x14be7af0 nid=0x11c4
    runnable [0x15ddf000..0x15ddfdbc]
         at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
         at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:589)
         at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '26' for queue: 'default'" daemon prio=5 tid=0x14be7748 nid=0x6dc
    waiting for monitor entry [0x15d9f000..0x15d9fdbc]
         at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:681)
         at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:520)
         at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:405)
         at weblogic.common.internal.ResourceAllocator.reserveWaitSecs(ResourceAllocator.java:395)
         at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:163)
         at weblogic.jdbc.common.internal.ConnectionPool.reserveWaitSecs(ConnectionPool.java:117)
         at weblogic.jdbc.pool.Driver.connect(Driver.java:152)
         at java.sql.DriverManager.getConnection(DriverManager.java:517)
         at java.sql.DriverManager.getConnection(DriverManager.java:199)
         at tavant.platform.jdbc.JDBCTransaction.getConnection(Unknown Source)
         at tavant.platform.jdbc.JDBCTransaction.start(Unknown Source)
         at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean.invokeSQL(Unknown
    Source)
         at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean_t63yf9_EOImpl.invokeSQL(WebServiceBean_t63yf9_EOImpl.java:456)
         at java.lang.reflect.Method.invoke(Native Method)
         at weblogic.soap.server.servlet.StatelessBeanAdapter.invokeMethod(StatelessBeanAdapter.java:184)
         at weblogic.soap.server.servlet.StatelessBeanAdapter.doPost(StatelessBeanAdapter.java:115)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '25' for queue: 'default'" daemon prio=5 tid=0x14be6b90 nid=0x10f4
    waiting for monitor entry [0x15d5f000..0x15d5fdbc]
         at java.sql.DriverManager.println(DriverManager.java:424)
         at java.sql.SQLException.<init>(SQLException.java:44)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
         at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
         at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:197)
         at weblogic.jdbc.common.internal.ConnectionEnvFactory.refreshResource(ConnectionEnvFactory.java:270)
         at weblogic.jdbc.common.internal.ConnectionEnv.refresh(ConnectionEnv.java:919)
         at weblogic.common.internal.ResourceAllocator.resetThisOne(ResourceAllocator.java:885)
         at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:486)
         at weblogic.common.internal.ResourceAllocator.reserveUnused(ResourceAllocator.java:381)
         at weblogic.common.internal.ResourceAllocator.trigger(ResourceAllocator.java:1125)
         at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
         at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
         at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:69)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '24' for queue: 'default'" daemon prio=5 tid=0x14be5fd8 nid=0x10a4
    waiting on monitor [0x15d1f000..0x15d1fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '23' for queue: 'default'" daemon prio=5 tid=0x14be5420 nid=0x11b0
    waiting on monitor [0x15cdf000..0x15cdfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '22' for queue: 'default'" daemon prio=5 tid=0x14be4868 nid=0x11bc
    waiting for monitor entry [0x15c9f000..0x15c9fdbc]
         at java.sql.DriverManager.println(DriverManager.java:424)
         at java.sql.SQLException.<init>(SQLException.java:44)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
         at oracle.jdbc.driver.OracleConnection.privateCreateStatement(OracleConnection.java:758)
         at oracle.jdbc.driver.OracleConnection.createStatement(OracleConnection.java:712)
         at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:977)
         at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:470)
         at weblogic.common.internal.ResourceAllocator.reserveUnused(ResourceAllocator.java:381)
         at weblogic.common.internal.ResourceAllocator.trigger(ResourceAllocator.java:1125)
         at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
         at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
         at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:69)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '21' for queue: 'default'" daemon prio=5 tid=0x14be3cb0 nid=0x10e0
    waiting on monitor [0x15c5f000..0x15c5fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '20' for queue: 'default'" daemon prio=5 tid=0x14be30f8 nid=0x620
    waiting on monitor [0x15c1f000..0x15c1fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '19' for queue: 'default'" daemon prio=5 tid=0x14be2540 nid=0x350
    waiting on monitor [0x15bdf000..0x15bdfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '18' for queue: 'default'" daemon prio=5 tid=0x14be1988 nid=0x104c
    waiting on monitor [0x15b9f000..0x15b9fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '17' for queue: 'default'" daemon prio=5 tid=0x14c4db30 nid=0xff0
    waiting on monitor [0x15b5f000..0x15b5fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '16' for queue: 'default'" daemon prio=5 tid=0x14c4cf78 nid=0x1148
    waiting on monitor [0x15b1f000..0x15b1fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '15' for queue: 'default'" daemon prio=5 tid=0x14c4c3c0 nid=0x1118
    waiting on monitor [0x15adf000..0x15adfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '14' for queue: 'default'" daemon prio=5 tid=0x14c4b808 nid=0x684
    waiting on monitor [0x15a9f000..0x15a9fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '13' for queue: 'default'" daemon prio=5 tid=0x14c4ac50 nid=0xd7c
    waiting on monitor [0x15a5f000..0x15a5fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '12' for queue: 'default'" daemon prio=5 tid=0x14c4a098 nid=0xdb4
    waiting on monitor [0x15a1f000..0x15a1fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '11' for queue: 'default'" daemon prio=5 tid=0x14c49588 nid=0x114c
    waiting on monitor [0x159df000..0x159dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '10' for queue: 'default'" daemon prio=5 tid=0x14bdf540 nid=0x90c
    waiting on monitor [0x1599f000..0x1599fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '9' for queue: 'default'" daemon prio=5 tid=0x14bdea00 nid=0x11cc
    waiting on monitor [0x1595f000..0x1595fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '8' for queue: 'default'" daemon prio=5 tid=0x14bdded8 nid=0x12f8
    waiting on monitor [0x1591f000..0x1591fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '7' for queue: 'default'" daemon prio=5 tid=0x14ba0420 nid=0x1350
    waiting on monitor [0x158df000..0x158dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '6' for queue: 'default'" daemon prio=5 tid=0x14bfae20 nid=0x11d8
    waiting on monitor [0x1589f000..0x1589fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '5' for queue: 'default'" daemon prio=5 tid=0x14b9e6a8 nid=0x134c
    waiting on monitor [0x1585f000..0x1585fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '4' for queue: 'default'" daemon prio=5 tid=0x14b9e430 nid=0x10bc
    waiting on monitor [0x1581f000..0x1581fdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '3' for queue: 'default'" daemon prio=5 tid=0x14bdbc00 nid=0x1090
    waiting on monitor [0x157df000..0x157dfdbc]
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:420

    Hi Joseph,
    Thanks for your useful suggestion.
    BTW, I am attaching the config.xml for your
    convenience.
    Please go through and let us know if anything
    to be tuned.
    Regards.
    Kunal
    Joseph Weinstein <[email protected]> wrote:
    >
    >
    Kunal Jain wrote:
    Hi
    We are using weblogic server 6.1 sp3. The server creates three databaseconnection
    pools (details available in the attached config.xml).
    The database has a regular downtime every day for a few hours. We arerunning
    the server as a windows service. As per the "RefreshMinutes" property,the server
    should be able to get new fresh connections once the database comesup. But in
    our case it is not doing so. Once the database comes up after its regulardowntime:
    -- Sometimes the server does not respond as in we are not able toopen the console
    page.
    -- Any client that tries connecting to the database thru the servergets blocked
    and does not respond.
    -- The log file(weblogic.log) does not get updated after some time.
    Can someone suggest why the server is showing such a behaviour??
    Could it be anything related to the DBMS setting or to the local machine'ssettings
    ? Following is the thread dump after the server stops responding:Hi. I do see a problem in the thread dump. The application code is calling
    java.sql.DriverManager
    calls, which are a serious problem in multithreaded applications like
    weblogic, because
    DriverManager calls are all class-synchronized! All JDBC drivers and
    the SQLException constructor
    call DriverManager calls all the time, so a single long-running call
    to DriverManager.getConnection()
    can stop all other JDBC in the whole JVM. One problem you can fix is
    at:
    at tavant.platform.jdbc.JDBCTransaction.getConnection(Unknown Source)
    at tavant.platform.jdbc.JDBCTransaction.start(Unknown Source)
    The getConnection() method should be altered to instantiate a Driver
    object and
    call Driver.connect() directly to make a pool connection, avoiding the
    DriverManager
    call:
    Driver d = (Driver)Class.forName("weblogic.jdbc.pool.Driver").newInstance();
    Connection c = d.connect("jdbc:weblogic:pool:" + myPoolName, null );
    Let me know if you can make this application change and whether it fixes
    the
    problem or not.
    I could also help if I could see the config.xml, but you seem to have
    attached the
    startup script.
    Joe Weinstein
    Full thread dump:
    "ListenThread" prio=5 tid=0x14ffb570 nid=0x148c runnable [0x1685f000..0x1685fdbc]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:468)
    at java.net.ServerSocket.implAccept(ServerSocket.java:243)
    at java.net.ServerSocket.accept(ServerSocket.java:222)
    at weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:26)
    at weblogic.t3.srvr.ListenThread.run(ListenThread.java:260)
    "Thread-3" daemon prio=5 tid=0x14fb18b8 nid=0x12d4 waiting on monitor[0x167df000..0x167dfdbc]
    at java.lang.Thread.sleep(Native Method)
    at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "Thread-2" daemon prio=5 tid=0x14f21c68 nid=0xf08 waiting on monitor[0x1679f000..0x1679fdbc]
    at java.lang.Thread.sleep(Native Method)
    at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "Thread-1" daemon prio=5 tid=0x14fb97d8 nid=0xcac waiting on monitor[0x1675f000..0x1675fdbc]
    at java.lang.Thread.sleep(Native Method)
    at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:95)
    "ExecuteThread: '14' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e75a10
    nid=0x13ec waiting on monitor [0x1671f000..0x1671fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '13' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e74e58
    nid=0x1434 waiting on monitor [0x166df000..0x166dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '12' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e742a0
    nid=0x1154 waiting on monitor [0x1669f000..0x1669fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '11' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e72ed0
    nid=0xfe4 waiting on monitor [0x1665f000..0x1665fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '10' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e72318
    nid=0x9a4 waiting on monitor [0x1661f000..0x1661fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '9' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e717d8nid=0xf38
    waiting on monitor [0x165df000..0x165dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '8' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e70c98nid=0xf68
    waiting on monitor [0x1659f000..0x1659fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '7' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e70158nid=0x1008
    waiting on monitor [0x1655f000..0x1655fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '6' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6f610nid=0x1204
    waiting on monitor [0x1651f000..0x1651fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '5' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6ead0nid=0xef4
    waiting on monitor [0x164df000..0x164dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '4' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6dfa8nid=0x12bc
    waiting on monitor [0x1649f000..0x1649fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '3' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6d5e8nid=0xf70
    waiting on monitor [0x1645f000..0x1645fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e6ccb0nid=0xf84
    waiting on monitor [0x1641f000..0x1641fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e67510nid=0x1418
    waiting on monitor [0x163df000..0x163dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x14e64f60nid=0x1228
    waiting on monitor [0x1639f000..0x1639fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: 'weblogic.transaction.AsyncQueue'" daemonprio=5
    tid=0x14e5c3f0 nid=0xf60 waiting on monitor [0x1635f000..0x1635fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: 'weblogic.transaction.AsyncQueue'" daemonprio=5
    tid=0x14e5b908 nid=0xf78 waiting on monitor [0x1631f000..0x1631fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: 'weblogic.transaction.AsyncQueue'" daemonprio=5
    tid=0x14e3ebe0 nid=0xfb4 waiting on monitor [0x162df000..0x162dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '9' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e35958
    nid=0x9e8 waiting on monitor [0x1629f000..0x1629fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '8' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e3ba30
    nid=0x5ac waiting on monitor [0x1625f000..0x1625fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '7' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e3af20
    nid=0xdc4 waiting on monitor [0x1621f000..0x1621fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '6' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e3a410
    nid=0x11ec waiting on monitor [0x161df000..0x161dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '5' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14bfdff0
    nid=0x1078 waiting on monitor [0x1619f000..0x1619fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '4' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14bfd4e0
    nid=0x43c waiting on monitor [0x1615f000..0x1615fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '3' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e32410
    nid=0xb64 waiting on monitor [0x1611f000..0x1611fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '2' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14c4ee68
    nid=0xe30 waiting on monitor [0x160df000..0x160dfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14c4ec10
    nid=0x1140 waiting on monitor [0x1609f000..0x1609fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x14e33b18
    nid=0xfc0 waiting on monitor [0x1605f000..0x1605fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '1' for queue: '__weblogic_admin_html_queue'" daemonprio=5 tid=0x14e33968
    nid=0x718 waiting on monitor [0x1601f000..0x1601fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '__weblogic_admin_html_queue'" daemonprio=5 tid=0x14e3c0a0
    nid=0x119c waiting on monitor [0x15fdf000..0x15fdfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "TimeEventGenerator" daemon prio=5 tid=0x14bfbce0 nid=0xb90 waitingon monitor
    [0x15f9f000..0x15f9fdbc]
    at java.lang.Object.wait(Native Method)
    at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:279)
    at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
    at java.lang.Thread.run(Thread.java:484)
    "ExecuteThread: '1' for queue: '_weblogic_dgc_queue'" daemon prio=5tid=0x14e39758
    nid=0x11ac waiting on monitor [0x15f5f000..0x15f5fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '0' for queue: '_weblogic_dgc_queue'" daemon prio=5tid=0x14e38898
    nid=0x1194 waiting on monitor [0x15f1f000..0x15f1fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "TimeEventGenerator" daemon prio=5 tid=0x14bfc040 nid=0x10a8 waitingon monitor
    [0x15edf000..0x15edfdbc]
    at java.lang.Object.wait(Native Method)
    at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:279)
    at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:138)
    at java.lang.Thread.run(Thread.java:484)
    "SpinnerRandomSource" daemon prio=5 tid=0x14e30c40 nid=0x794 waitingon monitor
    [0x15e9f000..0x15e9fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.security.SpinnerRandomBitsSource.run(SpinnerRandomBitsSource.java:57)
    at java.lang.Thread.run(Thread.java:484)
    "ExecuteThread: '29' for queue: 'default'" daemon prio=5 tid=0x14e2fe20nid=0xee8
    runnable [0x15e5f000..0x15e5fdbc]
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:90)
    at oracle.net.ns.Packet.receive(Unknown Source)
    at oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
    at oracle.net.ns.NetInputStream.read(Unknown Source)
    at oracle.net.ns.NetInputStream.read(Unknown Source)
    at oracle.net.ns.NetInputStream.read(Unknown Source)
    at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:931)
    at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:369)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
    at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:572)
    at weblogic.jdbc.pool.Statement.executeQuery(Statement.java:850)
    at tavant.platform.jdbc.JDBCTransaction.executeReadQuery(UnknownSource)
    at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean.invokeSQL(Unknown
    Source)
    at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean_t63yf9_EOImpl.invokeSQL(WebServiceBean_t63yf9_EOImpl.java:456)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.soap.server.servlet.StatelessBeanAdapter.invokeMethod(StatelessBeanAdapter.java:184)
    at weblogic.soap.server.servlet.StatelessBeanAdapter.doPost(StatelessBeanAdapter.java:115)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '28' for queue: 'default'" daemon prio=5 tid=0x14e2f268nid=0x12f0
    runnable [0x15e1f000..0x15e1fdbc]
    at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
    at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:589)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '27' for queue: 'default'" daemon prio=5 tid=0x14be7af0nid=0x11c4
    runnable [0x15ddf000..0x15ddfdbc]
    at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
    at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:589)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '26' for queue: 'default'" daemon prio=5 tid=0x14be7748nid=0x6dc
    waiting for monitor entry [0x15d9f000..0x15d9fdbc]
    at weblogic.common.internal.ResourceAllocator.makeResources(ResourceAllocator.java:681)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:520)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:405)
    at weblogic.common.internal.ResourceAllocator.reserveWaitSecs(ResourceAllocator.java:395)
    at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:163)
    at weblogic.jdbc.common.internal.ConnectionPool.reserveWaitSecs(ConnectionPool.java:117)
    at weblogic.jdbc.pool.Driver.connect(Driver.java:152)
    at java.sql.DriverManager.getConnection(DriverManager.java:517)
    at java.sql.DriverManager.getConnection(DriverManager.java:199)
    at tavant.platform.jdbc.JDBCTransaction.getConnection(UnknownSource)
    at tavant.platform.jdbc.JDBCTransaction.start(Unknown Source)
    at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean.invokeSQL(Unknown
    Source)
    at tavant.custom.iri.erpconnector.b2bi.communication.receiver.webservice.WebServiceBean_t63yf9_EOImpl.invokeSQL(WebServiceBean_t63yf9_EOImpl.java:456)
    at java.lang.reflect.Method.invoke(Native Method)
    at weblogic.soap.server.servlet.StatelessBeanAdapter.invokeMethod(StatelessBeanAdapter.java:184)
    at weblogic.soap.server.servlet.StatelessBeanAdapter.doPost(StatelessBeanAdapter.java:115)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2637)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2359)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '25' for queue: 'default'" daemon prio=5 tid=0x14be6b90nid=0x10f4
    waiting for monitor entry [0x15d5f000..0x15d5fdbc]
    at java.sql.DriverManager.println(DriverManager.java:424)
    at java.sql.SQLException.<init>(SQLException.java:44)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:197)
    at weblogic.jdbc.common.internal.ConnectionEnvFactory.refreshResource(ConnectionEnvFactory.java:270)
    at weblogic.jdbc.common.internal.ConnectionEnv.refresh(ConnectionEnv.java:919)
    at weblogic.common.internal.ResourceAllocator.resetThisOne(ResourceAllocator.java:885)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:486)
    at weblogic.common.internal.ResourceAllocator.reserveUnused(ResourceAllocator.java:381)
    at weblogic.common.internal.ResourceAllocator.trigger(ResourceAllocator.java:1125)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:69)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '24' for queue: 'default'" daemon prio=5 tid=0x14be5fd8nid=0x10a4
    waiting on monitor [0x15d1f000..0x15d1fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '23' for queue: 'default'" daemon prio=5 tid=0x14be5420nid=0x11b0
    waiting on monitor [0x15cdf000..0x15cdfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '22' for queue: 'default'" daemon prio=5 tid=0x14be4868nid=0x11bc
    waiting for monitor entry [0x15c9f000..0x15c9fdbc]
    at java.sql.DriverManager.println(DriverManager.java:424)
    at java.sql.SQLException.<init>(SQLException.java:44)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
    at oracle.jdbc.driver.OracleConnection.privateCreateStatement(OracleConnection.java:758)
    at oracle.jdbc.driver.OracleConnection.createStatement(OracleConnection.java:712)
    at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:977)
    at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.java:470)
    at weblogic.common.internal.ResourceAllocator.reserveUnused(ResourceAllocator.java:381)
    at weblogic.common.internal.ResourceAllocator.trigger(ResourceAllocator.java:1125)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:69)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    "ExecuteThread: '21' for queue: 'default'" daemon prio=5 tid=0x14be3cb0nid=0x10e0
    waiting on monitor [0x15c5f000..0x15c5fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '20' for queue: 'default'" daemon prio=5 tid=0x14be30f8nid=0x620
    waiting on monitor [0x15c1f000..0x15c1fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '19' for queue: 'default'" daemon prio=5 tid=0x14be2540nid=0x350
    waiting on monitor [0x15bdf000..0x15bdfdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '18' for queue: 'default'" daemon prio=5 tid=0x14be1988nid=0x104c
    waiting on monitor [0x15b9f000..0x15b9fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
    "ExecuteThread: '17' for queue: 'default'" daemon prio=5 tid=0x14c4db30nid=0xff0
    waiting on monitor [0x15b5f000..0x15b5fdbc]
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
    at webl

  • Major performance Issues after upgrading to 10.9.2

    Hi,
    I have been having major performance issues almost preventing me from using the computer at times.  I suspect I don't have enough memory to run Maverick as the computer was great before I upgraded.
    If any experts or people with ideas for me to speed up the computer, please respond.  If you think the only way to improve performance is add memory or revert back to a previous version of OSX that I have a backup for, let me know.
    Here is the info on my system, thank you in advance!!
    Hardware Information:
              MacBook Pro (15-inch, Late 2008)
              MacBook Pro - model: MacBookPro5,1
              1 2.4 GHz Intel Core 2 Duo CPU: 2 cores
              2 GB RAM
    Video Information:
              NVIDIA GeForce 9400M - VRAM: 256 MB
              NVIDIA GeForce 9600M GT - VRAM: 256 MB
    System Software:
              OS X 10.9.2 (13C1021) - Uptime: 3 days 21:20:10
    Disk Information:
              Hitachi HTS543225L9SA02 disk0 : (250.06 GB)
                        EFI (disk0s1) <not mounted>: 209.7 MB
                        :c (disk0s2) / [Startup]: 249.2 GB (67.82 GB free)
                        Recovery HD (disk0s3) <not mounted>: 650 MB
              MATSHITADVD-R   UJ-868 
    USB Information:
              Apple Inc. Built-in iSight
              Apple, Inc. Apple Internal Keyboard / Trackpad
              Apple Computer, Inc. IR Receiver
              Fitbit Inc. Fitbit Base Station
              Apple Inc. BRCM2046 Hub
                        Apple Inc. Bluetooth USB Host Controller
    Thunderbolt Information:
    Configuration files:
              /etc/sysctl.conf - Exists
              /etc/hosts - Count: 29
    Gatekeeper:
              Mac App Store and identified developers
    Kernel Extensions:
              [not loaded] com.LaCie.ScsiType00 (1.2.0) Support
              [not loaded] com.cisco.nke.ipsec (2.0.1) Support
              [not loaded] com.leapfrog.codeless.kext (2) Support
              [not loaded] com.leapfrog.driver.LfConnectDriver (1.8.1 - SDK 10.7) Support
              [not loaded] com.rim.driver.BlackBerryUSBDriverInt (0.0.39) Support
              [not loaded] com.rim.driver.BlackBerryUSBDriverVSP (0.0.39) Support
              [not loaded] net.kromtech.kext.AVKauth (2.3.6 - SDK 10.8) Support
              [not loaded] net.kromtech.kext.Firewall (2.3.6 - SDK 10.8) Support
    Startup Items:
              CiscoVPN: Path: /System/Library/StartupItems/CiscoVPN
    Problem System Launch Daemons:
              [failed] com.apple.wdhelper.plist
    Launch Daemons:
              [loaded] com.adobe.fpsaud.plist Support
              [loaded] com.adobe.SwitchBoard.plist Support
              [running] com.fitbit.galileod.plist Support
              [loaded] com.google.keystone.daemon.plist Support
              [loaded] com.leapfrog.connect.shell.plist Support
              [loaded] com.microsoft.office.licensing.helper.plist Support
              [loaded] com.timesoftware.timemachineeditor.backupd-auto.plist Support
              [running] com.zeobit.MacKeeper.AntiVirus.plist Support
              [running] com.zeobit.MacKeeper.plugin.AntiTheft.daemon.plist Support
    Launch Agents:
              [not loaded] com.adobe.AAM.Updater-1.0.plist Support
              [loaded] com.adobe.CS5ServiceManager.plist Support
              [running] com.brother.LOGINserver.plist Support
              [running] com.google.keystone.agent.plist Support
    User Launch Agents:
              [loaded] com.adobe.ARM.[...].plist Support
              [failed] [email protected]
              [loaded] com.macpaw.CleanMyMac.helperTool.plist Support
              [running] com.microsoft.LaunchAgent.SyncServicesAgent.plist Support
              [running] com.zeobit.MacKeeper.Helper.plist Support
    User Login Items:
              Google Chrome
    Internet Plug-ins:
              o1dbrowserplugin: Version: 5.3.1.18536 Support
              Google Earth Web Plug-in: Version: 7.1 Support
              Default Browser: Version: 537 - SDK 10.9
              Flip4Mac WMV Plugin: Version: 2.3.8.1 Support
              OfficeLiveBrowserPlugin: Version: 12.2.9 Support
              AdobePDFViewerNPAPI: Version: 10.1.9 Support
              FlashPlayer-10.6: Version: 13.0.0.201 - SDK 10.6 Support
              DivXBrowserPlugin: Version: 2.0 Support
              Silverlight: Version: 5.1.10411.0 - SDK 10.6 Support
              Flash Player: Version: 13.0.0.201 - SDK 10.6 Outdated! Update
              iPhotoPhotocast: Version: 7.0
              googletalkbrowserplugin: Version: 5.3.1.18536 Support
              QuickTime Plugin: Version: 7.7.3
              AdobePDFViewer: Version: 10.1.9 Support
              GarminGpsControl: Version: 2.6.4.0 Release Support
              SharePointBrowserPlugin: Version: 14.3.9 - SDK 10.6 Support
              JavaAppletPlugin: Version: 14.9.0 - SDK 10.7 Check version
    Safari Extensions:
              Dashlane: Version: 2.4.0.55923
    Audio Plug-ins:
              BluetoothAudioPlugIn: Version: 1.0 - SDK 10.9
              AirPlay: Version: 2.0 - SDK 10.9
              AppleAVBAudio: Version: 203.2 - SDK 10.9
              iSightAudio: Version: 7.7.3 - SDK 10.9
    iTunes Plug-ins:
              Quartz Composer Visualizer: Version: 1.4 - SDK 10.9
    User Internet Plug-ins:
              Dashlane: Version: Dashlane 1.0.0 - SDK 10.7 Support
              Move_Media_Player: Version: npmnqmp 071705000010 Support
              WebEx64: Version: 1.0 - SDK 10.6 Support
              Picasa: Version: 1.0 Support
    3rd Party Preference Panes:
              Flash Player  Support
              Flip4Mac WMV  Support
              Growl  Support
    Time Machine:
              Skip System Files: NO
              Auto backup: NO - Auto backup turned off
              Time Machine not configured!
    Top Processes by CPU:
                   3%          WindowServer
                   2%          SystemUIServer
                   1%          diskimages-helper
                   1%          mds
                   0%          Google Chrome Helper EH
    Top Processes by Memory:
              94 MB          Google Chrome
              59 MB          GoogleSoftwareUpdateDaemon
              57 MB          Google Chrome Helper EH
              52 MB          Google Chrome Helper
              39 MB          Finder
    Virtual Memory Information:
              40 MB          Free RAM
              499 MB          Active RAM
              481 MB          Inactive RAM
              465 MB          Wired RAM
              7.33 GB          Page-ins
              502 MB          Page-outs

    The performance issues are due to third party software. Mavericks at the minimum requires 2GB's of RAM but I don't think that's the issue. And you can upgrade RAM anytime.
    MacKeeper should be uninstalled. It does far more harm than good.
    Do not install MacKeeper: Apple Support Communities
    Uninstall instructions > how to uninstall MacKeeper
    249.2 GB (67.82 GB free)
    Keep an eye on available disk space.
    Click your Apple menu icon top left in your screen. From the drop down menu click About This Mac > More Info > Storage
    Make sure there's at least 15% free disk space. Less can slow your Mac down.
    You also need to uninstall CleanMyMac >  How To Uninstall CleanMyMac
    Third party so called Mac cleaning utilities are not necessary on a Mac. Your Mac runs maintenance in the background for you.
    Mac OS X: About background maintenance tasks

  • Performance problems with XMLTABLE and XMLQUERY involving relational data

    Hello-
    Is anyone out there using XMLTABLE or XMLQUERY with more than a toy set of data? I am running into serious performance problems tyring to do basic things such as:
    * Combine records in 10 relational tables into a single table of XMLTYPE records using XMLTABLE. This hangs indefinitely for any more than 800 records. Oracle has confirmed that this is a problem and is working on a fix.
    * Combine a single XMLTYPE record with several relational code tables into a single XMLTYPE record using XMLQUERY and ora:view() to insert code descriptions after each code. Performance is 10 seconds for 10 records (terrible) passing a batch of records , or 160 seconds for one record (unacceptable!). How can it take 10 times longer to process 1/10th the number of records? Ironically, the query plan says it will do a full table scan of records for the batch, but an index access for the one record passed to the XMLQUERY.
    I am rapidly losing faith in XML DB, and desparately need some hints on how to work around these performance problems, or at least some assurance that others have been able to get this thing to perform.

    <Note>Long post, sorry.</Note>
    First, thanks for the responses above. I'm impressed with the quality of thought put into them. (Do the forum rules allow me to offer rewards? :) One suggestion in particular made a big performance improvement, and I’m encouraged to hear of good performance in pure XML situations. Unfortunately, I think there is a real performance challenge in two use cases that are pertinent to the XML+relational subject of this post and probably increasingly common as XML DB usage increases:
    •     Converting legacy tabular data into XML records; and
    •     Performing code table lookups for coded values in XML records.
    There are three things I want to accomplish with this post:
    •     Clarify what we are trying to accomplish, which might expose completely different approaches than I have tried
    •     Let you know what I tried so far and the rationale for my approach to help expose flaws in my thinking and share what I have learned
    •     Highlight remaining performance issues in hopes that we can solve them
    What we are trying to accomplish:
    •     Receive a monthly feed of 10,000 XML records (batched together in text files), each containing information about an employee, including elements that repeat for every year of service. We may need to process an annual feed of 1,000,000 XML records in the future.
    •     Receive a one-time feed of 500,000 employee records stored in about 10 relational tables, with a maximum join depth of 2 or 3. This is inherently a relational-to-XML process. One record/second is minimally acceptable, but 10 records/sec would be better.
    •     Consolidate a few records (from different providers) for each employee into a single record. Given the data volume, we need to achieve a minimum rate of 10 records per second. This may be an XML-only process, or XML+relational if code lookups are done during consolidation.
    •     Allow the records to be viewed and edited, with codes resolved into user-friendly descriptions. Since a user is sitting there, code lookups done when a record is viewed (vs. during consolidation) should not take more than 3 seconds total. We have about 20 code tables averaging a few hundred rows each, though one has 450,000 rows.
    As requested earlier, I have included code at the end of this post for example tables and queries that accurately (but simply) replicate our real system.
    Why we did and why:
    •     Stored the source XML records as CLOBS: We did this to preserve the records exactly as they were certified and sent from providers. In addition, we always access the entire XML record as a whole (e.g., when viewing a record or consolidating employee records), so this storage model seemed like a good fit. We can copy them into another format if necessary.
    •     Stored the consolidated XML employee records as “binary XML”. We did this because we almost always access a single, entire record as a whole (for view/edit), but might want to create some summary statistics at some point. Binary XML seemed the best fit.
    •     Used ora:view() for both tabular source records and lookup tables. We are not aware of any alternatives at this time. If it made sense, most code tables could be pre-converted into XML documents, but this seemed risky from a performance standpoint because the lookups use both code and date range constraints (the meaning of codes changes over time).
    •     Stored records as XMLTYPE columns in a table with other key columns on the table, plus an XMLTYPE metadata column. We thought this would facilitate pulling a single record (or a few records for a given employee) quickly. We knew this might be unnecessary given XML indexes and virtual columns, but were not experienced with those and wanted the comfort of traditional keys. We did not used XMLTYPE tables or the XML Repository for documents.
    •     Used XMLTABLE to consolidate XML records by looping over each distinct employee ID in the source batch. We also tried XMLQUERY and it seems to perform about the same. We can achieve 10 to 20 records/second if we do not do any code lookups during consolidation, just meeting our performance requirement, but still much slower than expected.
    •     Used PL/SQL with XMLFOREST to convert tabular source records to XML by looping over distinct employee IDs. We tried this outside PL/SQL both with XMLFOREST and XMLTABLE+ora:view(), but it hangs in both cases for more than 800 records (a known/open issue). We were able to get it to work by using an explicit cursor to loop over distinct employee IDs (rather than processing all records at once within the query). The performance is one record/second, which is minimally acceptable and interferes with other database activity.
    •     Used XMLQUERY plus ora:view() plus XPATH constraints to perform code lookups. When passing a single employee record, the response time ranges from 1 sec to 160 sec depending on the length of the record (i.e., number of years of service). We achieved a 5-fold speedup using an XMLINDEX (thank you Marco!!). The result may be minimally acceptable, but I’m baffled why the index would be needed when processing a single XML record. Other things we tried: joining code tables in the FOR...WHERE clauses, joining code tables using LET with XPATH constraints and LET with WHERE clause constraints, and looking up codes individually via JDBC from the application code at presentation time. All those approaches were slower. Note: the difference I mentioned above in equality/inequality constraint performance was due to data record variations not query plan variations.
    What issues remain?
    We have a minimally acceptable solution from a performance standpoint with one very awkward PL/SQL workaround. The performance of a mixed XML+relational data query is still marginal IMHO, until we properly utilize available optimizations, fix known problems, and perhaps get some new query optimizations. On the last point, I think the query plan for tabular lookups of codes in XML records is falling short right now. I’m reminded of data warehousing in the days before hash joins and star join optimization. I would be happy to be wrong, and just as happy for viable workarounds if I am right!
    Here are the details on our code lookup challenge. Additional suggestions would be greatly appreciated. I’ll try to post more detail on the legacy table conversion challenge later.
    -- The main record table:
    create table RECORDS (
    SSN varchar2(20),
    XMLREC sys.xmltype
    xmltype column XMLREC store as binary xml;
    create index records_ssn on records(ssn);
    -- A dozen code tables represented by one like this:
    create table CODES (
    CODE varchar2(4),
    DESCRIPTION varchar2(500)
    create index codes_code on codes(code);
    -- Some XML records with coded values (the real records are much more complex of course):
    -- I think this took about a minute or two
    DECLARE
    ssn varchar2(20);
    xmlrec xmltype;
    i integer;
    BEGIN
    xmlrec := xmltype('<?xml version="1.0"?>
    <Root>
    <Id>123456789</Id>
    <Element>
    <Subelement1><Code>11</Code></Subelement1>
    <Subelement2><Code>21</Code></Subelement2>
    <Subelement3><Code>31</Code></Subelement3>
    </Element>
    <Element>
    <Subelement1><Code>11</Code></Subelement1>
    <Subelement2><Code>21</Code></Subelement2>
    <Subelement3><Code>31</Code></Subelement3>
    </Element>
    <Element>
    <Subelement1><Code>11</Code></Subelement1>
    <Subelement2><Code>21</Code></Subelement2>
    <Subelement3><Code>31</Code></Subelement3>
    </Element>
    </Root>
    for i IN 1..100000 loop
    insert into records(ssn, xmlrec) values (i, xmlrec);
    end loop;
    commit;
    END;
    -- Some code data like this (ignoring date ranges on codes):
    DECLARE
    description varchar2(100);
    i integer;
    BEGIN
    description := 'This is the code description ';
    for i IN 1..3000 loop
    insert into codes(code, description) values (to_char(i), description);
    end loop;
    commit;
    end;
    -- Retrieve one record while performing code lookups. Takes about 5-6 seconds...pretty slow.
    -- Each additional lookup (times 3 repeating elements in the data) adds about 1 second.
    -- A typical real record has 5 Elements and 20 Subelements, meaning more than 20 seconds to display the record
    -- Note we are accessing a single XML record based on SSN
    -- Note also we are reusing the one test code table multiple times for convenience of this test
    select xmlquery('
    for $r in Root
    return
    <Root>
    <Id>123456789</Id>
    {for $e in $r/Element
        return
        <Element>
          <Subelement1>
            {$e/Subelement1/Code}
    <Description>
    {ora:view("disaac","codes")/ROW[CODE=$e/Subelement1/Code]/DESCRIPTION/text() }
    </Description>
    </Subelement1>
    <Subelement2>
    {$e/Subelement2/Code}
    <Description>
    {ora:view("disaac","codes")/ROW[CODE=$e/Subelement2/Code]/DESCRIPTION/text()}
    </Description>
    </Subelement2>
    <Subelement3>
    {$e/Subelement3/Code}
    <Description>
    {ora:view("disaac","codes")/ROW[CODE=$e/Subelement3/Code]/DESCRIPTION/text() }
    </Description>
    </Subelement3>
    </Element>
    </Root>
    ' passing xmlrec returning content)
    from records
    where ssn = '10000';
    The plan shows the nested loop access that slows things down.
    By contrast, a functionally-similar SQL query on relational data will use a hash join and perform 10x to 100x faster, even for a single record. There seems to be no way for the optimizer to see the regularity in the XML structure and perform a corresponding optimization in joining the code tables. Not sure if registering a schema would help. Using structured storage probably would. But should that be necessary given we’re working with a single record?
    Operation Object
    |SELECT STATEMENT ()
    | SORT (AGGREGATE)
    | NESTED LOOPS (SEMI)
    | TABLE ACCESS (FULL) CODES
    | XPATH EVALUATION ()
    | SORT (AGGREGATE)
    | NESTED LOOPS (SEMI)
    | TABLE ACCESS (FULL) CODES
    | XPATH EVALUATION ()
    | SORT (AGGREGATE)
    | NESTED LOOPS (SEMI)
    | TABLE ACCESS (FULL) CODES
    | XPATH EVALUATION ()
    | SORT (AGGREGATE)
    | XPATH EVALUATION ()
    | SORT (AGGREGATE)
    | XPATH EVALUATION ()
    | TABLE ACCESS (BY INDEX ROWID) RECORDS
    | INDEX (RANGE SCAN) RECORDS_SSN
    With an xmlindex, the same query above runs in about 1 second, so is about 5x faster (0.2 sec/lookup), which is almost good enough. Is this the answer? Or is there a better way? I’m not sure why the optimizer wants to scan the code tables and index into the (one) XML record, rather than the other way around, but maybe that makes sense if the optimizer wants to use the same general plan as when the WHERE clause constraint is relaxed to multiple records.
    -- Add an xmlindex. Takes about 2.5 minutes
    create index records_record_xml ON records(xmlrec)
    indextype IS xdb.xmlindex;
    Operation Object
    |SELECT STATEMENT ()
    | SORT (GROUP BY)
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (AGGREGATE)
    | FILTER ()
    | TABLE ACCESS (FULL) CODES
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (GROUP BY)
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (AGGREGATE)
    | FILTER ()
    | TABLE ACCESS (FULL) CODES
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (GROUP BY)
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (AGGREGATE)
    | FILTER ()
    | TABLE ACCESS (FULL) CODES
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (AGGREGATE)
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (AGGREGATE)
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | TABLE ACCESS (BY INDEX ROWID) RECORDS
    | INDEX (RANGE SCAN) RECORDS_SSN
    Am I on the right path, or am I totally using the wrong approach? I thought about using XSLT but was unsure how to reference the code tables.
    I’ve done the best I can constraining the main record to a single row passed to the XMLQUERY. Given Mark’s post (thanks!) should I be joining and constraining the code tables in the SQL WHERE clause too? That’s going to make the query much more complicated, but right now we’re more concerned about performance than complexity.

Maybe you are looking for