Hello Everyone,
I am facing a very strange issue, I have a UTF-8 database on 11g (11.2.0.4.0). It has already contains data in UTF-8 format, now I am trying to add one Virtual column with the combination of base columns from the table. The combine length of base columns (A+B+C) is 340 byte and I have given virtual column length as 472 bytes.
Still I am getting an error ORA-12899 value too large for column (actual: 472, maximum: 1032)
When I added the column with size 1032 it added properly , but the Question here is as the database is of UTF-8 format the data contains also in UTF-8 format then
Why it gave an error to populate UTF-8 data from one column to another ?
Is this something Oracle bug ? or Some fundamentals are there behind this which I didn't get ?
Please help me out to understand this problem.
This is the parameters set for the database.
SQL> select * from V$NLS_PARAMETERS;
PARAMETER VALUE
------------------------- --------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET UTF8
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET UTF8
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE