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?
Do you have any log files from the update for that broker? Most likely they would be in \InstallLogs7.5\mq.
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
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
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.
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 . . .
I believe you need to use the broker name of the primary broker.
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