Migrating the IBM Websphere Commerce Version 8 offline database

Before you can migrate your live IBM Websphere Commerce Version 8 database to your HCL Commerce Version 9 environment, you must migrate an offline version of your IBM Websphere Commerce Version 8 database, so you can perform the necessary testing of your migrated IBM Websphere Commerce Version 8 assets. The offline IBM Websphere Commerce Version 8 database is the IBM Websphere Commerce Version 8 database that you restored to your HCL Commerce Version 9 environment.

The following diagram depicts the database migration flow.


Graphical representation of the database migration flow.

Before you begin

  • Ensure that the data in your KEYS table is valid. In particular, ensure that any rows you added for custom tables have valid data.

About this task

Before you migrate the offline database, run the premigration check to show any issues with the database that might cause errors during the migration. Correct any issues to ensure that your database migration completes successfully.

Procedure

  1. Run the premigration database check.
    1. Run docker ps to verify that your containers are running.
    2. Locate your utility container name in the NAMES column. For example, myproject_utils_1.
    3. Start a bash shell by running the following command with the utility container name.
      • docker exec -it <utility_container_name> bash
    4. Go to the bin directory by running the following command.
      • cd WC_installdir/bin
    5. Export the ENVTYPE environment variable to match the environment type.
      • export ENVTYPE=auth for staging.
      • export ENVTYPE=live for production.
    6. Check the database by running the following command:
      • wcim_ant.sh -tier db -action check -from 80 -instanceName instance_name -isStaging true|false [-defaultTablespace yes | no] [-logLevel Error | Warning | Info | Verbose | Debug]
      Where:
      tier
      Specifies the tier of your HCL Commerce topology that you are migrating. The only available option is db.
      action
      Specifies the action to perform when the command runs. The supported actions are as follows:
      check
      Runs the database premigration checker to check the status of your database before you migrate it. Run the database premigration checker before you migrate the database.
      from
      Specifies the version of the HCL Commerce database from which you are migrating. The only available option is 80.
      instanceName
      Specifies the name of your IBM Websphere Commerce Version 8 instance.
      Note: The instanceName must be demo. This is an default.
      isStaging
      Specifies whether you are checking your staging database.
      true
      You are checking a staging database.
      false
      You checking a non-staging database.
      defaultTablespace
      Optional: Specifies whether to use a default table space for your database.
      yes
      Sets a default table space.
      no
      A non-default table space can be used. You are prompted to pass a table space name later in the migration.
      logLevel
      Optional: Specifies the amount of information about the database tier migration that is logged. The valid log levels are as follows:
      Error
      Only error messages are logged.
      Warning
      All warning and error messages are logged.
      Info
      All error, warning, and event messages are logged.
      Verbose
      All errors, events, and other information are logged, including all SQL statement information. It requires 1-2 MB of storage for most migrations. Verbose is set by default.
      Debug
      Similar to the Verbose option, but includes some additional debug information. This value is helpful if you encounter errors and need to debug them. It requires 1-2 MB of storage for most migrations.
      The following snippet is an example of the database check interactions:
      WC_installdir/bin>wcim_ant.sh -tier db -action check -from 80 -instanceName demo -isStaging false -logLevel Verbose
      Database type? 
      db2
      
      Database name?
      mall
      
      Is the database backup completed? [ Yes ] (Yes,No,)
      Yes
      
      Is the database restore completed? [ Yes ] (Yes,No,)
      Yes
      When the check completes successfully, you see the following message:
      INFO:   WCIM has completed the job(s) successfully.
    7. If the database check fails, review the following log file: WC_installdir/logs/WCIM/wcim.server.yyyy.mm.dd_hh.mm.ss.log. Address the failure message, and rerun the database check.
  2. Migrate the database.
    1. Open a new command prompt, or use the same prompt that you used to run the database check.
    2. Migrate the database by running the following command from your utility container:
      • wcim_ant.sh -tier db -action migrate -from 80 -instanceName instance_name -isStaging true|false [-defaultTablespace yes | no] [-logLevel Error | Warning | Info | Verbose | Debug]
      Where:
      tier
      Specifies the tier of your HCL Commerce topology that you are migrating. The only available option is db.
      action
      Specifies the action to perform when the command runs. The supported actions are as follows:
      migrate
      Migrates the database to HCL Commerce Version 9.
      from
      Specifies the version of the HCL Commerce database from which you are migrating. The only available option is 80.
      instanceName
      Specifies the name of your IBM Websphere Commerce Version 8 instance.
      Note: The instanceName must be demo. This is an default.
      isStaging
      Specifies whether you are checking your staging database.
      true
      You are migrating a staging database.
      false
      You are migrating a non-staging database.
      defaultTablespace
      Optional: Specifies whether to use a default table space for your database.
      yes
      Sets a default table space.
      no
      A non-default table space can be used. You are prompted to pass a table space name later in the migration.
      logLevel
      Optional: Specifies the amount of information about the database tier migration that is logged. The valid log levels are as follows:
      Error
      Only error messages are logged.
      Warning
      All warning and error messages are logged.
      Info
      All error, warning, and event messages are logged.
      Verbose
      All errors, events, and other information are logged, including all SQL statement information. It requires 1-2 MB of storage for most migrations. Verbose is set by default.
      Debug
      Similar to the Verbose option, but includes some additional debug information. This value is helpful if you encounter errors and need to debug them. It requires 1-2 MB of storage for most migrations.
      The following snippet is an example of how to run the database migration check:
      WC_installdir/bin>wcim_ant.sh -tier db -action migrate -from 80 -instanceName demo -isStaging false -logLevel Verbose
      Database type? 
      db2 
      
      Database name?
      mall
      
      Is the database backup completed? [ Yes ] (Yes,No,)
      Yes
      
      Is the database restore completed? [ Yes ] (Yes,No,)
      Yes
      When the database migration completes successfully, you see the following message:
      INFO:   WCIM has completed the job(s) successfully.
    3. If the database migration fails, review and correct any errors that might be found in the following log file: WC_installdir/logs/WCIM/wcim.server.yyyy.mm.dd_hh.mm.ss.log.
      Note: If your database migration fails while it enables content versioning, you need to restore the database before you rerun the migration. To determine whether the migration failed while it enabled content versioning, review the WC_installdir/logs/WCIM/wcim.server.yyyy.mm.dd_hh.mm.ss.log file and the WC_installdir/logs/content.version.update.messages_yyyy.mm.dd_hh.mm.ss.log file. Check the logs to see whether the failure occurs while it runs the createVersion task from the configureContentVersionComponent.xml file.
    4. After the migration completes successfully, review any warnings in the WC_installdir/logs/WCIM/wcim.server.yyyy.mm.dd_hh.mm.ss.log, and then determine whether any actions are needed.