Database vendor conversion

Any direction between SQL Server, Db2 and Oracle. Here is exactly what moves.

Written to be quoted in your scoping paper: the specification, the rework list by object class, the three gates on the night, and the register of what has to be re-proved before the change closes. Rows carry stable codes, so you can cite DBC-6 in an email and we both know what it means.

Aisle of a data centre housing the database estate behind an enterprise Maximo platform

Specification

Platforms, prerequisites and the evidence produced

Scope

Source and target
Microsoft SQL Server, IBM Db2, Oracle Database. Any of the three to any other.
Version envelope
The versions in IBM system requirements for your Maximo 7.6.1.x or MAS Manage release.
Schema converted
The Maximo schema as Database Configuration built it, custom objects and attributes included.
Outside the database
DOCLINKS attachments, a filesystem, on their own verified track.

Target prerequisites

Oracle
AL32UTF8 character set, schema owner and tablespaces created before the load.
IBM Db2
UTF-8 codeset and 32K pagesize tablespaces for the Maximo schema.
Microsoft SQL Server
A case-insensitive collation, with READ_COMMITTED_SNAPSHOT enabled on the Maximo database.
Why it matters
Collation and codeset decide sort and comparison. Wrong ones surface in reports, not at load time.

Keys and sequences

Oracle and Db2
Native database sequences generate Maximo unique IDs.
SQL Server
The MAXSEQUENCE table does the same job.
Conversion action
Rebuilt above the highest value present, then proved before Maximo starts.
Cost of skipping it
Duplicate key errors on the first record a planner creates.

Prerequisites follow IBM system requirements for your release. Where yours differ, the assessment records the difference.

Rework list

What converts unchanged, and what needs hands on it first

The data moves mechanically. The cost sits in everything around it that assumed the old platform, catalogued item by item before a window is booked.

Ref Object classConverts unchangedWork required before cutover
DBC-1 Maximo tables, indexes and views built by Database ConfigurationYes, structure and dataNone, though index and constraint rebuild is usually the long pole, measured in rehearsal.
DBC-2 Custom objects and attributes added through Database ConfigurationYesNone, provided they were made through the application, not by direct DDL.
DBC-3 Objects created by direct DDL outside Database ConfigurationNoCatalogued, then recreated and registered properly on the target, or retired with a named owner agreeing.
DBC-4 Automation Scripts in Python or JavaScriptYesScripts issuing native SQL are rewritten against the target dialect.
DBC-5 Saved queries, conditional expressions, SLA and escalation conditionsThe definitions, yesNative functions do not travel: NVL, ISNULL, ROWNUM, TOP and date arithmetic, rewritten one by one.
DBC-6 BIRT and bespoke reportsThe designs, yesReports with native SQL in the dataset are rewritten. Usually the largest single line of rework.
DBC-7 Integration framework object structures, publish channels and enterprise servicesYesJDBC endpoints and drivers repointed, along with anything reading the database directly.
DBC-8 DOCLINKS attachmentsNot part of the databaseCopied ahead of the freeze, topped up during it, verified by count, size and retrieval.

Cite these codes in your scoping paper. They are stable and will not be renumbered.

The number everyone asks for first

Where the freeze window comes from

Maximo is closed to the business from the freeze until the gates pass on the target. Four measured things set the length: extract and load for your volume, index and constraint rebuild, statistics, and how much verification you want before reopening.1 No window is quoted before the second rehearsal has been timed on a production-size copy, stage by stage, and contingency is added to measured numbers rather than to estimated ones.2

Notes

  1. 1 DOCLINKS volume affects preparation more than the window itself, because the bulk copy runs before the freeze and only the delta is taken during it.
  2. 2 Rollback stays available for as long as nobody has written to the target. After that, returning is a restore plus a replay of everything done since, which is why the go decision belongs to a named change authority at the gate.

Cutover night

Three gates, and what each one refuses

Each is a decision by a named person against evidence in front of them, not by whoever has been awake longest and would like it finished.

  1. Gate 1 Gate 1, freeze and restore point

    Signed by The change authority named on the approved window.

    Passes

    The rehearsed run may start against production.

    Held back

    Starting before the source backup is verified restorable, or integrations paused in the recorded order.

  2. Gate 2 Gate 2, technical verification

    Signed by The MaxIron conversion lead, on the evidence sheet.

    Passes

    Maximo and the integrations may be started on the target platform.

    Held back

    Any unexplained variance in row counts, checksums or DOCLINKS counts against the baseline.

  3. Gate 3 Gate 3, business functional pass

    Signed by The named business users who agreed the scenarios in rehearsal.

    Passes

    The estate opens to users on the target platform.

    Held back

    A partial pass. A failed scenario nobody can explain returns the estate to the restore point.

Retest register

What has to be re-proved on the target before the change closes

Seven rows, each closed with evidence attached to the change record.

Ref ItemEvidence that closes it
RT-1 Row counts and checksumsPer-table comparison against the pre-freeze baseline, every variance explained in writing.
RT-2 Attachment retrievalFile count and byte size against the source, plus a document opened from the oldest year present.
RT-3 Autokey generationA work order, asset and purchase order created on the target, proving sequences resumed above the highest existing value.
RT-4 Reports rewritten under DBC-6Each run on the target and compared, output to output, against the source copy.
RT-5 Expressions rewritten under DBC-5Run against the same record set on both platforms and compared row for row.
RT-6 IntegrationsA handshake and one live transaction each way on every interface, restarted in the order paused.
RT-7 Weekly and month-end workLong-cycle jobs watched through their first run during hypercare rather than assumed.

RT-7 is why hypercare runs with the engineers who ran the cutover, not a handover team meeting the estate for the first time.

Boundaries

Three things a conversion is not

Each is cheaper to settle in the scoping paper than at the gate.

It is not a performance project

Any change in response times comes from the infrastructure you land on and the tuning done alongside. Where performance is the objective, it is scoped and measured as its own workstream.

It is not a release upgrade

The release is unchanged across the window, which is what makes the gate evidence meaningful. Where both are needed they are sequenced, so a platform fault and an upgrade fault never present as one symptom. See Maximo to MAS upgrade.

Direct database consumers are yours to name

A warehouse extract, a reporting tool or a bespoke dashboard reading the database directly is invisible to an assessment run inside Maximo. Every one you list before rehearsal is one not found on the night.

Database vendor conversion, frequently asked questions

Which conversions do you support?
Any direction between Microsoft SQL Server, IBM Db2 and Oracle Database, at the versions listed in IBM system requirements for the Maximo 7.6.1.x or MAS Manage release you run. The conversion moves the platform under an unchanged release.
How much downtime should we plan for?
There is downtime, and the window comes from a timed rehearsal on a production-size copy. Extract and load, index and constraint rebuild, statistics and verification are timed separately, so the long pole is known rather than guessed at.
Can this be combined with an MAS upgrade?
Yes, and it often is, but as two sequenced pieces of work. The conversion lands either before the upgrade begins or after the upgraded estate is stable. See Maximo to MAS upgrade for the route options.
Do you need production data to rehearse?
A production-size copy, because timings taken from a subset are not timings. Where data cannot leave a boundary, the rehearsal environment is built inside your controls: a constraint to design around, not a reason to skip it.

Bring your source, your target, and the window you can secure.

Send your source platform, your target, the database size and the longest freeze the operation will give you. We come back with the rework list against the DBC codes above, the rehearsal schedule, and where your window is likely to be tight.

Bring this to the first call

  • Source and target database vendors, and who set that direction
  • Maximo or MAS release, database size, growth rate and DOCLINKS size
  • The longest freeze window the operation can realistically give you
  • Any list you hold of reports, scripts and tools that read the database directly