5 Replies Latest reply: Feb 19, 2013 4:17 AM by 991629 RSS

    Data Migration from WE8MSWIN1252 to AR8MSWIN1256.

    991629
      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.

      Similar case
      http://docs.oracle.com/cd/B28359_01/server.111/b28298/ch11charsetmig.htm#i1006038

      Syed~

      Edited by: 988626 on Feb 18, 2013 10:15 PM
        • 1. Re: Data Migration from WE8MSWIN1252 to AR8MSWIN1256.
          Justin_Mungal
          988626 wrote:
          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.

          Similar case
          http://docs.oracle.com/cd/B28359_01/server.111/b28298/ch11charsetmig.htm#i1006038

          Syed~

          Edited by: 988626 on Feb 18, 2013 10:15 PM
          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.

          http://docs.oracle.com/cd/E11882_01/server.112/e10729/ch11charsetmig.htm
          http://docs.oracle.com/cd/E11882_01/server.112/e10729/ch12scanner.htm

          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?
          • 2. Re: Data Migration from WE8MSWIN1252 to AR8MSWIN1256.
            Osama_Mustafa
            refer to Mos note :
            Which Character Set Supports Which Language [ID 62421.1]
            Character Sets & Conversion - Frequently Asked Questions [ID 227330.1]
            • 3. Re: Data Migration from WE8MSWIN1252 to AR8MSWIN1256.
              991629
              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.
              • 5. Re: Data Migration from WE8MSWIN1252 to AR8MSWIN1256.
                991629
                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.