Pacchetto DBMS_MAX_STRING_SIZE

Il pacchetto DBMS_MAX_STRING_SIZE fornisce un'interfaccia per il controllo e la modifica del valore del parametro di inizializzazione DBMS_MAX_STRING_SIZE.

Funzione CHECK_MAX_STRING_SIZE

Questa funzione controlla se il parametro MAX_STRING_SIZE può essere aggiornato a un determinato valore e restituisce un elenco di violazioni che impediscono l'aggiornamento del parametro.

Sintassi

DBMS_MAX_STRING_SIZE.CHECK_MAX_STRING_SIZE(
       new_value    IN VARCHAR2)
RETURN DBMS_MAX_STRING_SIZE_TBL;

Parametri

Parametro descrizione;

new_value

Specifica il nuovo valore del parametro MAX_STRING_SIZE da impostare. L'unico valore valido è:'STANDARD' .

Note per uso

Se la lista di ritorno è vuota, non ci sono violazioni e l'aggiornamento MAX_STRING_SIZE può essere eseguito.

Esempio

SELECT * FROM TABLE(DBMS_MAX_STRING_SIZE.CHECK_MAX_STRING_SIZE('STANDARD'));
 
TYPE   OBJECT_OWNER OBJECT_NAME COLUMN_NAME    REASON                                       
------ ------------ ----------- -------------- ---------------------------------------------
COLUMN ADMIN        SALES       CUST_NOTES     Physical column exceeds STANDARD length limit   
1 rows selected.   

MODIFY_MAX_STRING_SIZE Procedura

Questa procedura aggiorna il valore del parametro MAX_STRING_SIZE impostandolo su un valore specificato.

Sintassi

DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE(
          new_value    IN VARCHAR2);

Dove: user_account è il nome dell'account utente (nome dello schema).

Parametri

Parametro descrizione;

new_value

Specifica il nuovo valore del parametro MAX_STRING_SIZE da impostare. L'unico valore valido è: 'STANDARD'.

Note per uso

  • L'utilizzo di DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE è una modifica unidirezionale che non può essere annullata. Dopo aver ripristinato lo stile STANDARD per supportare una lunghezza massima di 4000 byte per i tipi di dati VARCHAR2, NVARCHAR2 e RAW, non è possibile riabilitare i tipi di dati EXTENDED.

  • All'utente ADMIN viene concessa la clausola WITH GRANT OPTION del privilegio EXECUTE in DBMS_MAX_STRING_SIZE. Oracle consiglia di non utilizzare GRANT EXECUTE in questo package per altri utenti.

  • Se esiste un oggetto che impedisce l'aggiornamento di MAX_STRING_SIZE, viene generato l'errore ORA-20000.

  • All'utente ADMIN viene concessa la clausola WITH GRANT OPTION del privilegio EXECUTE in DBMS_MAX_STRING_SIZE. Oracle consiglia di non utilizzare GRANT EXECUTE in questo package per altri utenti.

Esempio

SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME = 'max_string_size';

NAME                 VALUE
max_string_size      EXTENDED


   BEGIN
     DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE('STANDARD');
   END;
/ 


PL/SQL procedure successfully completed.

SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME = 'max_string_size';

NAME                 VALUE
max_string_size      STANDARD