Home » RDBMS Server » Server Administration » Change the database characterset from WE8ISO8859P1 to AL32UTF8. (10.2.0.4, HP-UX)
Change the database characterset from WE8ISO8859P1 to AL32UTF8. [message #391965] Sun, 15 March 2009 07:11 Go to next message
Bangla
Messages: 49
Registered: August 2008
Member
We want to change our database characterset to AL32UTF8 from WE8ISO859P1 .
While running csscan from WE8ISO859P1 to WE8ISO859P1 in the same characterset we see lossy data. In the attachment it is shown.
While running csscan to WE8MSWIN1252 we get lossy data.
While running csscan to AL32UTF8 we again get same amount of lossy data.

Report from WE8ISO859P1 to WE8ISO859P1
[Application Data Conversion Summary]

Datatype                    Changeless      Convertible       Truncation            Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2                 2,544,258,408                0                0           38,865
CHAR                           138,377                0                0                0
LONG                        10,418,973                0                0               76
CLOB                                 0                0                0                0
VARRAY                               0                0                0                0
--------------------- ---------------- ---------------- ---------------- ----------------
Total                    2,554,815,758                0                0           38,941
Total in percentage             99.998%           0.000%           0.000%           0.002%


From WE8ISO8859P1 to WE8MSWIN1252,
[Application Data Conversion Summary]

Datatype                    Changeless      Convertible       Truncation            Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2                 2,544,258,408                0                0           38,865
CHAR                           138,377                0                0                0
LONG                        10,418,973                0                0               76
CLOB                                 0                0                0                0
VARRAY                               0                0                0                0
--------------------- ---------------- ---------------- ---------------- ----------------
Total                    2,554,815,758                0                0           38,941
Total in percentage             99.998%           0.000%           0.000%           0.002%


From WE8ISO8859P1 to AL32UTF8,
[Application Data Conversion Summary]

Datatype                    Changeless      Convertible       Truncation            Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2                 2,525,222,555       19,017,193           18,717           38,865
CHAR                           138,377                0                0                0
LONG                        10,298,841          120,132                0               76
CLOB                                 0                0                0                0
VARRAY                               0                0                0                0
--------------------- ---------------- ---------------- ---------------- ----------------
Total                    2,535,659,773       19,137,325           18,717           38,941
Total in percentage             99.249%           0.749%           0.001%           0.002%


Now problem is about lossy data. As we see same amount of lossy from WE8ISO859P1 to WE8ISO859P1 and WE8ISO8859P1 to AL32UTF8.

But I think I am confused whenever I open scan.err file I never see any replacement character.

What would be my next step for character set migration. Should we need to care lossy data? Directly go to AL32UTF8? Though csscan show much lossy data but while openning scan.err we don't see any replacement character. What should we do now to go to AL32UTF8?

Any suggestion is really welcome.

Thanks.
Re: Change the database characterset from WE8ISO8859P1 to AL32UTF8. [message #391972 is a reply to message #391965] Sun, 15 March 2009 09:44 Go to previous messageGo to next message
Michel Cadot
Messages: 68718
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
First in this case, "lossy" data will be lost. There already are not correct in the source character set and so can't be understood by Oracle.

Then to change from WE8ISO8859P1 to AL32UTF8, the only way is export/import.

Regards
Michel
Re: Change the database characterset from WE8ISO8859P1 to AL32UTF8. [message #391983 is a reply to message #391965] Sun, 15 March 2009 11:04 Go to previous messageGo to next message
Arju
Messages: 1554
Registered: June 2007
Location: Dhaka,Bangladesh. Mobile:...
Senior Member

Lossy data may not be lost. If all client's NLS_LANG to WE8ISO8859P1(may be incorrect) and save it to database character set WE8ISO8859P1 then

first WE8ISO8859P1 to WE8MSWIN1252 will recover all lossy data.

However if client uses NLS_LANG portion character set to WE8MSWIN1252 then lossy data will be lost.

Michel correct me if I am wrong.
Re: Change the database characterset from WE8ISO8859P1 to AL32UTF8. [message #391984 is a reply to message #391983] Sun, 15 March 2009 11:17 Go to previous messageGo to next message
Michel Cadot
Messages: 68718
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
The only to recover "lossy" data is to get them back the same way they have been inserted, store them somewhere in proper format (not in the database) and insert them back after migrate in al32utf8.

Regards
Michel
Re: Change the database characterset from WE8ISO8859P1 to AL32UTF8. [message #391985 is a reply to message #391965] Sun, 15 March 2009 11:30 Go to previous message
Arju
Messages: 1554
Registered: June 2007
Location: Dhaka,Bangladesh. Mobile:...
Senior Member

Quote:
whenever I open scan.err file I never see any replacement character

So, I assume still he has not lost his data if he does not see any replacement code in whole of his rows/ (database characters). Just Dump and see code point. So in this case just change to WE8MSWIN1252 before going to AL32UTF8 will remove all lossy.

Previous Topic: Replication on database
Next Topic: Schema size is very large - LOBSEGMENT
Goto Forum:
  


Current Time: Sun Dec 01 20:09:15 CST 2024