Finish preparing earlier versions of 12.10 databases for JSON compatibility

To make databases that were created with earlier versions of HCL OneDB™ 12.10 JSON compatible, you must complete some post-migration steps.

Procedure

  1. Prepare any databases that were created in 12.10.xC1 for JSON compatibility.

    If you upgraded to 12.10.xC4 or later fixpacks, skip this step because all databases are made JSON compatible during conversion.

    If you upgraded to 12.10.xC3 or 12.10.xC2, complete these steps:

    1. Run the appropriate script on the upgraded server as user informix or as a user with DBA privileges.
      • HCL OneDB 12.10.xC3: convTovNoSQL1210.sql
      • HCL OneDB 12.10.xC2: convTovNoSQL1210X2.sql
      For example, in HCL OneDB 12.10.xC3, to make the db_name database JSON compatible, you would run the following command as user informix or as a user with DBA privileges:
      UNIX™
      dbaccess -e db_name $INFORMIXDIR/etc/convTovNoSQL1210.sql
      Windows™
      dbaccess -e db_name %INFORMIXDIR%\etc\convTovNoSQL1210.sql
    2. Configure and start the wire listener.
  2. If you used the wire listener in 12.10.xC2 or 12.10.xC3, after you upgrade to 12.10.xC4 or later fixpacks you must drop and recreate any indexes that you created on your collections. You do not need to drop and recreate the index that is automatically created on the _id field of a collection.
  3. If you had binary JSON (BSON) DATE fields in your documents in 12.10.xC2, you must load the data from the external table that you created before you upgraded to a later 12.10 fix pack.
    On the upgraded server:
    1. Rename the table that contains the BSON column with DATE fields.
      For example, use the ALTER table statement to rename the table from datetab to datetab_original.
    2. Create a new table that has the original table name.
      For example:
      create table datetab(j int, i bson);
    3. Load data into the new table from the external table that you created in your 12.10.xC2 server. During the load, convert the data from JSON format to BSON format.
      For example:
      insert into datetab select j, i::json::bson from ext_datetab;
    4. Verify that the data loaded successfully.
    5. Drop the original, renamed table (for example, datetab_original) after you are certain that the data loaded successfully into the new table (for example, datetab).
  4. If you used the wire listener in 12.10.xC2 with a database that has any uppercase letters in its name, after you upgrade to a later fix pack you must update your applications to use only lowercase letters in the database name.