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:
Then, we configure the repository:
We select the target database character set:
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:
The scan wizard gives you a lot of possibilities (modifying the number of scanning processes, selecting tables …):
We have the possibility to edit the table plan conversion details:
The conversion steps are displayed:
We can select “convert” to run the character migration and finally, the database conversion is successful:
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.