在oracle 12c之前版本,varchar2和nvarchar2数据类型的字段长度最大值是4000,在12c版本已扩展最大值支持到32767,也就是32kb,而参数MAX_STRING_SIZE就是控制扩展数据类型extended data type的最大长度:
standard:代表12c之前的长度限制,即varchar2和nvarchar2 4是4000 bytes,raw是2000,且系统 默认是standard;
extended:代表12c 32k strings新特性,varchar2、nvarchar2、raw最大长度是32767,即32kb
由数据库参数max_string_size默认是standard,所以需要修改该参数值为extended,为数据库配置扩展数据类型的具体步骤如下:
1>关闭数据库实例,shutodnw immediate(如果是RAC则需要关闭所有实例);
2>以upgrade模式启动数据库实例:startup upgrade;
3>修改参数MAX_STRING_SIZE 为EXTENDED( ALTER SYSTEM SET MAX_STRING_SIZE = EXTENDED SCOPE=SPFILE;);
4>运行 @$ORACLE_HOME/rdbms/admin/utl32k ;
5>重启数据库实例。
转载于:https://blog.51cto.com/alany/1544916