Data Pump & Arabic Character-set Conversion

Those of you who used exp/imp know that you had to set the NLS_LANG in the session to obtain a correct export, otherwise it would export in default character-set which is US7ASCII. If you’re importing into a different database with a different character-set, you would have to set NLS_LANG again to the new character-set.

Now with Data Pump, setting NLS_LANG prior to exporting/importing is no longer required. Data Pump would do the conversion for you without any settings from your side.

Here is a quick test we ran:

DB1 character-set: AR8ISO8859P6

DB2 character-set: AL32UTF8

Session NLS_LANG: American_America.WE8ISO8859P1

We were able to export/import tables with Arabic data from/to DB1 & DB2 with no issues.


Hazem Ameen
Senior Oracle DBA


5 thoughts on “Data Pump & Arabic Character-set Conversion

  1. I am using oracle 9i database and database create WE8ISO8859P1 character set when create the database but arabic character showing ??? mark. How can I change the nls_lang setting. Have I create a new database?

    1. Shahidul,

      Use supported Arabic character-set. Read my entry on Arabic Charactersets. WE8ISO8859P1 is not a supported Arabic character-set but you can store Arabic correctly and shouldn’t appear as ???


  2. I have the same problem,,, could you please explain in details how I can slve it, since the text appear as ?????? .

  3. Hello Hazem

    Thank you very much for your knowledge your blog has helped me a lot, because I’ve been working with database arabic.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s