Managing timezone migration
Starting in Maximo® Real Estate and Facilities 9.2, manage the timezone migration process to adjust date and time values when the application server timezone changes.
Before you begin
Before you manage timezone migration, help ensure that you meet the following requirements:
- You have system administrator privileges with database access to run SQL queries and back up and restore the database.
- You have access to the Maximo Real Estate and Facilities Admin Console.
- You have access to the Red Hat OpenShift console.
- You know the old server timezone value and the new server timezone value.
- You have a database backup and standard recovery plan available.
- You schedule a planned downtime window for the migration process.
About this task
The timezone migration process starts automatically during server startup when the system detects a difference between the previous server timezone and the current server timezone. Before you run the migration, you must set the previous server timezone value in the database.
Procedure
Results
The timezone migration process completes successfully, and all non-relative date fields are adjusted to the new timezone.
What to do next
If the migration process fails, review the timezoneMigration.log file for error messages. The system resumes the migration from the failed stage on the next server startup.
- How to skip timezone migration
-
The timezone migration process is skipped automatically when the previous server timezone and the current server timezone are the same, or when no previous server timezone value is specified in the database. Although you can skip the process in production environments, it is not recommended if the timezone changes.
Important: If you skip the process, you must run it later before you create any new records to avoid data corruption. - How to fix an incorrect value inserted for previous server timezone
-
To fix an incorrect previous server timezone value, use the Admin Console method (recommended):
- From the navigation menu, click .
- In the timezone selection field, enter or select the previous server timezone. This value must be the timezone that the server was using before the change.
- Click Save.
- What to do if the process fails in the middle
-
If the timezone migration process fails, the system logs the failure in the timezoneMigration.log file. Successfully completed work remains completed, and unprocessed work is not treated as completed. The system automatically resumes the migration from the failed stage on the next server startup. Before you allow normal system usage, review the issue in the log file. If the failure persists, contact IBM Support.
- How to find a list of affected fields
-
Use this query to identify all non-relative date fields affected by timezone migration:
SELECT DISTINCT SO.SPEC_TEMPLATE_ID, SO.NAME AS BO_NAME, SO.SPEC_CLASS_TYPE AS MODULE_ID, M.MODULE_NAME, OM.TABLE_NAME AS DATA_TABLE, SF.ATR_NAME AS FIELD_NAME, OM.COLUMN_NAME AS DB_COLUMN_NAME, SF.RELATIVE_DATE_TIME FROM SOBJTYPE_FIELDS SF JOIN SMART_OBJ_TYPE SO ON SF.SPEC_TEMPLATE_ID = SO.SPEC_TEMPLATE_ID JOIN OBJECT_FIELD_MAP OM ON SF.SPEC_TEMPLATE_ID = OM.BO_ID AND SF.ATR_SEQ = OM.ATR_SEQ JOIN IBS_MODULE M ON SO.SPEC_CLASS_TYPE = M.MODULE_ID WHERE SF.ATR_TYPE IN ('Date') AND SF.RELATIVE_DATE_TIME = 0 AND SF.DELETED_FLAG = 0 AND OM.TABLE_NAME IS NOT NULL ORDER BY OM.TABLE_NAME, SF.ATR_NAME
Follow these guidelines to help ensure a successful timezone migration:
- Run timezone migration only during planned downtime.
- Take a database backup before you start timezone migration.
- Review the old and new server timezone values carefully.
- Monitor logs throughout the process.
- Validate business data after completion.
- Help ensure consistent timezone configuration across all nodes in the environment.
- Allocate sufficient time for the migration process. The time that is required depends on the number of records that contain non-relative date fields.
- Allocate more CPU resources to application server pods to improve migration performance through increased concurrent thread execution.