We have an Oracle Applications Database (Database Version - 10.2.0.4 - Linux X86_64), Oracle Applications Version (12.1.2 - Linux X86_64).
As part of adding the Russian language to our Oracle Applications (whcih currently has German and English), we will need to change the characterset from WE8ISO8859P1 to AL32UTF8.
Seeing the previous threads and referring metalink documents (124721.1, 788053.1, 252422.1), we decided to be benefitted with the DMU utility.
The utility worked like a marvel and reported on the lossy characters and the Over Column Limit. The lossy characters were dealt with accordingly, and the over column limit data had to be modified via forms front end (some done through the backend). Everything was then reported as good, and with the help of the DMU Utility, the database was migrated from WE8ISO8859P1 to AL32UTF8. The DMU utility ended displaying the migration was success.
The process did not take much time (due to server speed).
After the whole activity got over, I queried my database and got the below results.
SQL> select property_value from database_properties where property_name='NLS_CHARACTERSET';
SQL> select value$ from sys.props$ where name='NLS_CHARACTERSET';
SQL> select value from nls_database_parameters where parameter='NLS_CHARACTERSET';
I stopped and started the database and the alert log file shows that the database characterset is now AL32UTF8 .
As were to do earlier also, we are able to insert data as English and German and get it retrieved back from the same session or from a different session in a diffferent terminal. The exact data is retrieved back from a different terminal, without any need to change and NLS session related settings.
Through TOAD, I tried inserting some Russian characters into the database, but as soon as they get inserted, I am getting the characters as ???????? .
I logged in from a different terminal /pc with a new session, and when queried the database for the data, I could retrieve the characters as ???????? . I was expecting to see the Russian characters that I had inserted instead of ??????? .
a) I am not sure if this is because of any NLS settings that I need to change for my session. If someone can help me on how to get this sorted out, so I can insert the Russian data and see it at the database and retrieve the same Russian data from a different terminal, that would be helpful.
b) Would it be more complex than above, which means the DMU utility did not do what it said that it had done?
If anyone can show their experience with the DMU utility that would be great.
DMU has nothing to do with displaying data , it's only doing the conversion of a db
most likely you are using toad (or sqlplus from a windows client or sqlplus trough a ssh/telnet emulator) and you did set the nls_lang to UTF8 or AL32UTF8
which is not always a good idea/correct setting
first thing to use is sqldeveloper on a windows client,this is a "know good client" that needs no NLS configuration.
You can download it from http://www.oracle.com/technology/products/database/sql_developer/
If the data is displayed correctly in SQLdeveloper then you are sure it's correct in the database.
Then it might be good to read Note 788156.1 AL32UTF8 / UTF8 (Unicode) Database Character Set Implications
especially the section " C) The Client side."
Edited by: Gunther Vermeir, Oracle on Jun 29, 2011 11:31 AM
I have the same requirement to change the character set from WE8ISO8859P1 TO AL32UTF8. Can you please provide me the steps or share any document which you prepared during your iteration will be of great help.