MWS - Database connection error

Hi Guys,

I know this is a very genric error and why it is caused but the problem we are facing is we cannot trace it and its not permanent, it comes and goes. When we start MWS sometimes MWS does not start and gives this error :

2008-06-03 14:00:28 EST (Framework : FATAL) - Error creating database connection to: jdbc:wm:oracle://xxxx:1528;serviceName=xxxx
java.sql.SQLException: [wm-cjdbc36-0039][Oracle JDBC Driver]Error establishing socket to host and port: xxxx:1528. Reason: Address already in use

From IS JDBC pool, the test connection somes gives this error and sometimes is successful.
I thought it might be a problem with DATA DIRECT Drivers and hence changed it in IS to create new driver alias using ORACLE THIN driver and it works fine.

We cannot configure ORACLE THIN driver from MWS DataSource page as it gives error while testing connection :
“java.sql.SQLException: Io exception: The Network Adapter could not be found.”

Configuration :
OS : RED HAT Linux 4.0
DB : ORACLE 10g
MWS : 7.1.1
IS : 7.1.1

Hi Guys,

The culprit is “awbroker”
It created more than 32000 sockets in TIME_WAIT and blocked all linux sockets available.

That why JDBC connection was failing.

The problem is yet not solved as to why broker created so many sockets…

If anybody knows about this, please let me know.

Regards,
Sumit

Resolution : changed the default broker and monitor port from 6850 and 6849 to 7850 and 7849 and the problem vanished!!!

The port 6849 due to some unresolved reason is creating socket with loopback address in TIME_WAIT.

Guys, unresolved reason :

If you redeploy your environment, it replaces JNDI configurations to default settings.
In default setting it uses : /Broker #1/Analysis and we have cutom broker name.

Due to this when analytic engine starts, it goes into tight loop with broker pinging for correct broker. This happened in Red Hat Linux but i did not see this happening in Windows…

On pointing out this to SAG, they recommended to use different JNDI provider and NOT webMethods JNDI provider as its only for testing and development purpose.

Although i haven’t got a documentation on how to achieve this, will update if i get anything. I thought of updating this for others if they face problem like this.

Hello Sumit,

Thanks for sharing insight/resolution it will really help wM community.

Kind Regards,
Puneet Saxena

hi…

i installed the myWebmethods server 7.1.x and tried starting it but unable to start it and when checked in logs i found the following error.

java.sql.SQLException: The url cannot be null
at java.sql.DriverManager.getConnection(DriverManager.java:502)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at com.webmethods.portal.service.sql.core.provider.pool.ConnectionPoolManager.create(ConnectionPoolManager.java:91)
at com.webmethods.portal.system.pool.impl.LightweightObjectPool.checkOut(LightweightObjectPool.java:207)
at com.webmethods.portal.service.sql.core.provider.pool.PooledConnectionProvider.getConnection(PooledConnectionProvider.java:168)
at com.webmethods.portal.service.sql.core.BaseSqlWorker.init(BaseSqlWorker.java:106)
at com.webmethods.portal.service.sql.core.ConnectionManager.validateDatasource(ConnectionManager.java:644)
at com.webmethods.portal.service.sql.core.ConnectionManager.init(ConnectionManager.java:270)
at com.webmethods.portal.service.sql.core.ConnectionManager.init(ConnectionManager.java:212)
at com.webmethods.portal.service.sql.core.ConnectionManager.init(ConnectionManager.java:178)
at com.webmethods.portal.system.init.impl.DefaultPhase$InitializableWrapper.init(DefaultPhase.java:118)
at com.webmethods.portal.system.init.impl.DefaultPhase.initComponent(DefaultPhase.java:99)
at com.webmethods.portal.system.impl.BaseProvider.initComponents(BaseProvider.java:509)
at com.webmethods.portal.system.impl.BaseProvider.init(BaseProvider.java:125)
at com.webmethods.portal.system.init.impl.DefaultPhase.init(DefaultPhase.java:44)
at com.webmethods.portal.system.init.impl.DefaultPhaseProvider.initComponent(DefaultPhaseProvider.java:257)
at com.webmethods.portal.system.impl.BaseProvider.initComponents(BaseProvider.java:509)
at com.webmethods.portal.system.impl.BaseProvider.init(BaseProvider.java:125)
at com.webmethods.portal.system.init.impl.DefaultPhaseProvider.initializePhases(DefaultPhaseProvider.java:89)
at com.webmethods.portal.system.PortalSystem.init(PortalSystem.java:867)
at com.webmethods.portal.system.PortalSystem.main(PortalSystem.java:826)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.webmethods.portal.system.start.Main.start(Main.java:126)
at com.webmethods.portal.system.start.Main.main(Main.java:47)
2008-07-28 19:10:28 IST (Framework : FATAL) - [POP.004.0202] Cannot create database connection to default MWS datasource. Please verify database connection parameters in the MWS/server/default/config/db.xml configuration file
com.webmethods.portal.system.init.InitializationException: [POP.004.0202] Cannot create database connection to default MWS datasource. Please verify database connection parameters in the MWS/server/default/config/db.xml configuration file
at com.webmethods.portal.service.sql.core.ConnectionManager.validateDatasource(ConnectionManager.java:667)
at com.webmethods.portal.service.sql.core.ConnectionManager.init(ConnectionManager.java:270)
at com.webmethods.portal.service.sql.core.ConnectionManager.init(ConnectionManager.java:212)
at com.webmethods.portal.service.sql.core.ConnectionManager.init(ConnectionManager.java:178)
at com.webmethods.portal.system.init.impl.DefaultPhase$InitializableWrapper.init(DefaultPhase.java:118)
at com.webmethods.portal.system.init.impl.DefaultPhase.initComponent(DefaultPhase.java:99)
at com.webmethods.portal.system.impl.BaseProvider.initComponents(BaseProvider.java:509)
at com.webmethods.portal.system.impl.BaseProvider.init(BaseProvider.java:125)
at com.webmethods.portal.system.init.impl.DefaultPhase.init(DefaultPhase.java:44)
at com.webmethods.portal.system.init.impl.DefaultPhaseProvider.initComponent(DefaultPhaseProvider.java:257)
at com.webmethods.portal.system.impl.BaseProvider.initComponents(BaseProvider.java:509)
at com.webmethods.portal.system.impl.BaseProvider.init(BaseProvider.java:125)
at com.webmethods.portal.system.init.impl.DefaultPhaseProvider.initializePhases(DefaultPhaseProvider.java:89)
at com.webmethods.portal.system.PortalSystem.init(PortalSystem.java:867)
at com.webmethods.portal.system.PortalSystem.main(PortalSystem.java:826)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.webmethods.portal.system.start.Main.start(Main.java:126)
at com.webmethods.portal.system.start.Main.main(Main.java:47)

i found in another thread that we need to make some DB connection to the server.

how should i configure it?

please help.

praveen

Check in the webMethods_Installation_Guide_7_1_x.pdf and look at Page 67 (Configure My webMethods Server) how to establish MWS db connection…

HTH,
RMG

Done through Database Component Configurator available for wm 7.1

thanks

Praveen

Absolutely yes…thx for updating back…

Hi,
i’m having the following problem when i start the MWS (the version of my MWS is 8.2)


Error creating database connection to: jdbc:wm:oracle://localhost:1521;serviceName=XE
java.sql.SQLException: [sag-cjdbc42-0011][Oracle JDBC Driver][Oracle]ORA-28001: the password has expired

	at com.wm.dd.jdbc.oraclebase.ddb9.b(Unknown Source)
	at com.wm.dd.jdbc.oraclebase.ddb9.a(Unknown Source)
	at com.wm.dd.jdbc.oraclebase.ddb8.b(Unknown Source)
	at com.wm.dd.jdbc.oraclebase.ddb8.a(Unknown Source)
	at com.wm.dd.jdbc.oracle.OracleImplConnection.a(Unknown Source)
	at com.wm.dd.jdbc.oracle.OracleImplConnection.x(Unknown Source)
	at com.wm.dd.jdbc.oraclebase.BaseConnection.a(Unknown Source)
	at com.wm.dd.jdbc.oraclebase.BaseConnection.k(Unknown Source)
	at com.wm.dd.jdbc.oraclebase.BaseConnection.a(Unknown Source)
	at com.wm.dd.jdbc.oraclebase.BaseConnection.a(Unknown Source)
	at com.wm.dd.jdbc.oraclebase.BaseDriver.connect(Unknown Source)
	at java.sql.DriverManager.getConnection(DriverManager.java:582)
	at java.sql.DriverManager.getConnection(DriverManager.java:185)
	at com.webmethods.portal.service.sql.core.provider.pool.ConnectionPoolManager.create(ConnectionPoolManager.java:106)
	at com.webmethods.portal.system.pool.impl.LightweightObjectPool.createNewObject(LightweightObjectPool.java:349)
	at com.webmethods.portal.system.pool.impl.LightweightObjectPool.checkOut(LightweightObjectPool.java:277)
	at com.webmethods.portal.service.sql.core.provider.pool.PooledConnectionProvider.getConnection(PooledConnectionProvider.java:181)
	at com.webmethods.portal.service.sql.core.BaseSqlWorker.init(BaseSqlWorker.java:129)
	at com.webmethods.portal.service.sql.core.ConnectionManager.validateDatasource(ConnectionManager.java:705)
	at com.webmethods.portal.service.sql.core.ConnectionManager.init(ConnectionManager.java:285)
	at com.webmethods.portal.service.sql.core.ConnectionManager.init(ConnectionManager.java:208)
	at com.webmethods.portal.system.init.impl.ClusterPhaseProvider.initializeDatabaseConfigLocator(ClusterPhaseProvider.java:85)
	at com.webmethods.portal.system.init.impl.PartitionPhaseProvider.initializePhases(PartitionPhaseProvider.java:30)
	at com.webmethods.portal.system.PortalSystem.init(PortalSystem.java:874)
	at com.webmethods.portal.system.PortalSystem.main(PortalSystem.java:826)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.webmethods.portal.system.start.Main.start(Main.java:133)
	at com.webmethods.portal.system.start.Main.main(Main.java:38)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:247)
	at java.lang.Thread.run(Thread.java:662)
2024-04-19 12:13:13 GMT+01:00 (Framework:DEBUG)  - [Pool - default] is full. waiting for checkin: MaxSize = 100; total pool size = 0; idle pool size = 0; check out size = 0
2024-04-19 12:14:43 GMT+01:00 (Framework:INFO)  - No registered exception delegate
2024-04-19 12:14:43 GMT+01:00 (Framework:FATAL)  - [POP.004.0202] Cannot create database connection to default MWS datasource. Please verify database connection parameters in the MWS/server/default/config/mws.db.xml configuration file
java.lang.IllegalStateException: [Pool - default]: can't retrieve a object within 90 seconds.
	at com.webmethods.portal.system.pool.impl.LightweightObjectPool.checkOut(LightweightObjectPool.java:289)
	at com.webmethods.portal.service.sql.core.provider.pool.PooledConnectionProvider.getConnection(PooledConnectionProvider.java:181)
	at com.webmethods.portal.service.sql.core.BaseSqlWorker.init(BaseSqlWorker.java:129)
	at com.webmethods.portal.service.sql.core.ConnectionManager.validateDatasource(ConnectionManager.java:705)
	at com.webmethods.portal.service.sql.core.ConnectionManager.init(ConnectionManager.java:285)
	at com.webmethods.portal.service.sql.core.ConnectionManager.init(ConnectionManager.java:208)
	at com.webmethods.portal.system.init.impl.ClusterPhaseProvider.initializeDatabaseConfigLocator(ClusterPhaseProvider.java:85)
	at com.webmethods.portal.system.init.impl.PartitionPhaseProvider.initializePhases(PartitionPhaseProvider.java:30)
	at com.webmethods.portal.system.PortalSystem.init(PortalSystem.java:874)
	at com.webmethods.portal.system.PortalSystem.main(PortalSystem.java:826)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.webmethods.portal.system.start.Main.start(Main.java:133)
	at com.webmethods.portal.system.start.Main.main(Main.java:38)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:247)
	at java.lang.Thread.run(Thread.java:662)

Regards

@ Fiorald Aliaj,

I see you have already posted this error (duplicate :))

I see from your error log "java.sql.SQLException: [sag-cjdbc42-0011][Oracle JDBC Driver][Oracle]ORA-28001: the password has expired "

Can you please check with your DBA and get the new password.

Let me know the status updates on this

As of February 15, 2010 the wM internal JNDI is certified for productive usage (unfortunately I cannot share the direct link as it has gone void due internal restructuring of the communities):


Feb 15, 2010
Announcing the Certification of webMethods Broker 7.1.2 JMS Naming Service for production use

Software AG is pleased to announce that it has now certified webMethods Broker 7.1.2 JMS Naming Service (JNDI provider) for 
production use.
The webMethods JMS Naming Service is supported only for binding and storing webMethods Broker administered objects.

This certification is the result of extensive testing by Software AG and does not require any software or configuration changes.
This announcement supersedes the statements regarding production use of the webMethods JMS Naming Service in the 7.1 Broker Messaging Programmers Guide.

This will only work for webMethods JMS ConnectionFactories and Destinations, not for external JNDI Objects.

Alternatively you can use a FlatFile-JNDI following the SUN/Oracles specification.

hi,
i resolved the problem generating a new password.

Thankyou for your help
Regards