Re: V10.2.0.1 exp/imp ORA-00910: specified length too long for its datatype

From: Gints Plivna <gints.plivna_at_gmail.com>
Date: Wed, 19 Mar 2008 18:01:42 +0200
Message-ID: <6e49b6d00803190901y67a55593g9a8067f69acc9423@mail.gmail.com>


The limit to remember - 4000 bytes maximum for any varchar2 in oracle table is enforced. So in your target database national caharcterset is AL16UTF16 which means every character takes 2 bytes. So you cannot create column with 3000 characters because the minimum bytes needed is 2*3000 = 6000 which is greater than 4000. In your source database you most probably have UTF8 national characterset which means every character takes 1,2 or 3 bytes. So there might be possibility that your data contains only 1byte characters and then 3000 char column is allowed.

So 3000 char column in UTF8 is allowed because it may take only 3000 bytes but 3000 char column in AL16UTF16 is not allowed because it needs at least 6000 bytes.
A bit more reading
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/datatypes.htm#sthref750

Gints Plivna
http://www.gplivna.eu

2008/3/19, sol beach <sol.beach_at_gmail.com>:
> All,
>
> I am stumped.
> I am at a site where I did not do initial setup. Previous DBA departed.

--
http://www.freelists.org/webpage/oracle-l
Received on Wed Mar 19 2008 - 11:01:42 CDT

Original text of this message