Oracle 12c資料庫擴充套件VARCHAR2欄位屬性超過4000位元組

Z少校發表於2020-02-20

在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.修改引數MAX_STRING_SIZE 為EXTENDED:

ALTER SYSTEM SET MAX_STRING_SIZE = EXTENDED SCOPE=SPFILE;

2.關閉資料庫例項,

shutodnw immediate;

PS:如果是RAC則需要關閉所有例項

3.以upgrade模式啟動資料庫例項:

 startup upgrade;

4.執行指令碼:

 SQL> @$ORACLE_HOME/rdbms/admin/utl32k ;

5>重啟資料庫例項。

 SQL> shu immediate;
 SQL> startup;


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30484956/viewspace-2676425/,如需轉載,請註明出處,否則將追究法律責任。

相關文章