Ensemble DBMS_MAX_STRING_SIZE
L'ensemble DBMS_MAX_STRING_SIZE fournit une interface pour vérifier et 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 à une valeur donnée et retourne 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 retour 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.MODIFY_MAX_STRING_SIZE Procédure
Cette procédure met à jour la valeur du paramètre MAX_STRING_SIZE à 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 d'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_SIZEest une modification unidirectionnelle qui ne peut pas être annulée. Une fois qu'une base de données est rétablie au styleSTANDARDprenant en charge une longueur maximale de 4000 octets pour les types de donnéesVARCHAR2,NVARCHAR2etRAW, vous ne pouvez pas réactiver les types de donnéesEXTENDED. -
La clause
WITH GRANT OPTIONdu privilègeEXECUTEest accordée à l'utilisateur ADMIN surDBMS_MAX_STRING_SIZE. Oracle recommande de ne pas utiliserGRANT EXECUTEsur cet ensemble pour les autres utilisateurs. -
L'erreur
ORA-20000est générée s'il existe un objet qui empêcherait la mise à jour deMAX_STRING_SIZE. -
La clause
WITH GRANT OPTIONdu privilègeEXECUTEest accordée à l'utilisateur ADMIN surDBMS_MAX_STRING_SIZE. Oracle recommande de ne pas utiliserGRANT EXECUTEsur cet ensemble 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