Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm working on a django project on Ubuntu 10.04 with Oracle Database Server , so I've installed: Oracle Database 10g xe universal Rel. cx_Oracle-5.0.4-10g-unicode-py26-1.x86_64

When I import a .dmp file which is generated by oracle 10gr2 enterprise edition (on Windows XP) I get errors as listed below(it happens with data types varchar2), probably connected to the characterset conversion (my db contains greek) and my data don't sync completely.

Username: Connected to: Oracle Database 10g Express Edition Release - Production Export file created by EXPORT:V10.02.01 via conventional path import done in US7ASCII character set and AL16UTF16 NCHAR character set import server uses AL32UTF8 character set (possible charset conversion) export client uses EL8MSWIN1253 character set (possible charset conversion) . . importing table "xxx" IMP-00019: row rejected due to ORACLE error 12899 IMP-00003: ORACLE error 12899 encountered ORA-12899: value too large for column "xxx"."xxx"."xxx" (actual: 41, maximum: 40) and so on

My oracle express server is running with these settings:


And the database server which generated the .dmp file is running with:


Does anyone have a hint how I could solve this problem?

share|improve this question

One solution is to have both databases using the same character set. Considering your destination is a free XE version why not do a new install? Just make sure you use EL8MSWIN1253 character set and the same UTF version.

share|improve this answer

You can edit the dump file and change the included NLS_LENGTH_SEMANTICS from BYTE to CHAR.

Near the beginning of the file you find a line ending like this :


Change BYTE to CHAR using your favorite text editor and save the file.

When you will imp that new dump file, all columns will be create with CHAR length semantics.

If you need to automate the fix, the following script should work :

sed '1,/\x00BYTE\x06/{s/\x00BYTE\x06\x00UNUSED/\x00CHAR\x06\x00UNUSED/}' < original.dmp > modified.dmp
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.