Connection Pool Failure
Hello. I'm using wls 5.1 and Oracle 8i and an unable to make a connection pool. I keep getting the following with the message below. Where and how do I change my path?
weblogic.common.ResourceException: weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was:
java.sql.SQLException: System.loadLibrary threw java.lang.UnsatisfiedLinkError
'no weblogicoci36 in java.library.path'.
at weblogic.jdbcbase.oci.Driver.connect(Driver.java:116)
Hi,
You need to ensure that the ORACLE_HOME is set and PATH has
%ORACLE_HOME%\bin;%ORACLE_HOME%\lib;%WL_HOME%\bin\oci816_8 (check verison of
database) in the server startup script.
hth
sree
"Purvi" <porgie_76@> wrote in message news:3c6306f9$[email protected]..
Hello. I'm using wls 5.1 and Oracle 8i and an unable to make a connection
pool. I keep getting the following with the message below. Where and how do
I change my path?
weblogic.common.ResourceException: weblogic.common.ResourceException:
Could not create pool connection. The DBMS driver exception was:
java.sql.SQLException: System.loadLibrary threw
java.lang.UnsatisfiedLinkError
'no weblogicoci36 in java.library.path'.
at weblogic.jdbcbase.oci.Driver.connect(Driver.java:116)
Similar Messages
-
JDBC connection pool failures when used by JMS stores
We are using WebLogic 6.1 sp2. We defined a separate connection pool for use by
a JMS Store.
<JDBCConnectionPool Name="sybaseJMSPool"
Targets="cluster00"
InitialCapacity="2"
MaxCapacity="10"
DriverName="com.sybase.jdbc2.jdbc.SybDriver"
Properties="[email protected]@;[email protected]@;charset=utf8"
URL="jdbc:sybase:Tds:@jms.db.host@/@jms.db.name@"/>
(note that the @xxx@ string are replaced by actual values).
We are using Sybase Jconnect 5.5 to a Sybase ASE 12.5 database.
We deployed this configuration on a number of environments (testing, staging,
..). The actual hardware and network configuration is different for the different
system, but the WebLogic domain stays the same regarding this issue.
On the test system we frequently get the following exceptions:
<Aug 13, 2002 1:56:04 PM CEST> <Alert> <JMS> <www00-test> <node00>
<ExecuteThread: '6' for queue: 'JMS.TimerClientPool'> <> <> <040048>
<JMSServer "JMSServer00", store failure while writing message for topic
OrderChangeTopic, java.io.IOException: JMS JDBC store, connection pool =
<sybaseJMSPool>, prefix = <JMS00>: write failed
java.sql.SQLException: JZ006: Caught IOException:
com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0: Connection is already
closed.
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead
(ErrorMessage.java:715)
at com.sybase.jdbc2.tds.Tds.handleIOE(Tds.java:3124)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1412)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1341)
at com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java:564)
at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1672)
at com.sybase.jdbc2.jdbc.SybStatement.executeUpdate
(SybStatement.java:1625)
at com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate
(SybPreparedStatement.java:91)
at com.p6spy.engine.logging.P6LogPreparedStatement.executeUpdate
(P6LogPreparedStatement.java:179)
at weblogic.jdbc.pool.Statement.executeUpdate(Statement.java:293)
at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1246)
at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
.>
java.io.IOException: JMS JDBC store, connection pool = <sybaseJMSPool>, prefix
= <JMS00>: write failed
java.sql.SQLException: JZ006: Caught IOException:
com.sybase.jdbc2.jdbc.SybConnectionDeadException: JZ0C0: Connection is already
closed.
at com.sybase.jdbc2.jdbc.ErrorMessage.raiseErrorCheckDead
(ErrorMessage.java:715)
at com.sybase.jdbc2.tds.Tds.handleIOE(Tds.java:3124)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1412)
at com.sybase.jdbc2.tds.Tds.cancel(Tds.java:1341)
at com.sybase.jdbc2.jdbc.SybStatement.doCancel(SybStatement.java:564)
at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1672)
at com.sybase.jdbc2.jdbc.SybStatement.executeUpdate
(SybStatement.java:1625)
at com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate
(SybPreparedStatement.java:91)
at com.p6spy.engine.logging.P6LogPreparedStatement.executeUpdate
(P6LogPreparedStatement.java:179)
at weblogic.jdbc.pool.Statement.executeUpdate(Statement.java:293)
at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1246)
at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
at weblogic.jms.store.JDBCIOStream.throwIOException
(JDBCIOStream.java:1213)
at weblogic.jms.store.JDBCIOStream.write(JDBCIOStream.java:1256)
at weblogic.jms.store.StoreRequest.doTheIO(StoreRequest.java:250)
at weblogic.jms.store.JMSStore.execute(JMSStore.java:182)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
Before that this message appeared:
<Aug 13, 2002 11:31:16 AM CEST> <Error> <ConnectionManager> <www00-test>
<node00> <ExecuteThread: '26' for queue: 'default'> <> <> <000000>
<Closing: 'weblogic.rjvm.t3.T3JVMConnection@795af6' because of: 'Server
received a message over an uninitialized connection: 'JVMMessage from: 'null'
to: '-4555218188801970213S:192.168.13.1:[7001,7001,7002,7002,7001,7002,-
1]:ADIS:node00' cmd: 'CMD_REQUEST', QOS: '101', responseId: '1',
invokableId: '287', flags: 'JVMIDs Not Sent, TX Context Not Sent', abbrev
offset: '34'''>
This problem did not occur on another system which was used during a 2 day stress
testing session.
It seems that the problem occurs after a period in which no user request where
made. The user requests trigger EJB's that start sending JMS messages.
When the problem occurs, the JMS messaging systems seems to lock up as no messages
are received anymore by the different listeners (MDBs).
Undeploying and redeploying the JBDC connection pool solves the problem. This
solution is unacceptable in case of a production system.
A similarly defined connection pool, which is used by the EJBs to make database
connection, does not manifest this problem.
<JDBCConnectionPool Name="sybasePool"
Targets="cluster00"
InitialCapacity="10"
CapacityIncrement="5"
MaxCapacity="50"
PreparedStatementCacheSize="150"
DriverName="com.sybase.jdbc2.jdbc.SybDriver"
Properties="[email protected]@;[email protected]@;JCONNECT_VERSION=6;charset=utf8"
URL="jdbc:sybase:Tds:@db.host@/@db.name@"/>
The JDBC connection pool is used as follows by the JDBC store
<JMSJDBCStore ConnectionPool="sybaseJMSPool" Name="JDBCStore00" PrefixName="JMS00"/>
<JMSServer Name="JMSServer00" Store="JDBCStore00" Targets="node00">
<JMSTopic JNDIName="ADIS.JMSError" JNDINameReplicated="false" Name="ErrorTopic"/>
<JMSTopic JNDIName="ADIS.Status"
Name="StatusTopic" RedeliveryDelayOverride="300000"/>
<JMSTopic JNDIName="ADIS.OrderChange" JNDINameReplicated="false"
Name="OrderChangeTopic" RedeliveryLimit="3"/>
</JMSServer>
Turning on the "Test Reserved Connection" with a appropriate test table does not
help.
Some sources on the internet tell us that JZ0C0 errors in the Jconnect driver
can be related to network problems. Nevertheless the connection pool should be
able to cope with this.
Can you provide any solution for this ? Or give us hints what can cause the problem
Zhenhao Qi wrote:
thanks! Joe.
The SQL statement itself can no longer be simplified, the long excuation time is due to the database size and complicated Select criteria. I can easily reproduce the problem by using this SQL. I tried "BEA's Oracle driver (Type 4): Version 8.1.7,9.0.1,9.2.0". the question can be dissect into 2 pieces:
1) why the jdbc connection (using oracle.jdbc.OracleDriver) won't return anything if the SQL execution time > 5min, that is probably the Oracle's problem
2) why the occupied connection pool won't release even I set "Statementtimeout=600", this is Weblogic's problem.
ZhenhaoHi. Yes, (1) is oracle's problem. (2) may also be. The JDBC spec has very few
allowances for one thread to interrupt a second thread's JDBC call. If we
transmit your timeout request by calling setQueryTimeout() on the oracle
statement, and if you have a weblogic-controlled transaction we call
Statement.cancel() on any ongoing statement, we end up relying on whether
the Oracle driver implements and responds to those calls.
Are you doing weblogic-controlled transactions? Are you/can you
call Statement.setQueryTimeout() on your statements, or are these
generated JDBC queries?
If you can duplicate the problem using the weblogic.jdbc.oracle.OracleDriver
we have some other debug avenues. This would be good even if you really
want to use the thin driver, because we will do the same JDBC calls to
either driver, and the debug would prove (if) we set up a query timeout
and if we call cancel(). If we do, then we can know that it is the Oracle
driver failing in these regards.
Joe -
Oracle Connection Pool failure in COM+
I am having some trouble trying to get a specific database to work with an application that makes use of a COM+ Application. When we point the application at the UAT database everything seems fine, but when we point it to the production database after a few successful calls it ends up failing at the COM+ application recycles. The event viewer provides the following information:
Event Type: Error
Event Source: COM+
Event Category: Unknown
Event ID: 4786
Date: 8/5/2007
Time: 12:54:46 PM
User: N/A
Computer: APPL_SERVER
Description:
The system has called a custom component and that component has failed and generated an exception. This indicates a problem with the custom component. Notify the developer of this component that a failure has occurred and provide them with the information below.
Component Prog ID: Oracle Connection Pool - tnsnames_alias
Method Name: IDispenserDriver::CreateResource
Server Application ID: {30A93CB3-25EB-4258-8C88-5AE103B7B86F}
Server Application Instance ID:
{A57C513E-519F-45BD-B46D-DC54B285F534}
Server Application Name: COM+ Application Name
The serious nature of this error has caused the process to terminate.
Exception: C0000005
Address: 0x7C8327F9
Call Stack:
+ 0x7c8327f9
ntdll!RtlFindActivationContextSectionGuid + 0x7d2
ntdll!RtlInitializeSListHead + 0x175
ntdll!RtlFindActivationContextSectionGuid + 0x1b7
msvcrt!malloc + 0x6c
oracommon9!sktsfMalloc + 0x14
orageneric9!kpummapg + 0x58
orageneric9!kghalo + 0xabb
orageneric9!kghalf + 0x102
orageneric9!kopo2cpc + 0x61
orageneric9!kopeini + 0x1d
orageneric9!kopo2cpc + 0xd2
orageneric9!kopopgi + 0x117
OraClient9!koudpnp + 0x712
OraClient9!koudpnp + 0x101
OraClient9!kpuinit0 + 0xb19
OraClient9!kpuinit + 0x38
OraClient9!OCIEnvInit + 0x1c
oramts!kpntsrvr::kpntsrvr(class kpntdbid *) + 0x80
oramts!kpntdbid::allocNewSrvr(struct SIDAND_ATTRIBUTES *) + 0x138
oramts!kpntdbid::GetSrvr(class kpntsvrl * *,unsigned long) + 0x7df
oramts!kpntdisp::getNet8conn(class kpntsvrl * *,unsigned long) + 0x41
oramts!kpntsess::initOCI(void) + 0xec
oramts!kpntsess::sessionBegin(void) + 0x17b
oramts!kpntdisp::CreateResource(unsigned long,unsigned long *,long *) + 0xc4
COMSVCS!DispManGetContext + 0xa3d
COMSVCS!DispManGetContext + 0x1fee
oramts!kpntdisp::allocateConnection(class kpntsess * *,unsigned long,class kpntrtyp *) + 0x3c4
oramts!_kpntsvcgetex + 0x183
oramts!_kpntsvcget + 0x25
oramts!kpntctra::getConnectionAndHandles(class kpntrtyp *,struct OCISvcCtx * *,struct OCITrans * *,struct OCIError * *) + 0x87
oramts!kpntctra::abortBranch(struct xid_t &,class kpntbrnch *,struct BOID *,int,struct BOID *) + 0x15a
oramts!kpntctra::doAbort(struct BOID *,int,struct BOID *) + 0x454
oramts!kpntajob::doJob(void) + 0x27
oramts!kpntjobq::serviceRequest(class kpntjob *) + 0x3e
oramts!workerThread(void *) + 0xd0
msvcrt!_endthreadex + 0xa3
kernel32!GetModuleFileNameA + 0xeb
Not being an expert in Oracle, I have been able to dig up a little bit of information that might be of use ...
a) Our tnsnames.ora indicates that the connections are to be DEDICATED and running Toad bares this out -- dllhost ends up with a single connection.
b) most of the database initial set of parameters seem to be very similar. The only difference I noticed was that the archive log mode and db_cache_advice are ON for production.
c) We have little control over how the connection strings are being created internally in this COM+ application, but however they are created it works for UAT and doesn't for PROD.
d) When we go into our web application and hit a page that makes use of the COM+ component to render, it will work the first time but when I do a simple browser refresh it will usually fail on the 2nd or 3rd time. Almost like it is trying to expand the connection pool size and the oracle server is throwing up.
If I didn't mention earlier the two database instances run on different servers but the application server is exactly the same. We only change the alias we are using for the database (both are defined in tnsnames) and the password used to make its connection.
Does anyone have any clues on this one? I am really spinning my wheels trying to figure out what could cause this type of situation. Anything at all would be very helpful.It appeared to us that the problem was with the Oracle server and that it might have been failing when we were trying to expand our application connection pool size or basically obtain more connections.
The biggest indicator of this is that we run the same application code against two different databases and one works and one does not work. Having said this, I suppose the problem could be rooted in a data error instead of an oracle server error ...
Is there a specific trace file on the oracle server that would help me point to any error that is truly an oracle server error? Sorry I am very new to Oracle. -
Connection Pool Failure: "No suitable driver"
Hi,
Upon server startup, I get the following result:
<Nov 7, 2001 4:18:32 PM CST> <Error> <JDBC> <Cannot startup connection pool "ora
cleTrufflePool" No suitable driver>
I assumed it was a path problem, but in the startWebLogic.cmd script I've set the PATH and CLASSPATH variables to the same as in a separate command window that can successfully dbping the Oracle db.
One thing I completely don't understand is what the URL value should be for the pool, and I can't see a pattern in the examples and docs I've found on this. Here are my pool settings, at any rate:
Name: oracleTrufflePool
URL: myOracleServerName
Driver Classname: weblogic.jdbc.oci.Driver
Properties:
user=user
password=password
server=myOracleServerName
ACLName: user
Password: password
As you can see, I also don't understand whether the Oracle user name and password must be duplicated in the Properties section, or should they really only be listed in the ACLName and Password fields (in the Server Console UI)?
TIA,
SteveHi. The issue is that the URL you give is not the URL the driver (weblogic.jdbc.oci.Driver)
wants. The URL should be "jdbc:webLogic:oci". The properties user, password and server
will be passed to the driver for conenction attempts. The ACL is for who gets to use the
pool, and the other password entry is only if you need the DBMS password to be encrypted
in the XML. If so, set that password value, and don't have it in the driver properties.
Joe
Steve Clark wrote:
>
Hi,
Upon server startup, I get the following result:
<Nov 7, 2001 4:18:32 PM CST> <Error> <JDBC> <Cannot startup connection pool "ora
cleTrufflePool" No suitable driver>
I assumed it was a path problem, but in the startWebLogic.cmd script I've set the PATH and CLASSPATH variables to the same as in a separate command window that can successfully dbping the Oracle db.
One thing I completely don't understand is what the URL value should be for the pool, and I can't see a pattern in the examples and docs I've found on this. Here are my pool settings, at any rate:
Name: oracleTrufflePool
URL: myOracleServerName
Driver Classname: weblogic.jdbc.oci.Driver
Properties:
user=user
password=password
server=myOracleServerName
ACLName: user
Password: password
As you can see, I also don't understand whether the Oracle user name and password must be duplicated in the Properties section, or should they really only be listed in the ACLName and Password fields (in the Server Console UI)?
TIA,
Steve -
HELP - DB2 v9 & App Server PE 9.0 - PING Connection Pool Failure - HELP
I've been playing around with Studio Creator and DB2 v9 without any issues.
So I figured I would installed App Server PE 9 and use this as my production server that I would deploy to from studio creator.
However, in my efforts to set up db2/v9 I have been trying to ping a connection pool without any luck. I get the following message:
Operation 'pingConnectionPool' failed in 'resources' Config Mbean. Target exception message: Connection could not be allocated because: [sunm][DB2 JDBC Driver]Resource Limits Reached( ALLOCATE MEMORY FOR NEW SQLSTT FAILED ). Diagnostic Info: FUNCTION ID = 0049 , PROBE POINT = 0400 , TRACE POINT = 0030 , SUBCODE1 = 8B0F0000, SUBCODE2 = 78A68A98, SUBCODE3 = 00000000, ERROR MSG = Parser: Memory allocation error.
My datasource class name is com.sun.sql.jdbcx.db2.DB2DataSource.
And my resource type is javax.sql.datasource
I have copied smbase.jar, smdb2.jar and smutil.jar into c:\sun\appserver\lib
and I have all of the properties (serverName, portNumber, databaseName, user, password) created and set accordingly.
Any help would be greatly appreciated.Here is how I got the DB2 Express-C and Sun PE 9.0 to work. ( at least base connectivity wise )
1. ) You have to have at least the DB2 Client installed on the system that will be communicating to the DB2 instance.
2.) The following jars will be needed ( depending on the driver type used) . db2java.zip, db2jcc.jar, and db2jcc_license_cu.jar and use them in the App Server ->JVM settings -> Path Settings -> Classpath Suffix
3.) The next setup is dependent on the Type driver you use
I used the Type 4 and this is the resource setup I used.
Connection Pool:
Name: DB2TestPool
Datasource Classname: com.ibm.db2.jcc.DB2SimpleDataSource
Resource Type: javax.sql.ConnectionPoolDataSource
Properties:
user: xxxxxx
password: xxxxxx
databaseName: TEST
serverName: <hostname of machine>
portnumber: 50000
driverType: 4
URL: jdbc:db2://<hostname>:<port>/<database>
JDBC Resource:
JNDI Name: jdbc/TEST
Pool Name: DB2TestPool
With this configuration I was able to ping the database as well as connect to create an entity bean from a table. This should give you a starting point.
I have yet to deploy my application, but should be doing that sometime today to verify that a connection can be made and used from within the application. -
Create and Apply new connection pool failure
Hi all,
I am trying to creat a new connection pool by the examples Console with WebServer
6.0
Name: testingPool
URL: jdbc:cloudscape:demo or jdbc:dbc:cloudscape:Test (where Test is a new DB
in cloudscape)
Driver Name:COM.cloudscape.core.JDBCDriver
Property:
user=none
password=none
server=none
Then create a Datasource which using the new created testingPool and the Target
is the "exampleServer"
However when I start the server,it keeps on complaining that the "testingPool
is not exist".
Any setting that I 've missed when using a new connection pool??
I only know the workaround is using the demoPool which is already exist in the
example.
Any help will be very appreciate!!
Thanks !
Regards,
u0p1HI,
I've already set the Target Server to be the Example Server,
is it wrong?
"Sree Bodapati" <[email protected]> wrote:
Check if you have set a target server for the connection pool.
sree
"u0p1" <[email protected]> wrote in message
news:3bb3bc32$[email protected]..
Hi all,
I am trying to creat a new connection pool by the examples Consolewith
WebServer
6.0
Name: testingPool
URL: jdbc:cloudscape:demo or jdbc:dbc:cloudscape:Test (where Test isa new
DB
in cloudscape)
Driver Name:COM.cloudscape.core.JDBCDriver
Property:
user=none
password=none
server=none
Then create a Datasource which using the new created testingPool andthe
Target
is the "exampleServer"
However when I start the server,it keeps on complaining that the"testingPool
is not exist".
Any setting that I 've missed when using a new connection pool??
I only know the workaround is using the demoPool which is already existin
the
example.
Any help will be very appreciate!!
Thanks !
Regards,
u0p1 -
Intermittent mssql4 Connection Pool Failure problems
Ocaisionally we are getting the following error:
weblogic.jdbcbase.mssqlserver4.TdsConnection.registerOutgoingPipeline(TdsConnection.java:414)
at weblogic.jdbcbase.mssqlserver4.TdsConnection.registerPipeline(TdsConnection.java:430)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(TdsStatement.java:182)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(TdsStatement.java:1521)
at weblogic.jdbcbase.jts.Statement.execute(Statement.java:302)
at weblogic.jdbc20.rmi.internal.PreparedStatementImpl.execute(PreparedStatementImpl.java:288)
at weblogic.jdbc20.rmi.SerialPreparedStatement.execute(SerialPreparedStatement.java:398
Once we get this error the whole connection pool is fried until we restart it.
We are using the test connection on checkout property of the connection pool,
so I don't understand why this problem isn't caught at connection checkout time.
Normally if there is a problem with a connection, the connection is refreshed.
However, sometimes, this happens.What version of our product? What is the whole serverside stacktrace?
thanks,
Joe
Scott wrote:
>
Ocaisionally we are getting the following error:
weblogic.jdbcbase.mssqlserver4.TdsConnection.registerOutgoingPipeline(TdsConnection.java:414)
at weblogic.jdbcbase.mssqlserver4.TdsConnection.registerPipeline(TdsConnection.java:430)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(TdsStatement.java:182)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(TdsStatement.java:1521)
at weblogic.jdbcbase.jts.Statement.execute(Statement.java:302)
at weblogic.jdbc20.rmi.internal.PreparedStatementImpl.execute(PreparedStatementImpl.java:288)
at weblogic.jdbc20.rmi.SerialPreparedStatement.execute(SerialPreparedStatement.java:398
Once we get this error the whole connection pool is fried until we restart it.
We are using the test connection on checkout property of the connection pool,
so I don't understand why this problem isn't caught at connection checkout time.
Normally if there is a problem with a connection, the connection is refreshed.
However, sometimes, this happens. -
Connection pool / db failure
WLS6.0 sp2 / Win2k
Oracle 8.1.7 / Solaris 8
problem is if DB fails, the connection pool fails, and will not restart. If I run a java weblogic.Admin EXISTS_POOL command, it says the pool doesnt exist.
If i run a RESET_POOL, using the system user password, it comes back with:
Exception in thread "main" javax.naming.AuthenticationException. Root exception is java.lang.Securi
tyException: Authentication for user guest denied in realm weblogic
<<no stack trace available>>
I have test on reserved set (and dual as the table).
Anyone shed any light on what could be going wrong, because right now, every time the DB fails, we have to restart the **&$"&^ server.... (and that takes around 20mins for all the apps to init)
tks
willHi Will,
When you bring up the server, if the database is down, your connection pools
will not come up if you have an initial capacity greater than 0. This is a
known issue and the workaround for this is to set the initial capacity to
zero so the pool comes up even when the database is down, then make sure you
set the capacity increment to the value that you like your initial capacity
to be and have the TestConnectionOnReserve to true.
hth
sree
"Will" <[email protected]> wrote in message
news:3d13111f$[email protected]..
WLS6.0 sp2 / Win2k
Oracle 8.1.7 / Solaris 8
problem is if DB fails, the connection pool fails, and will not restart.If I run a java weblogic.Admin EXISTS_POOL command, it says the pool doesnt
exist.
If i run a RESET_POOL, using the system user password, it comes back with:
Exception in thread "main" javax.naming.AuthenticationException. Rootexception is java.lang.Securi
tyException: Authentication for user guest denied in realm weblogic
<<no stack trace available>>
I have test on reserved set (and dual as the table).
Anyone shed any light on what could be going wrong, because right now,every time the DB fails, we have to restart the **&$"&^ server.... (and that
takes around 20mins for all the apps to init)
>
tks
will -
I have installed BPEL Process Manager with Weblogic 8.1SP4.
I am using Oracle Database 9.2.0.5.0 for Oracle BPEL Process
Manager installation.
Also i have made following changes for JDBC thin driver accordingly.
<JDBCConnectionPool CapacityIncrement="2"
DriverName="oracle.jdbc.OracleDriver"
MaxCapacity="15" LoginDelaySeconds="1"
Name="BPELServerPool"
ShrinkPeriodMinutes="15"
ShrinkingEnabled="true" SupportsLocalTransaction="true"
Targets="orabpelServer"
URL="jdbc:oracle:thin:orabpel/orabpel_password@hostname:port:database_servoce_
name"/>
I m getting following error while starting the server :-
Connection Pool "BPELServerPool" deployment failed with the following error: 0:Could not create pool connection. The DBMS driver exception was: invalid arguments in call.
Also I m getting following error during startup
ORABPEL-04076
Cannot lookup jdbc datasource.
The process domain was unable to lookup the TX datasource "BPELServerDataSourceWorkflow".
Please check that the machine hosting the datasource is physically connected to the network. Additionally check that the connection pool properties as defined in the application server startup properties are valid.
at com.collaxa.cube.engine.data.ConnectionFactory$ConnectionFactoryImpl.init(ConnectionFactory.java:268)
at com.collaxa.cube.engine.data.ConnectionFactory.update(ConnectionFactory.java:54)
at com.collaxa.cube.engine.data.ConnectionFactory.init(ConnectionFactory.java:42)
at com.collaxa.cube.admin.data.ServerConnectionFactory.init(ServerConnectionFactory.java:34)
at com.collaxa.cube.admin.adaptors.ServerAdaptorManager.init(ServerAdaptorManager.java:66)
at com.collaxa.cube.admin.ServerManager.__init(ServerManager.java:211)
at com.collaxa.cube.admin.ServerManager.init(ServerManager.java:99)
at com.collaxa.cube.ejb.impl.ServerBean.init(ServerBean.java:200)
at com.collaxa.cube.ejb.impl.ServerBean_g9inc6_EOImpl.init(ServerBean_g9inc6_EOImpl.java:856)
at com.collaxa.cube.admin.CXLoaderServlet.init(CXLoaderServlet.java:62)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1028)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:904)
at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:883)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:822)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3333)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3278)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3259)
at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:5949)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:862)
at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2127)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2168)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2115)
at weblogic.management.deploy.slave.SlaveDeployer$Application.setActivation(SlaveDeployer.java:3082)
at weblogic.management.deploy.slave.SlaveDeployer.setActivationStateForAllApplications(SlaveDeployer.java:1751)
at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:359)
at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:32)
<Error> <HTTP> <BEA-101216> <Servlet: "cxloader" failed to preload on startup in Web application: "startup".
javax.servlet.ServletException:
ORABPEL START-UP ERROR!!!!!!!!
Can Anyone kindly suggest what is the problem ?I have installed BPEL Process Manager with Weblogic 8.1SP4.
I am using Oracle Database 9.2.0.5.0 for Oracle BPEL Process
Manager installation.
Also i have made following changes for JDBC thin driver accordingly.
<JDBCConnectionPool CapacityIncrement="2"
DriverName="oracle.jdbc.OracleDriver"
MaxCapacity="15" LoginDelaySeconds="1"
Name="BPELServerPool"
ShrinkPeriodMinutes="15"
ShrinkingEnabled="true" SupportsLocalTransaction="true"
Targets="orabpelServer"
URL="jdbc:oracle:thin:orabpel/orabpel_password@hostname:port:database_servoce_
name"/>
I m getting following error while starting the server :-
Connection Pool "BPELServerPool" deployment failed with the following error: 0:Could not create pool connection. The DBMS driver exception was: invalid arguments in call.
Also I m getting following error during startup
ORABPEL-04076
Cannot lookup jdbc datasource.
The process domain was unable to lookup the TX datasource "BPELServerDataSourceWorkflow".
Please check that the machine hosting the datasource is physically connected to the network. Additionally check that the connection pool properties as defined in the application server startup properties are valid.
at com.collaxa.cube.engine.data.ConnectionFactory$ConnectionFactoryImpl.init(ConnectionFactory.java:268)
at com.collaxa.cube.engine.data.ConnectionFactory.update(ConnectionFactory.java:54)
at com.collaxa.cube.engine.data.ConnectionFactory.init(ConnectionFactory.java:42)
at com.collaxa.cube.admin.data.ServerConnectionFactory.init(ServerConnectionFactory.java:34)
at com.collaxa.cube.admin.adaptors.ServerAdaptorManager.init(ServerAdaptorManager.java:66)
at com.collaxa.cube.admin.ServerManager.__init(ServerManager.java:211)
at com.collaxa.cube.admin.ServerManager.init(ServerManager.java:99)
at com.collaxa.cube.ejb.impl.ServerBean.init(ServerBean.java:200)
at com.collaxa.cube.ejb.impl.ServerBean_g9inc6_EOImpl.init(ServerBean_g9inc6_EOImpl.java:856)
at com.collaxa.cube.admin.CXLoaderServlet.init(CXLoaderServlet.java:62)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1028)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:904)
at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:883)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:822)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3333)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3278)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3259)
at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:5949)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:862)
at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2127)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2168)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2115)
at weblogic.management.deploy.slave.SlaveDeployer$Application.setActivation(SlaveDeployer.java:3082)
at weblogic.management.deploy.slave.SlaveDeployer.setActivationStateForAllApplications(SlaveDeployer.java:1751)
at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:359)
at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:32)
<Error> <HTTP> <BEA-101216> <Servlet: "cxloader" failed to preload on startup in Web application: "startup".
javax.servlet.ServletException:
ORABPEL START-UP ERROR!!!!!!!!
Can Anyone kindly suggest what is the problem ? -
Easy JNDI + Connection Pool Question
This is an easy question:
Once I get the object represented by my connection pool from the
Weblogic JNDI tree, how do I get a connection from the returned object
of type weblogic.common.internal.ResourceAllocator?
I keep getting ClassCastExceptions. I have tried
ConnectionPoolDataSource, Connection, and DataSource.
String conPool = "weblogic.jdbc.connectionPool.demoPool";
try {
Object obj = ctx.lookup(conPool);
msg(DEBUG,"FROM LOOKUP" + obj.getClass().getName());
//DataSource ds = (DataSource)ctx.lookup(conPool);
//con = ds.getConnection();
} catch (NameNotFoundException e) {
// binding does not exist
msg(ERROR,"BINDING DOES NOT EXIST",e);
} catch (NamingException e) {
// a failure occurred
msg(ERROR,"NAMING FAILURE OCCURED",e);
} catch (Exception e) {
msg(ERROR,"SOME RANDOM ERROR",e);
Thanks,
-Jacob"Jacob Meushaw" wrote in message
Once I get the object represented by my connection pool from the
Weblogic JNDI tree, how do I get a connection from the returned object
of type weblogic.common.internal.ResourceAllocator?
I keep getting ClassCastExceptions.
DataSource ds = (DataSource)ctx.lookup(conPool);I think, you must use narrow operation:
Object reference = ctx.lookup(conPool);
DataSource ds =
(DataSource) PortableRemoteObject.narrow (ds,DataSource.class);
I haven't got time to check it, but I hope that works.
Wojtek -
Create A Connection Pool In the ServletContextListener
The Specification says that we should create the connection pool in the ServletContextListener. I have the code for creating a connection pool (see below). How do I create it in the ServletContextListener?
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DBConnection
public static Connection getDBConnection() throws SQLException
Connection conn = null;
try
InitialContext ctx = new InitialContext();
DataSource ds = ( DataSource ) ctx.lookup( "java:comp/env/jdbc/MySQLDB" );
try
conn = ds.getConnection();
catch( SQLException e )
System.out.println( "Open connection failure: " + e.getMessage() );
catch( NamingException nEx )
nEx.printStackTrace();
return conn;I use the connection pool feature provide by the server I use. Is this what I should do? Please confirm.
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import javax.servlet.*;
public class CreateResources implements javax.servlet.ServletContextListener
public void contextInitialized(ServletContextEvent sce)
public static Connection getDBConnection() throws SQLException
Connection conn = null;
try
InitialContext ctx = new InitialContext();
DataSource ds = ( DataSource ) ctx.lookup( "java:comp/env/jdbc/MySQLDB" );
try
conn = ds.getConnection();
catch( SQLException e )
System.out.println( "Open connection failure: " + e.getMessage() );
catch( NamingException nEx )
nEx.printStackTrace();
return conn;
public void contextDestroyed(ServletCotnextEvent sce)
} -
Issue JDBC connection pool with Glassfish 3.1.2.2 and Oracle XE 11gR2
Hello,
I am experiencing an issue with pinging a JDBC connection Pool.
I installed the following without any warnings or errors:
Operating System: Oracle Enterprise Linux 5
Oracle XE 11gR2 (11.2.0.2.0) database
Glassfish 3.1.2.2
I will refer to the steps I did after the installations
1) In the .profile file of the OS I add the following:
JRE_HOME=/usr/java/jre1.6.0_31; export JRE_HOME
JAVA_HOME=/usr/java/jdk1.6.0_31; export JAVA_HOME
GLASSFISH_DIR=/u01/glassfish3
GLASSFISH_HOME=/u01/glassfish3/glassfish
DERBY_HOME=$GLASSFISH_DIR/javadb
OPEN_MQ_HOME=$GLASSFISH_DIR/mq
PATH=:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$HOME/bin:$GLASSFISH_HOME/bin:$DERBY_HOME/bin:$OPEN_MQ_HOME/bin
export GLASSFISH_HOME
export DERBY_HOME
export OPEN_MQ_HOME
export PATH
LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/xe/lib; export LD_LIBRARY_PATH
. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
2) I copied the ojdbc6.jar to the $GLASSFISH_HOME/domains/domain1/lib
3) I login to the Glassfish admin console and created a new JDBC Connection Pool.
Pool Name: ds_orasys
Resource Type: javax.sql.DataSource
Datasource Classname: oracle.jdbc.pool.OracleDataSource
User: [myschema]
Password: [myschema password]
URL: jdbc:oracle:thin:@localhost:1521:xe
When I ping the connection pool I get the following message in the server log:
[#|2012-10-23T12:14:37.069+0300|WARNING|glassfish3.1.2|javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors.service|_ThreadID=22;_ThreadName=Thread-2;|RAR8054: Exception while creating an unpooled [test] connection for pool [ ds_orasys ], Connection could not be allocated because: Invalid Oracle URL specified|#]
[#|2012-10-23T12:14:37.071+0300|SEVERE|glassfish3.1.2|org.glassfish.admingui|_ThreadID=19;_ThreadName=Thread-2;|RestResponse.getResponse() gives FAILURE. endpoint = 'http://212.205.62.217:4848/management/domain/resources/ping-connection-pool.json'; attrs = '{id=ds_orasys}'|#]
I tried to use different jar files. I used ojdbc6dms.jar and ojdbc14.jar.
I also copied the jar files in the $GLASSFISH_HOME/domains/domain1/lib/ext directory as some people suggested. Still no luck. I keep getting the same error messages in the server.log
Can anybody help me out or point me to the right direction.
Thank you in advanceThe error is in the URL. It was in front of my eyes and I couldn't see the error. I skipped the ':' before the '@' when I created the pool. It is working fine now.
-
Recognizing alternate connection pool
hi..
Currently, If a connection pool fails due to a TNS failure, application instance also fails, it has lost connectivity.
But I need, my application to recognize an alternate connection pool, such that if transactions time out on one connection, application would recognize that the primary pool is not responding and retry the transactions on a secondary data connection pool via the alternate DB instance.
If I get the solution for this, it will be appreciable
Thanks in advance
SureshHi. Look at our documentation on multipools.
Joe
Suresh Kumar wrote:
hi..
Currently, If a connection pool fails due to a TNS failure, application instance also fails, it has lost connectivity.
But I need, my application to recognize an alternate connection pool, such that if transactions time out on one connection, application would recognize that the primary pool is not responding and retry the transactions on a secondary data connection pool via the alternate DB instance.
If I get the solution for this, it will be appreciable
Thanks in advance
Suresh -
JDBC Connection pool recovery after DB server restart
I am finding that Kodo is throwing the following exception after I restart
my database server (mysql). I am doing the database server restart while my
application server is idle, so it is not during a transaction.
Communication link failure: java.net.SocketException [code=0;state=08S01]
NestedThrowables:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
This is presumably due to the JDBC connection pooling. Is there a
configuration setting that allows Kodo to detect such failures and reconnect
to the database server without exposing this problem to the application
code? For example, WebLogic Server's JDBC connection pool has a setting that
enables testing a connection and recovering from such failures before
allocating it from the pool.
BenThis is presumably due to the JDBC connection pooling. Is there a
configuration setting that allows Kodo to detect such failures and reconnect
to the database server without exposing this problem to the application
code?Not right now. You can log an enhancement request with our bug database:
http://bugzilla.solarmetric.com/ -
RCA Connection Pool idle Time-Out takes no effect !
My question description goes here.
According to JCA specification, I developed my 'ManagedConnectionImpl' class from the interface 'ManagedConnection'. I realize the 'destroy()' function to send out logout request to the EIS.
Then I deployed the connector in Sun Java System Application Server, I noticed there are two parameters in Connection Pool part, they are:
1. Idle Timeout. It said it's the maximum time that a connection can remain idle in the pool. I assume the connection will be removed after the specific time expired and before it's removed it will call the recallable function, 'destroy()', in my concrete class, 'ManagedConnectionImpl'.
2. Pool Resize Quantity. it said it's number of connections to be removed when pool idle time expired.
I am weird about it. I think EIS had itself session control strategy, if the specific session time-out expired, it will invalidate this session. So I think we will set 'Idle Timeout' in application server to be shorter than the EIS session time-out. If the 'Idle Timeout' in application server expired, it should remove all connections inside otherwise maybe the connection with invalid session will exist! (the background knowledge is our system will return back soap fault when it meets invalid session, so the invalid connections will not be removed by switching on your configuration item, 'On Any Failure')
So I set "inital and minimum pool size" to 8, "maximum pool size" to 32 and "Pool Resize Quantity" to 32. (I expect AS to remove all when pool idle time expired)
After deploying, I send out requests at the first round and wait for the time expired but I can't see the desired logout requests from pool automatically even one. Firstly I guess if my recallable function definition is wrong but when I shut down the Application Server, the desired logout requests are sent out from pool automatically. So I think my recallable function definition is workable.
What's your comments on it?
P.S.
I am using Sun Java System Application Server 8.1.
Thanks in advance!
BRs
/LeoI have had following test to ensure I sent out notification to listener.
[#|2005-08-23T16:14:25.061+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
It's in managed env!|#]
[#|2005-08-23T16:14:25.062+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
enter matchManagedConnections() !|#]
[#|2005-08-23T16:14:25.062+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
try to find a matching and existing one, reuse it!|#]
[#|2005-08-23T16:14:25.062+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
Found a matching and existing one, reuse it!|#]
[#|2005-08-23T16:14:25.495+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
tearDown() is called, the application-level connection is released!|#]
[#|2005-08-23T16:14:25.496+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
enter calling close() of managed connection.|#]
[#|2005-08-23T16:14:25.496+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
Start calling close() of managed connection.|#]
[#|2005-08-23T16:14:25.496+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
start to notify the listener the completeness of connection.|#]
[#|2005-08-23T16:14:25.496+0800|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.stream.out|_ThreadID=12;|
notify the listener the completeness of connection successfully.|#]
Whether it's related with the initial and minimum number parameter? Although I found it will not be created during AS start-up and will be created at the first request.
Whether it shall be kept to meet the minimum requirement? I have failed to set it to 0.
Maybe you are looking for
-
Null values passed into the servlet
Hi all, I keep getting null values for all the params that I pass into the servlet i.e. sqltype, producttype, process, instance etc....I have attempted to print some of them out on the screen but I keep getting the 'NullPointerException' error messag
-
How can I display the elapsed time of the course using Advanced Actions in Captivate?
I have a Captivate course which is approximately 35 minutes in length. On each slide I would like to display to the user, the current elapsed time. EXAMPLE: 25/35 minutes complete The 35 would remain static, so I have been working with the elapsed ti
-
Hello All. I am working on a form, but I need to format the leading in a multi-line text-field. The options for the text-field only show a font size option, but no other styling options. Is there a way to format the leading? Thanks!
-
Is there anyway to rebind the backspace key so that it does something else other than what it is supposed to do (i.e. delete the character before the current carat position). I've tried doing the inputMap()/actionMap() method to rebind and it fails t
-
Standard Report for base Unit of measure & alternative unit
Hi experts Please give me standard reports for viewing base Unit of measure & alternative unit for a material code. Regards sandeep