Answer: In order to expand the
maximum value of varchar2 (also nvarchar2 and raw) datatypes
in Oracle 12c and beyond, the max_string_size
parameter needs to be set to "extended". This will
change the maximum value from 4k (4096) to 32k (32767).
Oracle will now support varchar2(32767) and raw (32767)
and nvarchar2(32767) (up from varchar2(4000).
Less than 4K is stored inline in the data blocks, and
more than 4K row lengths are stored out of
To change max_string_size from the default of
"standard" to "extended" you must bounce the database for
the parameter to take effect and then run a utility to
change all of the old maximum sizes for VARCHAR2 to the new
WARNING: You MUST run
utl32k.sql immediately after changing
max_string_size=extended, else you risk invalidating the
1. Start Oracle in UPGRADE mode
Connect AS SYSDBA
4. Change the setting of
MAX_STRING_SIZE to EXTENDED
5. Run $OH/rdbms/admin/utl32k.sql
6. Open the Oracle database.
Oracle Training from Don Burleson
The best on site
training classes" are just a phone call away! You can get personalized Oracle training by Donald Burleson, right at your shop!
Burleson is the American Team
documentation was created as a support and Oracle training reference for use by our
DBA performance tuning consulting professionals.
Feel free to ask questions on our
considering using the services of an Oracle support expert should
independently investigate their credentials and experience, and not rely on
advertisements and self-proclaimed expertise. All legitimate Oracle experts
Oracle technology is changing and we
strive to update our BC Oracle support information. If you find an error
or have a suggestion for improving our content, we would appreciate your
and include the URL for the page.
Copyright © 1996 - 2020
All rights reserved by
is the registered trademark of Oracle Corporation.