Troubleshooting
Problem
An upgrade to Maximo 7.6.1.1 can fail with very little error information given.
Symptom
UpdateDB log can be found in folder SMP\maximo\tools\maximo\log. The end of the log shows:
- Updating MaxAdmin user to match local database.
update crontaskinstance set runasuserid = (select propvalue from maxpropvalue where propname = 'mxe.adminuserid') where runasuserid = 'MAXADMIN' and exists (select 1 from maxpropvalue where propname = 'mxe.adminuserid' and propvalue != 'MAXADMIN')
;
update crontaskinstance set runasuserid = (select propvalue from maxpropvalue where propname = 'mxe.adminuserid') where runasuserid = 'MAXADMIN' and exists (select 1 from maxpropvalue where propname = 'mxe.adminuserid' and propvalue != 'MAXADMIN')
;
// Updated 0 records.
commit
;
;
ERROR: null
at psdi.tools.UpdateDB(UpdateDB.java: 3297)
at psdi.tools.UpdateDB(UpdateDB.java: 3240)
at psdi.tools.UpdateDB(UpdateDB.java: 3297)
at psdi.tools.UpdateDB(UpdateDB.java: 3240)
or possibly:
java.lang.NullPointerException
at psdi.tools.UpdateDB.fillAutoKeys(UpdateDB.java: 3297)
at psdi.tools.UpdateDB.main(UpdateDB.java: 3240)
at psdi.tools.UpdateDB.fillAutoKeys(UpdateDB.java: 3297)
at psdi.tools.UpdateDB.main(UpdateDB.java: 3240)
Cause
UpdateDB queries for the value of maxvar 'ISDEMO'. If 'ISDEMO' does not exist in table MAXVARS, UpdateDB can fail.
Environment
Maximo 7.6.1.1; all platforms
Diagnosing The Problem
If 'ISDEMO' does not exist in table MAXVARS, UpdateDB can fail. To determine if 'ISDEMO' exists, run the following 2 SQL queries:
Select * From maxvars Where varname='ISDEMO' ;
Select * From maxvars Where varname='ISDEMO' ;
Select * From maxvartype Where varname='ISDEMO' ;
Resolving The Problem
If the 2 SQL queries return 0 rows, 'ISDEMO' is not defined in tables MAXVARS and MAXVARTYPE. Create 'ISDEMO' using the following SQL statements, then restart UpdateDB. UpdateDB should resume form where it left off and run to completion.
On Oracle:
Insert Into maxvars(varname, varvalue, maxvarsid) Values ('ISDEMO', '0', maxvarsseq.nextval) ;
Insert Into maxvartype(varname, vartype, defaultvalue, description, maxvartypeid) Values ('ISDEMO', 'SYSTEM', '0','ISDemo maxvar', maxvartypeseq.nextval) ;
Insert Into maxvartype(varname, vartype, defaultvalue, description, maxvartypeid) Values ('ISDEMO', 'SYSTEM', '0','ISDemo maxvar', maxvartypeseq.nextval) ;
Update maxsequence Set maxreserved=(Select max(maxvarsid) From maxvars) Where sequencename='MAXVARSSEQ' ;
Update maxsequence Set maxreserved=(Select max(maxvartypeid) From maxvartype) Where sequencename='MAXVARTYPESEQ' ;
Update maxsequence Set maxreserved=(Select max(maxvartypeid) From maxvartype) Where sequencename='MAXVARTYPESEQ' ;
On DB2:
Insert Into maxvars(varname, varvalue, maxvarsid) Values ('ISDEMO', '0', nextval For maxvarsseq) ;
Insert Into maxvartype(varname, vartype, defaultvalue, description, maxvartypeid) Values ('ISDEMO', 'SYSTEM', '0','ISDemo maxvar', nextval For maxvartypeseq) ;
Insert Into maxvartype(varname, vartype, defaultvalue, description, maxvartypeid) Values ('ISDEMO', 'SYSTEM', '0','ISDemo maxvar', nextval For maxvartypeseq) ;
Update maxsequence Set maxreserved=(Select max(maxvarsid) From maxvars) Where sequencename='MAXVARSSEQ' ;
Update maxsequence Set maxreserved=(Select max(maxvartypeid) From maxvartype) Where sequencename='MAXVARTYPESEQ' ;
Update maxsequence Set maxreserved=(Select max(maxvartypeid) From maxvartype) Where sequencename='MAXVARTYPESEQ' ;
On SQL Server:
Insert Into maxvars(varname, varvalue, maxvarsid) Select 'ISDEMO', '0', max(maxvarvarsid)+1 From maxvars ;
Insert Into maxvartype(varname, vartype, defaultvalue, description, maxvartypeid) Select 'ISDEMO', 'SYSTEM', '0','ISDemo maxvar', max(maxvartypeid)+1 From maxvartype ;
Update maxsequence Set maxreserved=(Select max(maxvarsid) From maxvars) Where sequencename='MAXVARSSEQ' ;
Update maxsequence Set maxreserved=(Select max(maxvartypeid) From maxvartype) Where sequencename='MAXVARTYPESEQ' ;
Insert Into maxvartype(varname, vartype, defaultvalue, description, maxvartypeid) Select 'ISDEMO', 'SYSTEM', '0','ISDemo maxvar', max(maxvartypeid)+1 From maxvartype ;
Update maxsequence Set maxreserved=(Select max(maxvarsid) From maxvars) Where sequencename='MAXVARSSEQ' ;
Update maxsequence Set maxreserved=(Select max(maxvartypeid) From maxvartype) Where sequencename='MAXVARTYPESEQ' ;
If UpdateDB does not resume from the point of failure and complete, then restore the database to pre-upgrade, apply the SQL statements, and start the upgrade over again.
Document Location
Worldwide
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Component":"UpdateDB","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.6.1.1","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}},{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSWT9A","label":"IBM Control Desk"},"Component":"UpdateDB","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.6.1.1","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]
Historical Number
TS002355634
Was this topic helpful?
Document Information
Modified date:
17 December 2019
UID
ibm10888273