Upgrading databases to UCA-based collations

After you upgrade Db2® server and clients to version 11.5 and higher, you can upgrade the databases and database applications.

version 11.5 and higher introduce a new version of UCA-based collations, with the collation keyword CLDR2701. This new collation uses the Unicode Collation Algorithm Version 7.0 based on CLDR 27.0.1. For more information about this collation algorithm, see http://www.unicode.org/reports/tr10/tr10-20.html and http://site.icu-project.org/download/55#TOC-Updates-in-ICU-55.2.

If there are existing databases that have older UCA-based collations, such as UCA500R1 or CLDR2701R1, these databases still work and behave the same as before. However, you might want to convert these databases and the applications that use them to use the newest UCA-based collations. You can upgrade your database to use the collation CLDR2701 keyword to take advantage of new collations.

Old Collations based on the Unicode Collation Algorithm of the Unicode Standard version 4.0.0, and 5.0.0. and CLDR2701 have been deprecated. Upgrade databases using new collation keywords to avoid deprecation problems.

To convert an existing database to a new UCA-based collation using the CLDR2701 collation keyword, follow these general steps:
  1. Export the data from the existing database.
  2. Create a new database using the new collation.
  3. Import or load the data in the new database.
  4. Modify applications that access the database.
    • If you use the COLLATION_KEY_BIT scalar function, you might need to update applications to use the new UCA-based collations with the CLDR2701 collation keyword.
    • If you use scalar functions that accept a locale-name argument with a CLDR version prefix, you might need to update applications to use the new CLDR2701 version prefix.

CLDR2701 collations are not guaranteed to be compatible with older versions of the UCA-based collations. This lack of compatibility might occur even if all the collation attributes are identical. If you create a database and it needs to have the same collation behavior as another existing database, use the same collation when creating the database.