Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Weblogic oracle driver, memory leak ?

49 views
Skip to first unread message

Anders Mathisen

unread,
Mar 23, 2004, 7:09:13 AM3/23/04
to

Hi !

We are using the driver

weblogic.jdbc.oracle.OracleDriver

to access stored procedures in an Oracle 9i DB using SQL parameter signature in
the database control.

We have experienced what could be a memory-leak in this configuration, anyone
else experienced this ?

The architecture is :

<<custom control>>
<<database control>>
--
<<stored procedure in oracle>>

For some reason I can not get the other drivers to execute the procedure I am
getting an error message from Oracle stating that the procedure does not exist.


Any help on this subject would be appreciated.

Regards,

Anders Mathisen

Joe Weinstein

unread,
Mar 23, 2004, 10:47:54 AM3/23/04
to Anders Mathisen

Anders Mathisen wrote:

> Hi !
>
> We are using the driver
>
> weblogic.jdbc.oracle.OracleDriver
>
> to access stored procedures in an Oracle 9i DB using SQL parameter signature in
> the database control.
>
> We have experienced what could be a memory-leak in this configuration, anyone
> else experienced this ?

What symptoms are you having that suggest a memory leak?

>
> The architecture is :
>
> <<custom control>>
> <<database control>>
> --
> <<stored procedure in oracle>>
>
> For some reason I can not get the other drivers to execute the procedure I am
> getting an error message from Oracle stating that the procedure does not exist.
>

Show the jdbc that works with one driver and fails with another.
Joe

Anders Mathisen

unread,
Mar 23, 2004, 12:20:11 PM3/23/04
to

The reason I suspect a memory leak is because the Heap grows during load testing,
ie. full GC never manages to reclaim all memory. This lead to an outof memory
error on aplatform instance with 512 heap in 60 hours of load testing. I have
also executed a JProbe session which reports JDBC / Oracle objects not being garbage
collected.

An example of JDBC which will not work on the other drivers are :

/**
* @jc:sql iterator-element-type="Cabins" statement="{call user.package.proc(?,?)}"
*/
public Cabins[] getCapacity(SQLParameter[] params) throws SQLException;

To populate and execute this query we use :

<customcontrol>
SQLParameter[] paramlist = new SQLParameter[2];

paramlist[0] = new SQLParameter(parm1, Types.INTEGER, SQLParameter.IN);
paramlist[1] = new SQLParameter(parm2, Types.VARCHAR, SQLParameter.IN);

CapacityDbCtrl.Cabins[] cabins = capacityDbCtrl.getCapacity(paramlist);
return cabins;
</customcontrol>

Joe Weinstein

unread,
Mar 23, 2004, 12:52:57 PM3/23/04
to Anders Mathisen

Anders Mathisen wrote:

> The reason I suspect a memory leak is because the Heap grows during load testing,
> ie. full GC never manages to reclaim all memory. This lead to an outof memory
> error on aplatform instance with 512 heap in 60 hours of load testing. I have
> also executed a JProbe session which reports JDBC / Oracle objects not being garbage
> collected.

Please show the full names of the objects collecting. thanks.
Joe

Joe Weinstein

unread,
Mar 23, 2004, 1:48:16 PM3/23/04
to Anders Mathisen

Anders Mathisen wrote:

> please find enclosed an html-dump from jProbe showing the difference in heap after
> full-gc. traffic between the snapshots equals approx. 200 hits.

Thanks. Can you show me the config.xml file for the weblogic server?
I am interested in the definition of the jdbc connection pool involved.
Joe

>
>
> ------------------------------------------------------------------------
>
>
> Snapshot Difference = ml_2 - ml_1 (baseline)
>
>
> Heap Snapshot Difference
>
>
> Package Class Count Memory
> Overall Difference 26 922 1 394 373
> weblogic.jdbc.base BaseSQLTreeNode 4 459 (huge) 142 688 (huge)
> java.lang String 3 189 (9,8%) 76 536 (9,8%)
> weblogic.utils.collections SecondChanceCacheMap$SecondChanceEntry
> 2 438 (95,7%) 58 512 (95,7%)
> char[ ] 1 636 (17,4%) 97 890 (16,3%)
> weblogic.utils.collections ConcurrentHashMap$Entry 1 476 (22,3%)
> 35 424 (22,3%)
> weblogic.servlet.internal AttributeWrapper 1 456 (939,4%)
> 34 944 (939,4%)
> byte[ ] 1 179 (36,1%) 463 271 (99,7%)
> weblogic.jdbc.base BaseParameter 1 116 (huge) 44 640 (huge)
> int[ ] 1 057 (42,9%) 32 300 (12,2%)
> weblogic.security.service URLResource 726 (896,3%) 34 848 (896,3%)
> java.util Hashtable 616 (88,0%) 24 640 (88,0%)
> java.util Vector 602 (32,9%) 14 448 (32,9%)
> weblogic.jdbc.oracle OracleColumn 449 (huge) 46 696 (huge)
> java.lang String[ ] 440 (5,4%) 7 600 (4,7%)
> weblogic.entitlement.engine EEngine$RoleCacheEntry 380 (huge)
> 18 240 (huge)
> java.lang Object[ ] 324 (6,4%) 3 656 (0,4%)
> weblogic.jdbc.base BaseParameter[ ] 258 (huge) 10 536 (huge)
> weblogic.jdbc.oracle.net8 OracleNet8NSPTDAPacket 227 (huge)
> 7 264 (huge)
> weblogic.jdbc.oracle.net8 TTIRXDDataPacket 200 (huge) 11 200 (huge)
> boolean[ ] 199 (78,3%) 180 (0,8%)
> java.util Locale 195 (huge) 4 680 (huge)
> java.lang Integer 188 (5,7%) 3 008 (5,7%)
> weblogic.servlet.internal.session MemorySessionData 185 (huge)
> 13 320 (huge)
> weblogic.ejb20.internal EntityEJBContextImpl 176 (huge) 8 448 (huge)
> weblogic.ejb20.cache CacheKey 176 (huge) 4 224 (huge)
> weblogic.ejb20.cache BaseCache$Node 176 (huge) 11 264 (huge)
> weblogic.jdbc.base BaseWarnings 148 (huge) 3 552 (huge)
> weblogic.jdbc.base BaseParameters 129 (huge) 3 096 (huge)
> weblogic.jdbc.oracle.net8 TTIOERDataPacket 127 (huge) 8 128 (huge)
> weblogic.jdbc.oracle.net8 OracleDataProvider 127 (huge) 9 144 (huge)
> weblogic.jdbc.base BaseColumns 123 (huge) 4 920 (huge)
> weblogic.jdbc.oracle.net8 TTIFUN_OALL7 117 (huge) 11 232 (huge)
> java.util HashMap 105 (0,8%) 4 200 (0,8%)
> java.util Stack 101 (116,1%) 2 424 (116,1%)
> weblogic.jdbc.common.internal StatementHolder 100 (huge)
> 2 400 (huge)
> weblogic.jdbc.oracle OracleImplStatement 100 (huge) 20 000 (huge)
> weblogic.jdbc.base BaseSQL 100 (huge) 10 400 (huge)
> weblogic.jdbc.common.internal StatementCacheKey 100 (huge)
> 3 200 (huge)
> weblogic.jdbc.base BaseCallableStatement 100 (huge) 18 400 (huge)
> weblogic.jdbc.oracle.net8 TTIFUN_OALL7[ ] 100 (huge) 400 (huge)
> weblogic.jdbc.oracle.net8 OracleNet8NSPTDAPacket[ ] 100 (huge)
> 400 (huge)
> weblogic.jdbc.oracle.net8 TTIRXDDataPacket[ ] 100 (huge) 400 (huge)
> weblogic.jdbc.base BaseColumns[ ] 100 (huge) 352 (huge)
> weblogic.jdbc.oracle.net8 TTIRXHDataPacket 96 (huge) 3 072 (huge)
> weblogic.common.resourcepool Deque$DequeEntryInfo 80 (400,0%)
> 2 560 (400,0%)
> weblogic.common.resourcepool Deque$DequeEntry 80 (400,0%) 1 920 (400,0%)
> weblogic.utils.collections Stack 67 (49,6%) 1 072 (49,6%)
> weblogic.ejb20.internal SessionEJBContextImpl 59 (159,5%) 2 832 (159,5%)
> java.lang Object 55 (3,0%) 440 (3,0%)
> java.util LinkedList 47 (4,2%) 1 128 (4,2%)
> weblogic.utils.collections SecondChanceCacheMap 40 (266,7%)
> 1 280 (266,7%)
> weblogic.utils.collections ConcurrentHashMap 40 (0,9%) 1 920 (0,9%)
> weblogic.common.resourcepool PooledResourceWrapper 40 (266,7%)
> 640 (266,7%)
> weblogic.jdbc.common.internal ConnectionEnv 40 (363,6%) 5 120 (363,6%)
> weblogic.jdbc.common.internal PreparedStatementCacheProfile
> 40 (363,6%) 1 280 (363,6%)
> weblogic.utils.collections ConcurrentHashMap$Entry[ ] 40 (0,9%)
> 19 016 (5,2%)
> weblogic.utils.io Chunk 34 (huge) 816 (huge)
> weblogic.jms.common JMSID 31 (7,1%) 744 (7,1%)
> java.util Properties 29 (53,7%) 1 392 (53,7%)
> weblogic.management.internal RelayNotificationListenerImpl
> 28 (7,9%) 672 (7,9%)
> weblogic.util UtilDummyPrintWriter 27 (huge) 864 (huge)
> weblogic.jdbc.oracle OracleEscapeTranslator 27 (huge) 864 (huge)
> weblogic.jdbc.oracle OracleImplConnection 27 (huge) 2 808 (huge)
> weblogic.jdbc.base BaseConnectionProperties 27 (huge) 432 (huge)
> weblogic.util UtilDebug 27 (huge) 432 (huge)
> java.net Socket 27 (huge) 648 (huge)
> weblogic.jdbc.oracle.net8 OracleNet8Communication 27 (huge)
> 1 296 (huge)
> weblogic.jdbc.oracle.net8 OracleDataConsumer 27 (huge) 1 080 (huge)
> weblogic.util UtilTransliteratorUsingTable 27 (huge) 1 512 (huge)
> weblogic.jdbc.base BaseImplResultSet[ ] 27 (huge) 3 456 (huge)
> java.lang.ref ReferenceQueue 24 (50,0%) 576 (50,0%)
> weblogic.utils.collections SoftHashMap$SoftValue 24 (huge)
> 960 (huge)
> java.lang.ref SoftReference 23 (0,7%) 736 (0,7%)
> weblogic.management DeploymentNotificationFilter 23 (+)
> 552 (+)
> weblogic.management WebLogicObjectName 22 (0,5%) 1 056 (0,5%)
> java.lang Short 21 (52,5%) 336 (52,5%)
> weblogic.jdbc.oracle.net8 TTIFUN_OCANCEL 21 (huge) 504 (huge)
> weblogic.jdbc.oracle OracleImplResultset 21 (huge) 1 008 (huge)
> weblogic.jdbc.base BaseData 21 (huge) 504 (huge)
> weblogic.management.console.info MBeanAttribute 21 (+)
> 672 (+)
> weblogic.management.console.actions ForwardAction 18 (+)
> 576 (+)
> weblogic.jms.dispatcher DispatcherId 16 (12,7%) 384 (12,7%)
> weblogic.ejb20.internal MessageDrivenEJBContextImpl 10 (250,0%)
> 480 (250,0%)
> weblogic.ldap EmbeddedLDAPConnection 9 (112,5%) 1 224 (112,5%)
> netscape.ldap LDAPSearchConstraints 9 (75,0%) 576 (75,0%)
> com.octetstring.vde Credentials 9 (112,5%) 288 (112,5%)
> weblogic.management.console.catalog XmlCatalog 9 (+) 504 (+)
> java.util HashSet 8 (0,3%) 128 (0,3%)
> weblogic.jms.common JMSServerId 8 (12,3%) 128 (12,3%)
> weblogic.jms.frontend FEProducer 8 (160,0%) 1 216 (160,0%)
> weblogic.jms.client JMSProducer 8 (160,0%) 1 024 (160,0%)
> weblogic.servlet.internal ServletRuntimeMBeanImpl 7 (0,4%)
> 504 (0,4%)
> weblogic.servlet.jsp WlwJspStub 7 (43,8%) 1 008 (43,8%)
> weblogic.utils UnsyncHTEntry 7 (+) 168 (+)
> weblogic.entitlement.expression RoleIdentifier 5 (250,0%) 80 (250,0%)
> java.net URL 4 (1,2%) 224 (1,2%)
> java.security CodeSource 4 (0,9%) 96 (0,9%)
> weblogic.entitlement.data ERole 4 (200,0%) 96 (200,0%)
> weblogic.entitlement.data ERoleId 4 (200,0%) 64 (200,0%)
> weblogic.entitlement.expression GroupIdentifier 4 (66,7%) 64 (66,7%)
> weblogic.entitlement.expression EAuxiliary 4 (400,0%) 64 (400,0%)
> weblogic.jms.common MessageStatistics 4 (2,5%) 864 (2,5%)
> weblogic.jms.client JMSXAConnection 4 (25,0%) 736 (25,0%)
> weblogic.jms.client JMSSession 4 (40,0%) 928 (40,0%)
> weblogic.jms.frontend FESession 4 (4,8%) 960 (4,8%)
> weblogic.security.acl.internal AuthenticatedSubject$SealableSet
> 3 (20,0%) 72 (20,0%)
> weblogic.kernel ResettableThreadLocal$ThreadStorage 3 (5,0%)
> 48 (5,0%)
> java.util Date 3 (7,9%) 72 (7,9%)
> java.util GregorianCalendar 3 (8,8%) 216 (8,8%)
> weblogic.transaction.internal TransactionManagerImpl$TxThreadProperty
> 3 (15,0%) 72 (15,0%)
> weblogic.kernel ExecuteThread 3 (8,8%) 360 (8,8%)
> com.octetstring.vde.syntax DirectoryString 3 (0,3%) 48 (0,3%)
> weblogic.security.principal WLSGroupImpl 3 (50,0%) 72 (50,0%)
> weblogic.jms.frontend FEConnection 3 (15,8%) 816 (15,8%)
> weblogic.utils.classloaders ClasspathClassFinder 2 (1,1%) 64 (1,1%)
> weblogic.security.service AdminResource 2 (200,0%) 64 (200,0%)
> weblogic.entitlement.data EResource 2 (28,6%) 48 (28,6%)
> weblogic.utils.classloaders MultiClassFinder 2 (1,0%) 32 (1,0%)
> weblogic.servlet.jsp JspClassLoader 2 (6,2%) 192 (6,2%)
> weblogic.utils.classloaders ClassFinder[ ] 2 (0,8%) 8 (0,2%)
> weblogic.utils.classloaders ClasspathClassFinder$ZipFileWrapper[ ]
> 2 (0,8%) 8 (0,2%)
> java.lang ClassNotFoundException 2 (+) 64 (+)
> java.beans PropertyDescriptor[ ] 2 (+) 24 (+)
> java.util BitSet 1 (2,3%) 16 (2,3%)
> weblogic.security.acl.internal AuthenticatedSubject 1 (20,0%)
> 64 (20,0%)
> weblogic.common.internal LogOutputStream 1 (4,0%) 16 (4,0%)
> java.util WeakHashMap 1 (25,0%) 48 (25,0%)
> java.text SimpleDateFormat 1 (33,3%) 48 (33,3%)
> weblogic.security.principal WLSUserImpl 1 (50,0%) 24 (50,0%)
> weblogic.security.SSL SSLClientInfo 1 (33,3%) 64 (33,3%)
> weblogic.servlet.utils URLMatchMap$URLMatchNode 1 (0,1%) 40 (0,1%)
> weblogic.servlet.internal URLMatchHelper 1 (0,1%) 16 (0,1%)
> weblogic.security.service ApplicationResource 1 (25,0%) 32 (25,0%)
> weblogic.servlet.utils SimpleApacheURLMatchMap 1 (0,6%) 32 (0,6%)
> weblogic.servlet.internal InetAddressCacheRecord 1 (100,0%) 24 (100,0%)
> weblogic.entitlement.expression EExprRep[ ] 1 (100,0%) 16 (200,0%)
> weblogic.servlet.utils URLMatchMap$URLMatchNode[ ] 1 (0,1%)
> 1 028 (0,1%)
> weblogic.servlet.utils URLMatchMap$URLExtensionNode[ ] 1 (0,1%)
> 72 (0,2%)
> weblogic.management.console.preferences ConsolePreferences
> 1 (+) 24 (+)
> weblogic.management.console.info AdapterRegistry 1 (+)
> 16 (+)
> weblogic.management.console.actions.common PreferencesAction
> 1 (+) 48 (+)
> weblogic.management.console.info WTCLocalTuxDomMBeanAdapter
> 1 (+) 24 (+)
> weblogic.management.console.actions RedirectAction 1 (+)
> 16 (+)
> weblogic.servlet.jsp PageContextImpl 1 (+) 56 (+)
> weblogic.security.auth.login PasswordCredential 1 (+) 16 (+)
> weblogic.management.console.info VirtualHostMBeanAdaptor 1 (+)
> 24 (+)
> weblogic.management.console.info WebLogicMBeanAdapter 1 (+)
> 24 (+)
> weblogic.utils UnsyncHTEntry[ ] 1 (+) 404 (+)
> weblogic.management.console.info MailSessionMBeanAdaptor 1 (+)
> 24 (+)
> weblogic.servlet.jsp JspWriterImpl 1 (+) 48 (+)
> weblogic.management.console.catalog ServletContextStreamFactory
> 1 (+) 16 (+)
> weblogic.management.console.info MessagingBridgeMBeanAdapter
> 1 (+) 24 (+)
> weblogic.management.console.actions.mbean MBeanFramesetAction
> 1 (+) 56 (+)
> weblogic.management.console.info MBeanParentAttribute 1 (+)
> 24 (+)
> weblogic.management.console.info JDBCConnectionPoolMBeanAdapter
> 1 (+) 24 (+)
> weblogic.management.console.info CommoMBeanAdapter 1 (+)
> 24 (+)
> weblogic.management.console.catalog CatalogDebugging 1 (+)
> 24 (+)
> weblogic.management.console.info JMSSessionPoolMBeanAdaptor
> 1 (+) 24 (+)
> weblogic.management.console.info AttributeRegistry 1 (+)
> 16 (+)
> weblogic.management.console.info WTCRemoteTuxDomMBeanAdapter
> 1 (+) 24 (+)
> weblogic.management.console.info JMSBridgeDestinationMBeanAdaptor
> 1 (+) 24 (+)
> weblogic.management.console.info WTCImportMBeanAdapter 1 (+)
> 24 (+)
> weblogic.management.console.info JMSDistributedQueueMBeanAdaptor
> 1 (+) 24 (+)
> weblogic.management.console.extensibility.internal ExtensionRegistry
> 1 (+) 16 (+)
> weblogic.management.console.info SecurityMBeanAdapter 1 (+)
> 24 (+)
> weblogic.management.console.info WTCExportMBeanAdapter 1 (+)
> 24 (+)
> weblogic.management.console.info JMSDistributedTopicMBeanAdaptor
> 1 (+) 24 (+)
> weblogic.entitlement.expression RoleList 1 (+) 16 (+)
> weblogic.management.console.actions.internal InternalActionContext
> 1 (+) 24 (+)
> weblogic.management.console.info JMSDestinationMBeanAdaptor
> 1 (+) 24 (+)
> weblogic.management.console.utils ConsoleComparator 1 (+)
> 8 (+)
> weblogic.management.console.catalog XmlCatalogManagerSingleton
> 1 (+) 32 (+)
> weblogic.utils UnsyncHashtable 1 (+) 24 (+)
> java.util ArrayList -1 (-0,0%) -24 (-0,0%)
> java.io BufferedReader -1 (-100,0%) -48 (-100,0%)
> java.io InputStreamReader -1 (-100,0%) -24 (-100,0%)
> weblogic.jndi Environment -1 (-0,4%) -32 (-0,4%)
> weblogic.rmi.internal LocalServerRef -1 (-0,4%) -40 (-0,4%)
> weblogic.utils.io DelegatingOutputStream -1 (-50,0%) -16 (-50,0%)
> weblogic.rmi.internal CBVOutputStream -1 (-100,0%) -32 (-100,0%)
> weblogic.utils.io ChunkedDataOutputStream -1 (-100,0%) -24 (-100,0%)
> weblogic.rmi.internal CBVOutputStream$CBVObjectOutputStream
> -1 (-100,0%) -64 (-100,0%)
> weblogic.rmi.internal CBVInputStream -1 (-100,0%) -32 (-100,0%)
> weblogic.utils.io ChunkedDataInputStream -1 (-100,0%) -40 (-100,0%)
> weblogic.rmi.internal CBVInputStream$CBVObjectInputStream
> -1 (-100,0%) -64 (-100,0%)
> weblogic.utils.io DelegatingInputStream -1 (-100,0%) -16 (-100,0%)
> weblogic.rmi.cluster Version -1 (-0,5%) -16 (-0,5%)
> weblogic.apache.xerces.impl.dtd.models DFAContentModel -1 (-5,3%)
> -64 (-5,3%)
> weblogic.cache.webapp ServletRequestParameterScope -1 (-20,0%)
> -16 (-20,0%)
> weblogic.cache.webapp ServletRequestAttributeScope -1 (-20,0%)
> -16 (-20,0%)
> weblogic.cache.webapp ServletRequestCookieScope -1 (-20,0%) -16 (-20,0%)
> weblogic.cache.webapp ServletRequestHeaderScope -1 (-20,0%) -16 (-20,0%)
> weblogic.cache.webapp ServletResponseHeaderScope -1 (-20,0%)
> -16 (-20,0%)
> weblogic.cache.webapp ServletSessionAttributeScope -1 (-20,0%)
> -16 (-20,0%)
> weblogic.cache.webapp ServletContextAttributeScope -1 (-20,0%)
> -16 (-20,0%)
> weblogic.cache.webapp WebAppFileScope -1 (-20,0%) -24 (-20,0%)
> weblogic.servlet.internal PostInputStream -1 (-100,0%) -56 (-100,0%)
> weblogic.servlet.internal ChunkWriter -1 (-100,0%) -32 (-100,0%)
> weblogic.apache.xerces.xni QName[ ] -1 (-2,2%) -20 (-0,2%)
> javax.servlet.http Cookie[ ] -1 (-100,0%) -4 (-100,0%)
> java.lang Long -2 (-0,9%) -32 (-0,9%)
> weblogic.jms.common JMSMessageId -2 (-2,0%) -64 (-2,0%)
> weblogic.jms.common HdrMessageImpl -2 (-28,6%) -272 (-28,6%)
> weblogic.jms.backend BEMessageReference -2 (-9,5%) -80 (-9,5%)
> weblogic.jms.backend BETimerNode -2 (-8,0%) -80 (-8,0%)
> weblogic.jms.store StoreEntry -2 (-9,5%) -80 (-9,5%)
> weblogic.jms.backend BEQueue$1 -2 (-9,5%) -64 (-9,5%)
> weblogic.jms.common Counter -4 (-9,5%) -64 (-9,5%)
> weblogic.apache.xerces.xni QName -6 (-0,5%) -144 (-0,5%)
> weblogic.rmi.internal PhantomRef -10 (-3,4%) -320 (-3,4%)
> java.io FileInputStream -27 (-100,0%) -432 (-100,0%)
>
>
> Report Date: 23.mar.2004 19:16:52
>

Anders Mathisen

unread,
Mar 24, 2004, 4:39:17 PM3/24/04
to

Here is the configuration for the connection pool executing the procedure, and
which i suspect gives me the memory leak situation.

<JDBCConnectionPool
DriverName="weblogic.jdbc.oracle.OracleDriver"
Name="ttCP"
Password="{3DES}TuTI6ft/NyM=" Properties="user=user;portNumber=1521;SID=ttsb;serverName=it_tt.invenia.no"
Targets="cgServer"
TestTableName="SQL SELECT 1 FROM DUAL"
URL="jdbc:bea:oracle://it_tt.invenia.no:1521"
/>

However, the connection pool below will not execute the exact same DBCtrl method

<JDBCConnectionPool
DriverName="oracle.jdbc.driver.OracleDriver"
Name="ttCPThin"
Password="{3DES}TuTI6ft/NyM="
Properties="user=user"
Targets="cgServer"
TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:oracle:thin:@it_tt.invenia.no:1521:ttsb"

/>

Joe Weinstein

unread,
Mar 24, 2004, 5:42:23 PM3/24/04
to Anders Mathisen

Anders Mathisen wrote:

> Here is the configuration for the connection pool executing the procedure, and
> which i suspect gives me the memory leak situation.
>
> <JDBCConnectionPool
> DriverName="weblogic.jdbc.oracle.OracleDriver"
> Name="ttCP"
> Password="{3DES}TuTI6ft/NyM=" Properties="user=user;portNumber=1521;SID=ttsb;serverName=it_tt.invenia.no"
> Targets="cgServer"
> TestTableName="SQL SELECT 1 FROM DUAL"
> URL="jdbc:bea:oracle://it_tt.invenia.no:1521"
> />
>
> However, the connection pool below will not execute the exact same DBCtrl method
>
> <JDBCConnectionPool
> DriverName="oracle.jdbc.driver.OracleDriver"
> Name="ttCPThin"
> Password="{3DES}TuTI6ft/NyM="
> Properties="user=user"
> Targets="cgServer"
> TestTableName="SQL SELECT 1 FROM DUAL" URL="jdbc:oracle:thin:@it_tt.invenia.no:1521:ttsb"
>
> />

Hi. What is the failure of the thin driver to execute the
{call user.package.proc(?,?)} ? Also, what is the pool's initial
and max capacity? Do you specify a statement cache size?
thanks,
Joe

Anders Mathisen

unread,
Mar 25, 2004, 1:54:11 AM3/25/04
to

>Hi. What is the failure of the thin driver to execute the
>{call user.package.proc(?,?)} ? Also, what is the pool's initial
>and max capacity? Do you specify a statement cache size?
>thanks,
>Joe

Here is the error message, some of it in Norwegian ... This message is from the
OCI driver, however the PL/SQL message is the exactly same for the thin driver,
stack trace obviously being somewhat different.

"er ikke en prosedyre eller er udefinert" meaning "is not a procedure or is undefined"

java.sql.SQLException: ORA-06550: linje 1, kolonne 7:
PLS-00221: GET_PP_CAPACITY_CUR er ikke en prosedyre eller er udefinert
ORA-06550: linje 1, kolonne 7:
PL/SQL: Statement ignored

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.oci8.OCIDBAccess.check_error(OCIDBAccess.java:2337)
at oracle.jdbc.oci8.OCIDBAccess.executeFetch(OCIDBAccess.java:1744)
at oracle.jdbc.oci8.OCIDBAccess.parseExecuteFetch(OCIDBAccess.java:1905)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2149)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2032)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2894)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:684)
at weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:68)
at com.bea.wlw.runtime.core.control.DatabaseControlImpl.invoke(DatabaseControlImpl.jcs:2750)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:373)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:423)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:396)
at com.bea.wlw.runtime.jcs.container.JcsProxy.invoke(JcsProxy.java:389)
at $Proxy10.getPpCapacity(Unknown Source)
at processes.getPpCapacity.CapacityImpl.getCapacityImpl(CapacityImpl.jcs:43)

The connection pool is set up default, initial capacity = 1, maximum capacity
= 25, statement cache size = 10.

Joe Weinstein

unread,
Mar 25, 2004, 12:25:00 PM3/25/04
to Anders Mathisen

Anders Mathisen wrote:

>>Hi. What is the failure of the thin driver to execute the
>>{call user.package.proc(?,?)} ? Also, what is the pool's initial
>>and max capacity? Do you specify a statement cache size?
>>thanks,
>>Joe
>
>
> Here is the error message, some of it in Norwegian ... This message is from the
> OCI driver, however the PL/SQL message is the exactly same for the thin driver,
> stack trace obviously being somewhat different.
>
> "er ikke en prosedyre eller er udefinert" meaning "is not a procedure or is undefined"
>
> java.sql.SQLException: ORA-06550: linje 1, kolonne 7:
> PLS-00221: GET_PP_CAPACITY_CUR er ikke en prosedyre eller er udefinert
> ORA-06550: linje 1, kolonne 7:
> PL/SQL: Statement ignored
>
> at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)

This seems to imply an oracle driver bug. We don't change the SQL you send to the
DBMS in any way. Do you get the same problem in a standalone JDBC program using
a direct thin driver connection? We package an old version of the oracle driver,
so you should probably download the very latest appropriate driver from them,
and then edit the startWeblogic script so your new driver is ahead of the
weblogic.jar in the -classpath argument we create for the server start line.
Joe

0 new messages