Package DBMS_MAX_STRING_SIZE

Le package DBMS_MAX_STRING_SIZE fournit une interface permettant de vérifier et de modifier la valeur du paramètre d'initialisation DBMS_MAX_STRING_SIZE.

Fonction CHECK_MAX_STRING_SIZE

Cette fonction vérifie si le paramètre MAX_STRING_SIZE peut être mis à jour sur une valeur donnée et renvoie la liste des violations qui empêcheraient la mise à jour du paramètre.

Syntaxe

DBMS_MAX_STRING_SIZE.CHECK_MAX_STRING_SIZE(
       new_value    IN VARCHAR2)
RETURN DBMS_MAX_STRING_SIZE_TBL;

Paramètres

Paramètre Description

new_value

Indique la nouvelle valeur du paramètre MAX_STRING_SIZE à définir. La seule valeur valide est 'STANDARD' .

Notes d'utilisation

Si la liste renvoyée est vide, il n'y a aucune violation et la mise à jour de MAX_STRING_SIZE peut être effectuée.

Exemple

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 Procédure

Cette procédure met à jour la valeur du paramètre MAX_STRING_SIZE sur une valeur donnée.

Syntaxe

DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE(
          new_value    IN VARCHAR2);

Où : user_account est le nom du compte utilisateur (nom du schéma).

Paramètres

Paramètre Description

new_value

Indique la nouvelle valeur du paramètre MAX_STRING_SIZE à définir. La seule valeur valide est 'STANDARD'.

Notes d'utilisation

  • L'utilisation de DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE entraîne une modification unilatérale qui ne peut pas être annulée. Une fois qu'une base de données est revenue au style STANDARD, qui prend en charge une longueur maximale de 4000 octets pour les types de données VARCHAR2, NVARCHAR2 et RAW, vous ne pouvez pas réactiver les types de données EXTENDED.

  • L'utilisateur ADMIN dispose du privilège EXECUTE avec la clause WITH GRANT OPTION sur DBMS_MAX_STRING_SIZE. Oracle recommande de ne pas utiliser GRANT EXECUTE sur ce package pour les autres utilisateurs.

  • L'erreur ORA-20000 est générée si un objet peut empêcher la mise à jour de MAX_STRING_SIZE.

  • L'utilisateur ADMIN dispose du privilège EXECUTE avec la clause WITH GRANT OPTION sur DBMS_MAX_STRING_SIZE. Oracle recommande de ne pas utiliser GRANT EXECUTE sur ce package pour les autres utilisateurs.

Exemple

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