The choice of the correct character set before you create an Oracle 12c database is an important decision. You have to know the type of data you have to store and the languages needed by the Oracle database. Oracle recommends to choose Unicode for its universality and compatibility. It supports all written languages and most of the technical and scientific symbols.

Before Oracle 12c changing the database character set was an pretty nasty task and the migration itself could cause incorrect data conversion or loss of data. The csscan utility was not very pleasant to use and there was no GUI at all.

Oracle 12c has introduced a new tool called DMU (Database Migration Assistant for Unicode).

The main advantages of the DMU are:

  • GUI oriented tool guiding you through the workflow of the migration
  • allows selective conversion of data (at the table, column and row level)
  • gives you indication to help you in case of problems (failures during the scanning phase for example)
  • possibility to see the data itself in the DMU GUI
  • supports inline conversion of database contents

By the way, there is always the restriction about the data dictionary if there is any convertible data in it.
I used the DMU tool to migrate a database in we8mswin1252 Oracle 12c database to AL32UTF8 character set.
Under $ORACLE_HOME/dmu you just run dmu.sh and the GUI tool is running, you connect to the database you want to migrate. The first thing you have to do is to configure a DMU repository otherwise you have the following error message and the help tool tells you what to do:

dmu01

dmu02

Then, we configure the repository:

dmu03

We select the target database character set:

dmu04

And we select the tablespace where the repository will be installed.
Once the DMU correctly installed and configured we have to scan the objects in the database:

dmu06

The scan wizard gives you a lot of possibilities (modifying the number of scanning processes, selecting tables …):

dmu07

We have the possibility to edit the table plan conversion details:

dmu14

The conversion steps are displayed:

dmu15

We can select “convert” to run the character migration and finally, the database conversion is successful:

dmu17

Conclusion

The new Oracle 12c DMU is an interesting tool. Its graphical interface is very useful and will largely facilitate the character set migration of a database.