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

JMS JDBC store failed to open after switched to a different database machine

2 views
Skip to first unread message

Michelle Lian

unread,
Jul 23, 2003, 8:19:00 PM7/23/03
to

Hi,

I'm running WebLogic 6.1 sp3/Oracle 8.1.6 and I configure the JMS JDBC store for
persistent messaging. I was working fine until I switched to use a different database
machine which has the same software configuration as the old one. It was giving
me "failed to create tables" error at start up time. But I checked the database
and found out the two tables (<prefix>JMSSTORE and <prefix>JMSSTATE) were both
created and I was able to query although they don't contain any data. By the way,
I'm using thin client.

Anyone can help? Thanks a lot!

Here's the exception:

<Jul 23, 2003 4:33:10 PM PDT> <Alert> <JMS> <JMSServer "notifyServer", store failed
to open, java.io.IOException: JMS JDBC store, connection pool = <jmsPool>, prefix
= <qa.JMS_SERVER_>: failed to create tables.
java.io.IOException: JMS JDBC store, connection pool = <jmsPool>, prefix = <qa.JMS_SERVER_>:
failed to create tables
at weblogic.jms.store.JDBCIOStream.throwIOException(JDBCIOStream.java:311)
at weblogic.jms.store.JDBCIOStream.rebuildTables(JDBCIOStream.java:1400)
at weblogic.jms.store.JDBCIOStream.open(JDBCIOStream.java:376)
at weblogic.jms.store.JMSStore.open(JMSStore.java:110)
at weblogic.jms.backend.BEStore.open(BEStore.java:180)
at weblogic.jms.backend.BackEnd.initialize(BackEnd.java:390)
at weblogic.jms.JMSService.createBackEnd(JMSService.java:906)
at weblogic.jms.JMSService.addJMSServer(JMSService.java:1273)
at weblogic.jms.JMSService.addDeployment(JMSService.java:1169)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:360)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:285)
at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:239)
at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:199)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy39.updateDeployments(Unknown Source)
at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2977)
at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:372)
at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy58.start(Unknown Source)
at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
at weblogic.management.Admin.finish(Admin.java:644)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
at weblogic.Server.main(Server.java:35)
>
<Jul 23, 2003 4:33:10 PM PDT> <Error> <JMS> <Failed to deploy JMS Server "notifyServer"
due to weblogic.jms.common.ConfigurationException: JMS can not open store.
weblogic.jms.common.ConfigurationException: JMS can not open store
at weblogic.jms.backend.BackEnd.initialize(BackEnd.java:395)
at weblogic.jms.JMSService.createBackEnd(JMSService.java:906)
at weblogic.jms.JMSService.addJMSServer(JMSService.java:1273)
at weblogic.jms.JMSService.addDeployment(JMSService.java:1169)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:360)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:285)
at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:239)
at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:199)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy39.updateDeployments(Unknown Source)
at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2977)
at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:372)
at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy58.start(Unknown Source)
at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
at weblogic.management.Admin.finish(Admin.java:644)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
at weblogic.Server.main(Server.java:35)
----------- Linked Exception -----------
java.io.IOException: JMS JDBC store, connection pool = <jmsPool>, prefix = <qa.JMS_SERVER_>:
failed to create tables
at weblogic.jms.store.JDBCIOStream.throwIOException(JDBCIOStream.java:311)
at weblogic.jms.store.JDBCIOStream.rebuildTables(JDBCIOStream.java:1400)
at weblogic.jms.store.JDBCIOStream.open(JDBCIOStream.java:376)
at weblogic.jms.store.JMSStore.open(JMSStore.java:110)
at weblogic.jms.backend.BEStore.open(BEStore.java:180)
at weblogic.jms.backend.BackEnd.initialize(BackEnd.java:390)
at weblogic.jms.JMSService.createBackEnd(JMSService.java:906)
at weblogic.jms.JMSService.addJMSServer(JMSService.java:1273)
at weblogic.jms.JMSService.addDeployment(JMSService.java:1169)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:360)
at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:285)
at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:239)
at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:199)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy39.updateDeployments(Unknown Source)
at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2977)
at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:372)
at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:160)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:636)
at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:621)
at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy58.start(Unknown Source)
at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:480)
at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
at weblogic.management.Admin.finish(Admin.java:644)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
at weblogic.Server.main(Server.java:35)
>

Tom Barnes

unread,
Jul 24, 2003, 3:26:59 PM7/24/03
to Michelle Lian
Message-ID: <3F203303...@replyinnewsgroup.com>
Date: Thu, 24 Jul 2003 15:26:59 -0400
From: Tom Barnes <ple...@replyinnewsgroup.com>
Reply-To: ple...@replyinnewsgroup.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02
X-Accept-Language: en-us, en
MIME-Version: 1.0
Newsgroups: weblogic.developer.interest.jms
To: Michelle Lian <ml...@webalg.com>
Subject: Re: JMS JDBC store failed to open after switched to a different database
machine
References: <3f1f25f4$1...@newsgroups.bea.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 216.148.48.18
X-Original-NNTP-Posting-Host: 216.148.48.18
X-Trace: newsgroups.bea.com 1059074822 216.148.48.18 (24 Jul 2003 12:27:02 -0700)
X-Original-Trace: 24 Jul 2003 12:27:02 -0700, 216.148.48.18
Organization: BEA NEWS SITE
Lines: 179
XPident: Unknown
Path: newsgroups.bea.com!not-for-mail
Xref: newsgroups.bea.com weblogic.developer.interest.jms:12637

Hi Michelle,

I suspect a permission problem where the new tables are created
using the JDBC driver's default schema, but the prefix
specifies another schema "qa". So the tables are getting
created, but aren't found.

Work-around one:

manually extract, edit, and run the ddl that creates
the tables to specify the schema. Prepend
"qa.JMS_SERVER_" to all table names

(This is fairly simple to do.)
http://edocs.bea.com/wls/docs61/jms/appb.html#999286

Work-around two:

Don't include "qa." in the prefix.
(i'm not sure if this will work)

Work-around three:

Change the username of the JDBC pool to "qa".
(i'm not sure if this will work)

Work-around four:

Change the schema for the tables that were created
under the JDBC driver's default schema to "qa".
(I'm not sure how this is done, or even
if it is possible. Database specific.)

Tom

Michelle Lian

unread,
Jul 25, 2003, 6:20:42 PM7/25/03
to

Hi, Tom,

Thanks for the reply. I tried all the workarounds and it's still giving me the
same error. I use the schema 'qa' throughout my config.xml (JDBC pool, JMS store).
So I think it's not an inconsistancy in the config.xml file.

Michelle Lian

unread,
Jul 25, 2003, 7:13:13 PM7/25/03
to

Finally it works. But I have to use a different prefix. When I tried work-around
#2, it was actually giving me a different error:

<JMSServer "notifyServer", store failed to open, java.io.IOException: JMS JDBC
store, connection pool = <jmsPool>, prefix = <JMS_SERVER_>: change state
So I change the config.xml and left the prefix empty and it worked.

I put the schema name "qa." in the prefix because originally when I tested with
the old database machine, it gave me table creation error ("failed to create tables").
So I included schema name in there and the error was gone. Somehow with this database
machine I'll have to take out the schema name.

But I still don't know what the "change state" error means if I use "JMS_SERVER_"
as prefix. Any other prefix works fine.

Tom Barnes

unread,
Jul 28, 2003, 12:41:16 PM7/28/03
to Michelle Lian
Your database is not unique. The reason that any other
prefix but the original you chose worked is that the
tables for the original *actually exist*, but the
JDBC connection does not have permission to access them.
0 new messages