ORACLE 12C : Extended Data Type
Con la versione precedente del database Oracle, stringhe di caratteri lunghe di oltre 4000 i byte dovevano essere gestiti utilizzando i tipi di dati CLOB o LONG.
A partire da Oracle 12c è stato introdotto un nuovo parametro di sistema:
MAX_STRING_SIZE. Questo parametro consente ai tipi di dati stringa di essere molto più grandi quando il parametro viene modificato dal suo valore predefinito STANDARD a ESTESO.
Sono disponibili nuovi limiti superiori (in byte) per i seguenti tipi:
- VARCHAR2 – 32767 bytes
- NVARCHAR – 32767 bytes
- RAW – 32767 bytes
Per utilizzare la versione estesa è necessario impostare un nuovo parametro di inizializzazione
MAX_STRING_SIZE and run sql script utl32k.sql.
Impostare il parametro init.ora COMPATIBLE su 12.0.0.0 e versioni successive.
Importante: non puoi modificare il valore di MAX_STRING_SIZE da EXTENDED a STANDARD.
Per un database non CDB, l’intero database deve essere aggiornato per supportare l’estensione tipi di dati estesi con la seguente procedura:
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP UPGRADE
SQL> ALTER SYSTEM SET max_string_size=extended;
SQL> @?/rdbms/admin/utl32k
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
For a PDB database:
SQL> ALTER SESSION SET CONTAINER = pdbnormal;
SQL> ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
SQL> ALTER PLUGGABLE DATABASE OPEN UPGRADE;
SQL> ALTER SYSTEM SET max_string_size=extended;
SQL> @?/rdbms/admin/utl32k
SQL> ALTER PLUGGABLE DATABASE CLOSE;
SQL> ALTER PLUGGABLE DATABASE OPEN;