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 avec une valeur donnée et renvoie une liste de 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

Spécifie la nouvelle valeur de paramètre MAX_STRING_SIZE à définir. La seule valeur valide est :'STANDARD' .

Notes d'utilisation

Si la liste de résultats est vide, il n'y a aucune violation et la mise à jour 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.   

Procédure MODIFY_MAX_STRING_SIZE

Cette procédure met à jour la valeur du paramètre MAX_STRING_SIZE avec 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

Spécifie la nouvelle valeur de 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 est une modification unidirectionnelle qui ne peut pas être annulée. Une fois qu'une base de données est redéfinie sur le style STANDARD pour prendre 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.

  • La clause WITH GRANT OPTION du privilège EXECUTE est accordée à l'utilisateur ADMIN 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 existe qui empêcherait la mise à jour de MAX_STRING_SIZE.

  • La clause WITH GRANT OPTION du privilège EXECUTE est accordée à l'utilisateur ADMIN 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