Problem with database: [2002] progress.message.db.EDatabaseE

Posted by Barnesm72 on 14-Jul-2011 10:56

I am trying to upgrade sonic on one of our environments from 7.5 to 7.5.2.  When I try to start one of the brokers I get the following error message:

Problem with database: [2002] progress.message.db.EDatabaseException: Version mismatch between broker and database. Version of the broker tables in the database is 7.5 (build 361). Version of this broker is 7.5.2 (build 202).

Has anyone seen this error or have steps for its resolution?

All Replies

Posted by rrudis on 14-Jul-2011 12:56

Do you have any log files from the update for that broker?  Most likely they would be in \InstallLogs7.5\mq.

Posted by Barnesm72 on 14-Jul-2011 13:08

We have a cluster setup for load balancing and redundancy.  On this box we have two brokers setup, the main and the backup for the other environment.  The main broker (DIBrokerP1) got updated and is running fine, but every time I try to boot the second broker (DIBrokerP2_BU) I get the database version error.  Looking in the log that you listed, I don't see any reference to the DIBrokerP2_BU broker.

[pathconvert] Set property sonic.mq.home = D:\DIDOMAIN_QC\MQ7.5
     [echo] os is name: Windows 2003 version 5.2 windows.os true mq home:D:\DIDOMAIN_QC\MQ7.5 sonic.domainManager: true
prepare:  duration 0 seconds

remove-bat-scripts:
Skipped because property 'windows.os' set.
remove-bat-scripts:  duration 0 seconds

remove-sh-scripts:
   [delete] DEPRECATED - Use of the implicit FileSet is deprecated.  Use a nested fileset element instead.
   [delete] Deleting 12 files from D:\DIDOMAIN_QC\MQ7.5
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\bin\configAdmin.sh
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\bin\dbtool.sh
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\bin\dbupgrade.sh
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\bin\dsAdmin.sh
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\bin\generateCache.sh
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\bin\pbestring.sh
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\bin\pbetool.sh
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\bin\startcontainer.sh
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\bin\startmc.sh
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\bin\startmsgcontainer.sh
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\bin\testClient.sh
   [delete] Deleting D:\DIDOMAIN_QC\MQ7.5\config\config.sh
remove-sh-scripts:  duration 0 seconds

tailor-scripts:
     [echo] tailoring D:\DIDOMAIN_QC\MQ7.5/bin/dbupgrade.* using D:\DIDOMAIN_QC\InstallLogs7.5/mq/db_tools.properties
[tailorscripts] Processing file D:\DIDOMAIN_QC\MQ7.5\bin\dbupgrade.bat
[tailorscripts] Replacing set SONICMQ_HOME --> D:\DIDOMAIN_QC\MQ7.5
tailor-scripts:  duration 0 seconds

exec-ext-non-windows:
Skipped because property 'windows.os' set.
exec-ext-non-windows:  duration 0 seconds

exec-ext-windows:
exec-ext-windows:  duration 0 seconds

tailor-admin-scripts:
     [echo] tailoring D:\DIDOMAIN_QC\MQ7.5/bin/configAdmin.* using D:\DIDOMAIN_QC\InstallLogs7.5/mq/admin_tools.properties
     [echo] tailoring D:\DIDOMAIN_QC\MQ7.5/config/config.bat using D:\DIDOMAIN_QC\InstallLogs7.5/mq/admin_tools.properties
[tailorscripts] Processing file D:\DIDOMAIN_QC\MQ7.5\bin\configAdmin.bat
[tailorscripts] Replacing set SONICMQ_HOME --> D:\DIDOMAIN_QC\MQ7.5
[tailorscripts] Processing file D:\DIDOMAIN_QC\MQ7.5\config\config.bat
[tailorscripts] Replacing set SONICMQ_HOME --> D:\DIDOMAIN_QC\MQ7.5
  [replace] Replacing in D:\DIDOMAIN_QC\MQ7.5\bin\configAdmin.bat: @SONICMQ_JAVA_ARG@ -->
  [replace] Replacing in D:\DIDOMAIN_QC\MQ7.5\config\config.bat: @SONICMQ_JAVA_ARG@ -->
  [replace] Replaced 2 occurrences in 2 files.
tailor-admin-scripts:  duration 0 seconds

mark-scripts-exe:
Skipped because property 'windows.os' set.
mark-scripts-exe:  duration 0 seconds

prepare-configAdmin:
[pathconvert] Set property sonic.configAdmin = D:\DIDOMAIN_QC\MQ7.5\bin\configAdmin.bat
prepare-configAdmin:  duration 0 seconds

prepare-ds-xml-dir:
prepare-ds-xml-dir:  duration 0 seconds

prepare-working-dir:
     [echo] working directory is set to D:\DIDOMAIN_QC\MQ7.5
prepare-working-dir:  duration 0 seconds

update-ds:
     [echo] update-ds plugins:/System/SMC/Plugins, D:\DIDOMAIN_QC\MQ7.5/lib ext: .bat
     [echo] executing: D:\DIDOMAIN_QC\MQ7.5\bin\configAdmin.bat with input: C:\DOCUME~1\esmadmin\LOCALS~1\Temp\5\ismp001\temp_ds_1046818688
     [exec] Current OS is Windows 2003
     [exec] Output redirected to property: result
     [exec] Redirecting input from file
     [exec] Executing 'D:\DIDOMAIN_QC\MQ7.5\bin\configAdmin.bat' with
     [exec] Opening C:\DOCUME~1\esmadmin\LOCALS~1\Temp\5\ismp001\temp_ds_1046818688
     [echo] result: CompilerOracle: exclude progress/message/broker/AgentQueueDispatcher$DispatchThread.threadMain
ConfigAdmin> ConfigAdmin> Connecting to domain DIDOMAIN_QC on D:\DIDOMAIN_QC\MQ7.5\ds.xml ...
    Connected to Configuration Server for domain DIDOMAIN_QC on D:\DIDOMAIN_QC\MQ7.5\ds.xml
ConfigAdmin> Import file complete...
    path     = /System/SMC/Plugins/pluginMQ61.jar
    filename = D:\DIDOMAIN_QC\MQ7.5/lib/pluginMQ61.jar
ConfigAdmin> Import file complete...
    path     = /System/SMC/Plugins/pluginMQ70.jar
    filename = D:\DIDOMAIN_QC\MQ7.5/lib/pluginMQ70.jar
ConfigAdmin> Import file complete...
    path     = /System/SMC/Plugins/pluginMQ75.jar
    filename = D:\DIDOMAIN_QC\MQ7.5/lib/pluginMQ75.jar
ConfigAdmin> Import file complete...
    path     = /System/SMC/Plugins/pluginMF21.jar
    filename = D:\DIDOMAIN_QC\MQ7.5/lib/pluginMF21.jar
ConfigAdmin> Import file complete...
    path     = /System/SMC/Plugins/pluginMF30.jar
    filename = D:\DIDOMAIN_QC\MQ7.5/lib/pluginMF30.jar
ConfigAdmin> Import file complete...
    path     = /System/SMC/Plugins/pluginMF75.jar
    filename = D:\DIDOMAIN_QC\MQ7.5/lib/pluginMF75.jar
ConfigAdmin> Import file complete...
    path     = /System/SMC/Plugins/pluginSecurity21.jar
    filename = D:\DIDOMAIN_QC\MQ7.5/lib/pluginSecurity21.jar
ConfigAdmin> Import file complete...
    path     = /System/SMC/Plugins/pluginSecurity30.jar
    filename = D:\DIDOMAIN_QC\MQ7.5/lib/pluginSecurity30.jar
ConfigAdmin> Import file complete...
    path     = /System/SMC/Plugins/pluginSecurity75.jar
    filename = D:\DIDOMAIN_QC\MQ7.5/lib/pluginSecurity75.jar
ConfigAdmin> Import file complete...
    path     = /System/SMC/Plugins/pluginLogger70.jar
    filename = D:\DIDOMAIN_QC\MQ7.5/lib/pluginLogger70.jar
ConfigAdmin> Import file complete...
    path     = /System/SMC/Plugins/pluginLogger75.jar
    filename = D:\DIDOMAIN_QC\MQ7.5/lib/pluginLogger75.jar
ConfigAdmin> Disconnecting from domain ...
    Done
ConfigAdmin> ConfigAdmin> Shutting down...
   [delete] Deleting: C:\DOCUME~1\esmadmin\LOCALS~1\Temp\5\ismp001\temp_ds_1046818688
update-ds:  duration 3 seconds

prepare-dbUpgrade:
[pathconvert] Set property sonic.dbUpgrade = D:\DIDOMAIN_QC\MQ7.5\bin\dbupgrade.bat
prepare-dbUpgrade:  duration 0 seconds

convert-dbPath:
[pathconvert] Set property converted.sonic.broker.db = D:/DIDOMAIN_QC/MQ7.5/SonicMQStore
     [echo] unconverted db: D:\DIDOMAIN_QC\MQ7.5\SonicMQStore  coverted db: D:/DIDOMAIN_QC/MQ7.5/SonicMQStore
convert-dbPath:  duration 0 seconds

upgrade-broker-db:
     [echo] executing: D:\DIDOMAIN_QC\MQ7.5\bin\dbupgrade.bat with input: /brokerName DIDSBroker1 /dbConnect D:/DIDOMAIN_QC/MQ7.5/SonicMQStore /errorFile "D:\DIDOMAIN_QC\InstallLogs7.5/mq/update_7.5.2.err.log"
     [exec] Current OS is Windows 2003
     [exec] Output redirected to property: result-db
     [exec] Executing 'D:\DIDOMAIN_QC\MQ7.5\bin\dbupgrade.bat' with arguments:
'/brokerName'
'DIDSBroker1'
'/dbConnect'
'D:/DIDOMAIN_QC/MQ7.5/SonicMQStore'
'/errorFile'
'"D:\DIDOMAIN_QC\InstallLogs7.5/mq/update_7.5.2.err.log"'

The ' characters around the executable and arguments are
not part of the command.
     [echo] result: CompilerOracle: exclude progress/message/broker/AgentQueueDispatcher$DispatchThread.threadMain
UPGRADE_RESULTFILE= D:\DIDOMAIN_QC\InstallLogs7.5/mq/update_7.5.2.err.log
UPGRADE_BROKER_CONFIG_NAME= NOP
UPGRADE_NEW_DBINI_FILE= dbupgrade.ini
UPGRADE_DEBUGNAME= UpgradeHelper:255
Directories:
DIR_BACKUP_DIR= null
DIR_INSTALL_DIR= null
DIR_NEW_DBDIR= null
DIR_DB_WORKING_DIR= D:\DIDOMAIN_QC\MQ7.5
CurrentWorkingDirectory= D:\DIDOMAIN_QC\MQ7.5
Retrieving parameters from DS; name= NOP fullConfigName= NOP/_Default
Retrieving from DS: Broker Name DIDSBroker1 version= null
Retrieving from DS: Database store type= null
Retrieving from DS: dbConnect= null
Retrieving from DS: db user= null
Retrieving from DS: jdbc driver= null
Retrieving from DS: Db properties= null
Retrieving from DS: MQStore db connect= D:/DIDOMAIN_QC/MQ7.5/SonicMQStore
DATABASE_STORE_TYPE is null; assuming 'Embedded'
Set TRG_DB_DATABASE_STORE_TYPE to Embedded
Resolved PSE Db Location= D:\DIDOMAIN_QC\MQ7.5\SonicMQStore
BROKER_NAME= DIDSBroker1
BROKER_DS_VERSION= null
SEEMS_V6_OR_V7= true
TRG_JDBC_DRIVER= null
TRG_DB_CONNECT= null
TRG_DB_USER=
TRG_DB_PASSWORD=
TRG_DB_PROPERTIES= null
TRG_DB_MQSTORE_DB_CONNECT= D:\DIDOMAIN_QC\MQ7.5\SonicMQStore
TRG_DB_DATABASE_STORE_TYPE= Embedded
Starting database upgrade...
Performing upgrade in place
targetDb: PSEBrokerDb for D:\DIDOMAIN_QC\MQ7.5\SonicMQStore
Starting Db Upgrade...
UpgradeMessages complete: NumProcessed= 96
UpgradeUndelMsgs complete: NumProcessed= 96
Db Upgrade Complete
Setting Db Version
Completed database upgrade.
Press any key to continue . . .
upgrade-broker-db:  duration 1 second

cleanup:
cleanup:  duration 0 seconds

install:
install:  duration 0 seconds

BUILD SUCCESSFUL

Posted by csemeniu on 14-Jul-2011 13:14

A database upgrade is required when going from 7.5 to 7.5.2.  It looks like you have an installation where this broker's database was not automatically upgraded by the updater, and you have to perform the database upgrade manually.  The instructions for upgrading a broker's database are in "Tasks to perform after Updating a Sonic Installation" in Chapter 5 of the SonicMQ7.5.2 Update Bulletin

Posted by rrudis on 14-Jul-2011 13:27

The broker database for a backup broker is not updated when the primary broker is upgraded.  See Christine's reply for the documentation section describing how up upgrade the backup broker database.

Posted by Barnesm72 on 14-Jul-2011 13:41

The location of the database is D:\DIDOMAIN_QC\MQ7.5\DIBrokerP2_BU\SonicMQStore

I tried running the following command to upgrade the database:

d:\DIDOMAIN_QC\MQ7.5\bin\dbupgrade /brokerName DIBrokerP2_BU /dbConnect .\DIBrokerP2_BU\SonicMQStore

And got the following error message:

D:\DIDOMAIN_QC\MQ7.5\DIBrokerP2_BU>d:\DIDOMAIN_QC\MQ7.5\bin\dbupgrade /brokerNam
e DIBrokerP2_BU /dbConnect .\DIBrokerP2_BU\SonicMQStore
CompilerOracle: exclude progress/message/broker/AgentQueueDispatcher$DispatchThr
ead threadMain
UPGRADE_DEBUGNAME= UpgradeHelper:255
UPGRADE_NEW_DBINI_FILE= dbupgrade.ini
UPGRADE_RESULTFILE= DbUpgrade.txt
UPGRADE_BROKER_CONFIG_NAME= NOP
Directories:
DIR_BACKUP_DIR= null
DIR_INSTALL_DIR= null
DIR_NEW_DBDIR= null
DIR_DB_WORKING_DIR= D:\DIDOMAIN_QC\MQ7.5
CurrentWorkingDirectory= D:\DIDOMAIN_QC\MQ7.5
Retrieving parameters from DS; name= NOP fullConfigName= NOP/_Default
Retrieving from DS: Broker Name DIBrokerP2_BU version= null
Retrieving from DS: Database store type= null
Retrieving from DS: dbConnect= null
Retrieving from DS: db user= null
Retrieving from DS: jdbc driver= null
Retrieving from DS: Db properties= null
Retrieving from DS: MQStore db connect= .\DIBrokerP2_BU\SonicMQStore
DATABASE_STORE_TYPE is null; assuming 'Embedded'
Set TRG_DB_DATABASE_STORE_TYPE to Embedded
ResolveV7PSEDbName: psedb .\DIBrokerP2_BU\SonicMQStore f.getPath(using DB_WORKIN
G_DIR)= D:\DIDOMAIN_QC\MQ7.5\.\DIBrokerP2_BU\SonicMQStore
Resolved PSE Db Location= D:\DIDOMAIN_QC\MQ7.5\DIBrokerP2_BU\SonicMQStore
BROKER_NAME= DIBrokerP2_BU
BROKER_DS_VERSION= null
SEEMS_V6_OR_V7= true
TRG_JDBC_DRIVER= null
TRG_DB_CONNECT= null
TRG_DB_USER=
TRG_DB_PASSWORD=
TRG_DB_PROPERTIES= null
TRG_DB_MQSTORE_DB_CONNECT= D:\DIDOMAIN_QC\MQ7.5\DIBrokerP2_BU\SonicMQStore
TRG_DB_DATABASE_STORE_TYPE= Embedded
Starting database upgrade...
[2002] progress.message.db.EDatabaseException: Incorrect db file for this broker
; db is for DIBrokerP2; this broker is DIBrokerP2_BU
        at progress.message.db.pse.PSEBrokerDb.validateDb(PSEBrokerDb.java:427)
        at progress.message.db.pse.PSEBrokerDb.getDBVersionInfo(PSEBrokerDb.java
:444)
        at progress.message.db.Db.checkUpgrade(Db.java:364)
        at progress.message.dbu.DbUpgrade.upgradeDb(DbUpgrade.java:92)
        at progress.message.dbu.DbUpgrade.main(DbUpgrade.java:595)
[2002] progress.message.db.EDatabaseException: Incorrect db file for this broker
; db is for DIBrokerP2; this broker is DIBrokerP2_BU
Press any key to continue . . .

Posted by rrudis on 14-Jul-2011 13:51

I believe you need to use the broker name of the primary broker.

Posted by Barnesm72 on 14-Jul-2011 14:40

You are correct, I switched to the following command, which upgraded the database and the broker is now up and running, thanks!

d:\DIDOMAIN_QC\MQ7.5\bin\dbupgrade /brokerName DIBrokerP2 /dbConnect .\DIBrokerP2_BU\SonicMQStore

This thread is closed