Pacote DBMS_MAX_STRING_SIZE

O pacote DBMS_MAX_STRING_SIZE fornece uma interface para verificar e alterar o valor do parâmetro de inicialização DBMS_MAX_STRING_SIZE.

Função CHECK_MAX_STRING_SIZE

Essa função verifica se o parâmetro MAX_STRING_SIZE pode ser atualizado para um determinado valor e retorna uma lista de violações que impediriam a atualização do parâmetro.

Sintaxe

DBMS_MAX_STRING_SIZE.CHECK_MAX_STRING_SIZE(
       new_value    IN VARCHAR2)
RETURN DBMS_MAX_STRING_SIZE_TBL;

Parâmetros

Parâmetro Descrição

new_value

Especifica o novo valor de parâmetro MAX_STRING_SIZE a ser definido. O único valor válido é:'STANDARD' .

Observações de Uso

Se a lista de retorno estiver vazia, não haverá violações e a atualização do parâmetro MAX_STRING_SIZE poderá ser executada.

Exemplo

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.   

Procedimento MODIFY_MAX_STRING_SIZE

Esse procedimento atualiza o valor do parâmetro MAX_STRING_SIZE para um determinado valor.

Sintaxe

DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE(
          new_value    IN VARCHAR2);

Em que: user_account é o nome da conta do usuário (nome do esquema).

Parâmetros

Parâmetro Descrição

new_value

Especifica o novo valor de parâmetro MAX_STRING_SIZE a ser definido. O único valor válido é: 'STANDARD'.

Observações de Uso

  • O uso de DBMS_MAX_STRING_SIZE.MODIFY_MAX_STRING_SIZE é uma alteração unilateral que não pode ser revertida. Depois que um banco de dados é alternado de volta para o estilo STANDARD de suporte a um tamanho máximo de 4000 bytes para os tipos de dados VARCHAR2, NVARCHAR2 e RAW, você não pode reativar os tipos de dados EXTENDED.

  • É concedido ao usuário ADMIN o privilégio EXECUTE, cláusula WITH GRANT OPTION, no pacote DBMS_MAX_STRING_SIZE. A Oracle recomenda que você não instale GRANT EXECUTE neste pacote para outros usuários.

  • O erro ORA-20000 será gerado se houver algum objeto que impeça a atualização do parâmetro MAX_STRING_SIZE.

  • É concedido ao usuário ADMIN o privilégio EXECUTE, cláusula WITH GRANT OPTION, no pacote DBMS_MAX_STRING_SIZE. A Oracle recomenda que você não instale GRANT EXECUTE neste pacote para outros usuários.

Exemplo

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