This content has been marked as final. Show 5 replies
988626 wrote:I'm by no means an expert on character set migrations, but the big problem you face when you convert to a target character set that isn't a super set of the source character set is data loss. You'll want to start by data scanning to check for potential data loss (characters in the source that aren't in the target). Column width issues can also arise. The following documents should help you.
I have Arabic data stored into below two encodings in oracle AL32UTF8 database
1 Million rows into WE8MSWIN1252
.5 million rows into AR8MSWIN1256
in all cases I like to convert 1 Million row of WE8MSWIN1252 into AR8MSWIN1256. I could convert the data encoding from 1252 to 1256 using SQLdeveloper. But no luck using oracle export/import utility (both exp and expdp)…. I’m thinking may be certain locale is required for export/import to work.
Also my company said SQL developer is free utility may not be supported by oracle so use export and import for this, any input/suggestion would be appreciated.
I need to convert only one table.
Edited by: 988626 on Feb 18, 2013 10:15 PM
If your data scanning identifies characters that don't exist in your target character set, you'll either have to deal with the data loss or migrate to a super set.
Why are you doing this? Why don't you stick with Unicode?
I'm not changing the database character set, the data stored in the table in two encoding as I mentioned previously.
If I used SQL developer it exports the data into SQL insert statements which I will execute to reinsert the data followed by truncate table statement where do you see the data loss. if the data is bigger than the insert statement would fail.
it is risky to insert 1million records so I like to use export/Import to perform the conversion in the same database(AL32UTF8) and same table, any suggestion would be appreciated.
I'm unable to run CSSCAN as I don't have DBA permissions.
I understand that I have to run CSSCAN to identify the Changeless, Lossydata, Truncation, Convertible data.
But my issue is, when our DBAs exported data using NLS_LANG=AMERICAN_AMERICA.AR8MSWIN1256 and imported using the same NLS, I didn't see the encoding of the data changed in the table
data in encoding WE8MSWIN1252 supposed to change to AR8MSWIN1256 but I see no changes in the data. I can set the NLS_LANG on my machine to WE8MSWIN1252 I could see the Arabic data but with AR8MSWIN1256 i still see junk.