Paquete DBMS_MAX_STRING_SIZE

El paquete DBMS_MAX_STRING_SIZE proporciona una interfaz para comprobar y cambiar el valor del parámetro de inicialización DBMS_MAX_STRING_SIZE.

Función CHECK_MAX_STRING_SIZE

Esta función busca si el parámetro MAX_STRING_SIZE se puede actualizar a un valor determinado y devuelve una lista de infracciones que evitarían que se actualice el parámetro.

Sintaxis

DBMS_MAX_STRING_SIZE.CHECK_MAX_STRING_SIZE(
       new_value    IN VARCHAR2)
RETURN DBMS_MAX_STRING_SIZE_TBL;

Parámetros

parámetro Descripción

new_value

Especifica el nuevo valor de parámetro MAX_STRING_SIZE que se debe definir. El único valor válido es:'STANDARD' .

Notas de Uso

Si la lista de devolución está vacía, no hay infracciones y se puede realizar la actualización de MAX_STRING_SIZE.

Ejemplo

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.   

Procedimiento MODIFY_MAX_STRING_SIZE

Con este procedimiento se actualiza el valor del parámetro MAX_STRING_SIZE a un valor determinado.

Sintaxis

DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE(
          new_value    IN VARCHAR2);

Donde: user_account es el nombre de la cuenta de usuario (nombre de esquema).

Parámetros

parámetro Descripción

new_value

Especifica el nuevo valor de parámetro MAX_STRING_SIZE que se debe definir. El único valor válido es: 'STANDARD'.

Notas de Uso

  • El uso de DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE es un cambio de una dirección que no se puede revertir. Después de volver a cambiar una base de datos al estilo STANDARD para soportar una longitud máxima de 4000 bytes para los tipos de datos VARCHAR2, NVARCHAR2 y RAW, no puede volver a activar los tipos de datos EXTENDED.

  • Al usuario ADMIN se le otorga el privilegio EXECUTE, cláusula WITH GRANT OPTION en DBMS_MAX_STRING_SIZE. Oracle recomienda que no utilice GRANT EXECUTE en este paquete para otros usuarios.

  • El error ORA-20000 se inicia si existe algún objeto que evite que se actualice MAX_STRING_SIZE.

  • Al usuario ADMIN se le otorga el privilegio EXECUTE, cláusula WITH GRANT OPTION en DBMS_MAX_STRING_SIZE. Oracle recomienda que no utilice GRANT EXECUTE en este paquete para otros usuarios.

Ejemplo

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