March 29, 2012

Cloning Maximo environment

There are many reasons why it is useful sometimes to overwrite a development, test or training system with all the data and customizations from the production system. These are just few examples:
  • Development systems has become dirty after some customization that have not been moved to production.
  • Fresh data is needed on the test system to reproduce a problem and perform troubleshooting.
  • Fresh data is needed on the development system to develop new features.
The procedure described hereafter is not intended to replace the functionality of the Migration Manager especially when promoting customizations from test to production. Furthermore, the procedure assumes that dev, test and prod systems have the same version of Maximo installed and runs the same OS.

Here is the procedure. This is not an official IBM TechNote. Use at your own risk.
UPDATE: IBM has now released a more accurate procedure.

Clone the database
  • Backup the source Maximo database.
  • Backup the target Maximo database (this step is optional but suggested as a precautionary measure).
  • Restore the source backup into the target database.
To perform this steps you can use the built in features of your RDBMS or try to use the unlcvt command described in this post.

Reset passwords

Reset users password to be able to login with every account as needed.

update MAXUSER set PASSWORD = (select PASSWORD from MAXUSER where USERID='maxadmin');


Disable AppServerSecurity. This may be needed sometimes when production system uses LDAP authentication.
update MAXPROPVALUE set PROPVALUE='0' where PROPNAME='mxe.useAppServerSecurity';


Update the hostname in the database.
update MAXPROPVALUE set PROPVALUE='[NEWHOSTNAME]' where propname='mxe.hostname';
update MAXPROPVALUE set PROPVALUE='http://[NEWHOSTNAME]/meaweb' where PROPNAME='';

There are other variables that should be changed as well like WAS.WebServerHostName and WAS.DeploymentManagerHostName.

Database connection

Typically database connection properties are stored into file. However, these are also stored in the Maximo database and used for installation of fixpacks and patches.
update MAXPROPVALUE set PROPVALUE='[DBURL]' where propname='mxe.db.url';
update MAXPROPVALUE set PROPVALUE='[DBHOST]' where PROPNAME='Database.SQL.ServerHostName';

There are other variables that should be changed as well like WAS.WebServerHostName and WAS.DeploymentManagerHostName.


Replace all user's email addresses with your email. This may be useful to test workflow or escalations emailing.

update MAXPROPVALUE set PROPVALUE='' where PROPNAME='mxe.adminEmail';
update MAXPROPVALUE set PROPVALUE='mymail@dummy.comm' where PROPNAME='mxe.workflow.admin';
drop index email_ndx2 on EMAIL;

If you have automated emailing to vendors or users may prefer to disable emailing completely to avoid spamming from test systems.

update MAXPROPVALUE set PROPVALUE='dummysmtp' where PROPNAME='';

MIF home dir (optional)

Update MIF home directory if needed


Disable crontasks (optional)

You may want to disable all the crontasks to avoid escalations, integrations, emailing or whatever automated system you have in place.


Commit changes

Don't forget to commit your updates :-)

Overwrite Java code
  • Backup the SMP\maximo\applications\maximo on the target system.
  • Copy maximo.ear file from the source system to a temp directory on the target system.
  • Extract the maximo.ear file.
  • Extract businessobjects.jar file.
  • Replace the content of [SMPDIR]\maximo\applications\maximo\businessobjects directory with the extracted businessobjects.jar file.
  • Replace the content of [SMPDIR]\maximo\applications\maximo\maximouiweb\webmodule\WEB-INF\classes directory with the code from the extracted maximo.ear file.
  • Replace any other sources that you may have modified on the target system.


Open the text file located under [SMPDIR]\maximo\applications\maximo\properties folder and update mxe.db.url and other properties according to the new environment.
If the file is encrypted refer to this IBM TechNote to modify it.

Redeploy Maximo EAR
  • Build Maximo EAR launching [SMPDIR]\maximo\deployment\buildmaximoear.bat script (or
  • Deploy the Maximo EAR file using the WAS Console.
  • Start the application server.
  • Check SystemOut.log to ensure there aren’t any problem.


  1. update link doc setting and references

  2. Need to update to point to new database url.
    (bear in mind file is encrypted - see
    Need to update database for WAS.WebServerHostName, WAS.DeploymentManagerHostName Properties, assuming everything else for WAS is same.

    1. Thank you Mark.
      I missed this important step.
      I have updated the procedure based on your comments.

  3. Can we use integratedSecurity = true in sqlserver to invoke maximo database connection using windows authentication method?
    i.e below :

    1. I am looking to also run maximo with integrated security set to true. Did you ever find an answer on how to accomplish this?

  4. If you want to build maximo ears properly on the target environment you shall also port Deployment Engine database. This is required if you did apply any Tivoli package in the previous stage environment.

  5. Hi Bruno, when should the businessobjects.jar be extracted to [SMPDIR]\maximo\applications\maximo\businessobjects\classes (you have listed [SMPDIR]\maximo\applications\maximo\businessobjects)?

    1. Anytime you want. Just before starting the application.

  6. does this work for version 7.1 also? If not is there a similar document for that?

  7. Hello Bruno,

    If you allow me, I make a small clarification. If you have used additional libraries, not enough to just copy them to the lib folder, you must add in the corresponding buildmaximoear.xml, adding them to the "maximo.businessobjectsclasspath" property.

    Congratulations, great blog (best for me).

  8. Hello Bruno,

    The psdi.configure.Unlcvt class file and the corresponding shell and batch files are not available for Maximo 7.6.