Guia de Consulta Rápida Oracle 9i Built-in Packages Celso H. Poderoso de Oliveira Novatec Editora www.novateceditora.com.br Guia de Consulta Rápida Oracle 9i Built-in Packages de Celso H. Poderoso de Oliveira Copyright2001 da Novatec Editora Ltda. Todos os direitos reservados. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. ISBN: 85-7522-014-4 Novatec Editora Ltda. Rua Cons. Moreira de Barros 1084 Conj. 01 02018-012 São Paulo - SP Brasil Tel.: (0xx11) 6959-6529 Fax: (0xx11) 6950-8869 E-mail: [email protected] Site: www.novateceditora.com.br 2 Sumário Sumário Introdução ..................................................................................... 5 DBMS_ALERT ............................................................................ 6 DBMS_APPLICATION_INFO .................................................... 8 DBMS_AQ ................................................................................. 10 DBMS_AQADM ........................................................................ 14 DBMS_AQELM ........................................................................ 23 DBMS_DDL .............................................................................. 24 DBMS_DEBUG ......................................................................... 25 DBMS_DESCRIBE ................................................................... 31 DBMS_IOT ................................................................................ 32 DBMS_JOB ................................................................................ 33 DBMS_LOB ............................................................................... 36 DBMS_LOCK ............................................................................ 44 DBMS_OLAP ............................................................................ 46 DBMS_ORACLE_TRACE_AGENT ........................................ 54 DBMS_ORACLE_TRACE_USER ........................................... 55 DBMS_OUTPUT ....................................................................... 55 DBMS_PCLXUTIL 8 ................................................................ 56 DBMS_PIPE .............................................................................. 57 DBMS_PROFILER .................................................................... 60 DBMS_RANDOM ..................................................................... 61 DBMS_REFRESH ..................................................................... 61 DBMS_REPAIR ......................................................................... 64 DBMS_RESOURCE_MANAGER ............................................ 68 DBMS_RESOURCE_MANAGER_PRIVS .............................. 73 DBMS_ROWID ......................................................................... 74 DBMS_SESSION ...................................................................... 77 DBMS_SHARED_POOL .......................................................... 79 DBMS_SNAPSHOT .................................................................. 80 DBMS_SPACE ........................................................................... 84 DBMS_SPACE_ADMIN ........................................................... 86 DBMS_SQL ............................................................................... 89 DBMS_STATS ........................................................................... 96 DBMS_TRACE ........................................................................ 111 DBMS_TRANSACTION ........................................................ 112 DBMS_UTILITY ..................................................................... 114 DEBUG_EXTPROC ................................................................ 118 OUTLN_PKG .......................................................................... 118 UTL_COLL .............................................................................. 119 UTL_FILE ................................................................................ 119 UTL_RAW ............................................................................... 122 UTL_REF ................................................................................. 126 Informações adicionais ............................................................. 128 Onde obter mais informações .............................................. 128 Notação utilizada neste guia ................................................ 128 Comentários e sugestões ...................................................... 128 Sobre o autor ........................................................................ 128 3 4 Introdução Introdução Com o banco de dados Oracle é fornecido uma série de pacotes que têm como objetivo facilitar a vida do programador PL/SQL, linguagem de programação do Oracle. Este guia traz a descrição dos principais pacotes e a sintaxe das funções e procedimentos neles embutidos. Algumas das funções estão disponíveis apenas nas versões mais recentes do banco de dados. Sempre que isso ocorre, procuramos mencionar no próprio texto. Este guia naturalmente servirá como consulta às funções e sintaxe não pretendendo tratar definitivamente o assunto. Para isso, deve-se consultar bibliografia específica. Pacote é um conjunto de funções, procedimentos, variáveis, constantes, cursores e tratamento de erros agrupados em uma única unidade lógica. Isso facilita o uso e a manipulação em diversos programas desenvolvidos pelo usuário. A maior parte dos pacotes do Oracle são instalados automaticamente quando o banco de dados é criado. O script que cria os pacotes é o CATPROC.SQL. Outros pacotes necessitam ser instalados pelo usuário de acordo com a necessidade. Vale salientar que não é aconselhável fazer mudanças nos pacotes fornecidos pela Oracle. Eles podem ser modificados a qualquer instante, e modificações poderão acarretar perda de rendimento ou falhas de segurança no banco de dados. Caso você queira modificar alguma das funções ou procedimentos, copie e crie uma nova função com as mudanças. Não se esqueça de manter uma cópia para novas versões do banco de dados. Na sintaxe dos procedimentos e funções, vamos manter o tipo de dado nos parâmetros e no retorno para que você saiba que tipo de parâmetro deve informar. 5 DBMS_ALERT DBMS_ALERT Permite enviar mensagens de alerta com base em eventos ocorridos no banco de dados. Alertas são sempre baseados em transações. Dessa forma apenas após a conclusão de uma operação no banco de dados (COMMIT) é que será enviado o alerta. Pode haver uma série de mensagens concorrentes. Por ser conseqüência de gravação no banco de dados, não pode ser utilizado no Oracle Forms. Consulte a documentação do Oracle Forms para maiores detalhes de implementação. Combinando o uso de alertas com Triggers você poderá alterar informações gerenciais em tempo real sem a necessidade de o usuário ter de requisitar constantemente as informações ao banco de dados. DBMS_ALERT.REGISTER Informa que a sessão deverá ser notificada na ocorrência do alerta nome. Alertas iniciados por ORA$ são específicos para produtos Oracle. Os nomes devem possuir 30 bytes ou menos e são sensíveis a letras maiúsculas e minúsculas. DBMS_ALERT.REGISTER ( nome_alerta IN VARCHAR2); DBMS_ALERT.REMOVE Informa que a sessão não deve mais ser informada na ocorrência do alerta nome. É importante sempre remover o alerta porque, de outra forma, mesmo após o encerramento da sessão, seriam enviadas algumas mensagens a ela. Isso naturalmente consome recursos do sistema. DBMS_ALERT.REMOVE ( nome_alerta IN VARCHAR2); DBMS_ALERT.REMOVEALL Informa que a sessão não deve receber nenhum alerta. DBMS_ALERT.REMOVEALL; DBMS_ALERT.SET DEFAULTS Define o intervalo de tempo (em segundos) para a checagem de alertas. DBMS_ALERT.SET_DEFAULTS ( intervalo IN NUMBER); DBMS_ALERT.SIGNAL Sinaliza a ocorrência do alerta nome e envia a mensagem (máximo de 1.800 bytes) correspondente a todas as sessões registradas. Lembre-se de que somente será enviado o alerta caso seja gravada a ocorrência no banco de dados (COMMIT), caso contrário não será enviado. DBMS_ALERT.SIGNAL ( nome_alerta IN VARCHAR2, mensagem IN VARCHAR2); 6 DBMS_ALERT DBMS_ALERT.WAITANY Aguarda um determinado tempo em segundos para ser notificado da ocorrência de qualquer alerta que a sessão tenha registrada. Se o status for igual a 0, então o nome e a mensagem conterão as informações do alerta. A informação da mensagem será a definida em SIGNAL. Se o tempo em segundos sem notificação de qualquer alerta for alcançado, então o status retornará 1. O alerta deve ser registrado antes de definir o WAITANY, caso contrário será retornada uma mensagem de erro (ORU-10024: there are no alerts registered). DBMS_ALERT.WAITANY ( nome OUT VARCHAR2, mensagem OUT VARCHAR2, status OUT INTEGER, tempo IN NUMBER DEFAULT MAXWAIT); DBMS_ALERT.WAITONE Aguarda um determinado tempo para que o alerta nome ocorra. Se o status retornar 0, indica que a mensagem contém a informação do alerta. Caso retorne 1, indica que o tempo em segundos passou e nenhuma notificação foi enviada. DBMS_ALERT.WAITONE ( nome IN VARCHAR2, mensagem OUT VARCHAR2, status OUT INTEGER, tempo IN NUMBER DEFAULT MAXWAIT); Você deve ter notado que existe o comando MAXWAIT como padrão em diversos procedimentos. Este é um valor constante definido no pacote: 86400000. 7 DBMS_APPLICATION_INFO DBMS_APPLICATION_INFO Registra informações e testa o desempenho de módulos ou transações no banco de dados. Quando for registrado, o módulo será gravado na V$SESSION e V$SQLAREA para que especialistas em ajuste (tunning) possam monitorar o desempenho do módulo. DBMS_APPLICATION_INFO.READ_CLIENT_INFO Requisita a informação do cliente atual na sessão. Esta informação foi a gravada pelo SET_CLIENT_INFO. DBMS_APPLICATION_INFO.READ_CLIENT_INFO ( informação OUT VARCHAR2); DBMS_APPLICATION_INFO.READ_MODULE Requisita o nome do módulo e da ação em execução na sessão. DBMS_APPLICATION_INFO.READ_MODULE ( módulo OUT VARCHAR2, ação OUT VARCHAR2); DBMS_APPLICATION_INFO.SET_ACTION Registra o nome da ação executada no módulo. Quando a ação for concluída, chame esse procedimento com a nova ação ou com NULL. DBMS_APPLICATION_INFO.SET_ACTION ( ação IN VARCHAR2); DBMS_APPLICATION_INFO.SET_CLIENT_INFO Acrescenta informação do cliente atual na V$SESSION. Máximo de 64 bytes. DBMS_APPLICATION_INFO.SET_CLIENT_INFO ( informação IN VARCHAR2); DBMS_APPLICATION_INFO.SET_MODULE Registra o módulo (que pode ser um procedimento ou aplicação) e a ação na V$SESSION e V$SQLAREA. Indica que este é o módulo e a ação que são executados na sessão. Quando encerrar o módulo, deve ser chamado esse procedimento com o nome do novo módulo ou NULL caso não haja nenhum outro módulo. O tamanho máximo do nome é 48 bytes e da ação 32. Se não for necessário especificar a ação, então envie NULL. DBMS_APPLICATION_INFO.SET_MODULE ( módulo IN VARCHAR2, ação IN VARCHAR2); 8 DBMS_APPLICATION_INFO DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS Inclui uma linha em V$SESSION_LONGOPS que armazena a indicação do progresso de operações mais demoradas no banco de dados (como backups). DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS ( índice IN OUT PLS_INTEGER, slno IN OUT PLS_INTEGER, nome IN VARCHAR2 DEFAULT NULL, destino IN PLS_INTEGER DEFAULT 0, contexto IN PLS_INTEGER DEFAULT 0, executado IN NUMBER DEFAULT 0, total IN NUMBER DEFAULT 0, objeto IN VARCHAR2 DEFAULT ‘unknown target’, unidade IN VARCHAR2 DEFAULT NULL) ; set_session_longops_nohint constant pls_integer := -1; Parâmetro Descrição índice slno nome destino contexto executado total objeto unidade Representa uma linha na tabela V$SESSION_LONGOPS. Se for informado set_session_longops_nohint, será iniciada uma nova linha. Se for utilizado um valor que foi retornado por uma chamada anterior, a linha será reaproveitada. Grava informação entre as chamadas. É de uso interno do procedimento e não deve ser alterada pelo usuário. Nome de identificação do procedimento. Máximo de 64 bytes. Objeto destino que é manipulado durante a operação. Número que se queira armazenar. Não influenciará em nada, é apenas cadastral. Número que se queira armazenar. Não influenciará em nada, mas normalmente indica quanto de trabalho já foi realizado. Número que se queira armazenar. Normalmente indica o total de trabalho a ser realizado. Descrição do objeto manipulado no momento. Máximo de 32 bytes. Indica a unidade em que executado e total estão representados. Máximo 32 bytes. 9 DBMS_AQ DBMS_AQ Coloca e retira mensagens das filas criadas no Oracle Advanced Queuing. Está disponível a partir do Oracle 8. DBMS_AQ.BIND_AGENT 9i Cria uma entrada para o agente AQ no servidor LDAP. DBMS_AQ.BIND_AGENT( agente IN SYS.AQ$_AGENT, certificado IN VARCHAR2 default NULL); Parâmetro Descrição agente certificado Agente que será registrado no servidor LDAP. Localização do certificado digital da pessoa para registro no LDAP. DBMS_AQ.DEQUEUE Retira uma mensagem da fila. DBMS_AQ.DEQUEUE ( nome IN VARCHAR2, opção IN opção_de_tirar_fila, propriedades OUT propriedade_de_mensagem, mensagem OUT “<nome_type>”, idmsg OUT RAW); Retira uma mensagem na fila nome utilizando a opção especificada. O banco de dados retorna um idmsg para a mensagem. O nome_type pode ser um objeto TYPE, portanto deve-se especificar o nome do objeto, ou ser do tipo RAW. A propriedade de mensagem é a mesma definida em ENQUEUE. Opção_de_tirar_fila Especifica as opções disponíveis para retirar mensagens da fila. TYPE opção_de_tirar_fila IS RECORD ( responsável VARCHAR2(30) DEFAULT NULL, modo BINARY_INTEGER DEFAULT REMOVE, navegação BINARY_INTEGER DEFAULT NEXT_MESSAGE, visibilidade BINARY_INTEGER DEFAULT ON_COMMIT, espera BINARY_INTEGER DEFAULT FOREVER, idmsg RAW(16) DEFAULT NULL, correlação VARCHAR2(128) DEFAULT NULL); Parâmetro Descrição responsável Apenas as mensagens direcionadas ao responsável serão acessadas. Se a fila não foi definida para múltiplos destinatários, este parâmetro deverá ser NULL. modo Mecanismo de bloqueio associado ao desinfileiramento. BROWSE Leitura sem bloqueio. LOCKED Leitura e bloqueio para escrita. REMOVE Leitura da mensagem e atualização ou exclusão (padrão). REMOVE_NODATA Marca a mensagem como atualizada ou apagada. navegação Especifica a posição da mensagem. NEXT_MESSAGE Próxima mensagem. NEXT_TRANSACTION Próxima mensagem da transação. FIRST_MESSAGE Primeira mensagem disponível. 10 DBMS_AQ visibilidade ON_COMMIT IMMEDIATE espera FOREVER NO_WAIT idmsg correlação Definequeodesinfileiramentoépartedatransação corrente. Assim será completada quando a transação acabar (COMMIT) (opção-padrão). Indica que não é parte da transação corrente. Indicaotempodeesperasenãohouvermensagem disponível. Esperar indefinidamente (opção-padrão). Não esperar. Identificador da mensagem. Identificador de correlação da mensagem. Pode ser utilizado o percentual (%) e sublinha (_). DBMS_AQ.ENQUEUE Acrescenta uma mensagem na fila nome utilizando a opção especificada. O banco de dados gera um idmsg para a mensagem. O nome_type pode ser um objeto TYPE, portanto deve-se especificar o nome do objeto, ou ser do tipo RAW. Para tratarmos melhor esse procedimento, é necessário entendermos os tipos utilizados na passagem dos parâmetros. DBMS_AQ.ENQUEUE ( nome IN VARCHAR2, opção IN opção_de_fila, propriedades IN propriedade_de_mensagem, mensagem IN “nome_type”, idmsg OUT RAW); Opção_de_fila Especifica as opções disponíveis para operação de enfileiramento. TYPE opção_de_fila IS RECORD ( visibilidade BINARY_INTEGER DEFAULT ON_COMMIT, idmsg RAW(16) DEFAULT NULL, seqüência BINARY_INTEGER DEFAULT NULL); Parâmetro Descrição visibilidade ON_COMMIT IMMEDIATE idmsg seqüência Define que o enfileiramento é parte da transação corrente. Assim será completada quando a transação acabar (COMMIT) (opção-padrão). Indica que não é parte da transação corrente. Especifica o identificador da mensagem. Indica se uma mensagem enfileirada pode ser retirada. Pode ser especificado BEFORE, indicando antes do idmsg especificado, TOP para enfileirar a frente de qualquer mensagem ou NULL, o padrão. Propriedade_de_mensagem Descreve as informações utilizadas para gerenciar mensagens individuais. TYPE propriedade_de_mensagem IS RECORD ( prioridade BINARY_INTEGER DEFAULT 1, tempo BINARY_INTEGER DEFAULT NO_DELAY, expiração BINARY_INTEGER DEFAULT NEVER, correlação VARCHAR2(128) DEFAULT NULL, tentativas BINARY_INTEGER, lista_destinatário aq$_recipient_list_t, exceção VARCHAR2(51) DEFAULT NULL, tempo_fila DATE, estágio BINARY_INTEGER, responsável aq$_agent DEFAULT NULL, original RAW(16) DEFAULT NULL); 11 DBMS_AQ Parâmetro Descrição prioridade Especifica ou retorna a prioridade de uma mensagem. Quanto menor o número, maior a prioridade. Especifica ou retorna o número de segundos para que a mensagem seja distribuída. NO_DELAY indica que deve ser distribuída imediatamente. Especifica ou retorna o número de segundos para que a mensagem expire. NEVER indica que a mensagem não expirará. Retorna a identificação fornecida pelo responsável de uma mensagem. Número de tentativas para retirar a mensagem da fila. Opadrãoéalistadeusuárioregistradosparaamensagem. Especifica ou retorna a fila para a qual a mensagem deve ser enviada caso não possa ser processada com sucesso. Tempo que a mensagem foi enfileirada. 0 indica que a mensagem está pronta para ser processada. 1 que o tempo de distribuição não foi alcançado. 2 que a mensagem foi processada. 3 que a mensagem foi direcionada para a fila de exceção. Especifica ou retorna o usuário responsável pelo envio da mensagem. Utilizado pelo Oracle AQ para propagar mensagens. tempo expiração correlação tentativas lista_destinatário exceção tempo_fila estágio responsável original DBMS_AQ.LISTEN "Ouve” as requisições de filas. DBMS_AQ.LISTEN ( lista_agentes IN aq$_agent_list_t, espera IN BINARY_INTEGER DEFAULT DBMS_AQ.FOREVER, agente OUT sys.aq$_agent); TYPE aq$_agent_list_t IS TABLE of aq$_agent INDEXED BY BINARY_INTEGER; Parâmetro Descrição lista_agentes espera agente Lista de agentes para os quais se deve “ouvir” as requisições. Tempo (em segundos) para ouvir uma requisição. Agente com a mensagem disponível. DBMS_AQ.POST 9i Este procedimento envia mensagem para uma lista de subscrição. DBMS_AQ.POST ( lista_registro IN SYS.AQ$_POST_INFO_LIST, total IN NUMBER); TYPE sys.aq$_post_info IS OBJECT ( nome VARCHAR2(128), forma NUMBER, carga RAW(2000)); Parâmetro Descrição lista_registro total nome forma carga 12 Lista de subscrição para envio de mensagens. Número de entradas na lista de subscrição. Nome da lista de subscrição para envio. Como será enviada a notificação ( D B M S _ A Q . N A M E S P A C E _ A Q , DBMS_AQ.NAMESPACE_ANONYMOUS). Define a carga que será enviada para a subscrição anônima. Padrão: NULL. DBMS_AQ 9i DBMS_AQ.REGISTER Registra em e-mail, um procedimento PL/SQL ou URL HTTP para entrega de mensagens. DBMS_AQ.REGISTER ( lista_registro IN SYS.AQ$_REG_INFO_LIST, total IN NUMBER); TYPE sys.aq$_reg_info IS OBJECT ( nome VARCHAR2(128), forma NUMBER, método VARCHAR2(4000), contexto RAW(2000)); Parâmetro Descrição lista_registro total nome forma método contexto Lista de subscrição para registro de notificações de mensagens. Número de entradas na lista de subscrição. Nome da lista de subscrição. Como será recebida a notificação ( D B M S _ A Q . N A M E S P A C E _ A Q , DBMS_AQ.NAMESPACE_ANONYMOUS). Se HTTP, deve ser http://www.empresa.com.br:8080, email, mailto://[email protected], PL/SQL, plsql:// <schema>.<procedimento>?PR={ 0 | 1 }. Especifica o contexto de envio para a função. Padrão NULL. DBMS_AQ.UNBIND_AGENT 9i Retira a entrada para o agente AQ no servidor LDAP. DBMS_AQ.BIND_AGENT( agente IN SYS.AQ$_AGENT); Parâmetro Descrição agente Agente que será registrado no servidor LDAP. DBMS_AQ.UNREGISTER 9i Retira o registro em uma lista de subscrição. DBMS_AQ.UNREGISTER ( lista_registro IN SYS.AQ$_REG_INFO_LIST, total IN NUMBER); Parâmetro Descrição lista_registro total Lista de subscrição para registro de notificações de mensagens. Número de entradas na lista de subscrição. 13 DBMS_AQADM DBMS_AQADM Fornece uma série de programas para que se gerencie a configuração e administração das informações do Oracle Advanced Queuing. DBMS_AQADM.ADD_ALIAS_TO_LDAP 9i Cria um apelido para a fila, agente ou JMS ConnectionFactory no LDAP. O apelido será colocado diretamente na hierarquia de banco de dados do servidor LDAP. DBMS_AQADM.ADD_ALIAS_TO_LDAP( apelido IN VARCHAR2, local IN VARCHAR2); Parâmetro Descrição apelido local Nome do apelido. Nome do objeto (fila, agente ou connection factory). DBMS_AQADM.ADD_SUBSCRIBER Acrescenta um agente-padrão para a fila. DBMS_AQADM.ADD_SUBSCRIBER ( fila IN VARCHAR2, agente IN tipo_agente, regra IN VARCHAR2 DEFAULT NULL, transformação IN VARCHAR2 ); Parâmetro Descrição fila agente regra transformação Nome da fila. Agente-padrão que receberá a subscrição. Expressão condicional, semelhante a cláusula WHERE, baseada nas propriedades da mensagem, dados da mensagem ou código PL/SQL. Transformação a ser realizada quando o usuário retirar mensagens da fila. A origem da transformação deve ser correspondente ao tipo da fila. Tipo_Agente Identifica o criador ou consumidor da mensagem. TYPE tipo_agente IS OBJECT ( nome VARCHAR2(30), endereço VARCHAR2(1024), protocolo NUMBER); Parâmetro Descrição nome endereço protocolo Nome do produtor ou consumidor da mensagem. Endereço específico do protocolo do recipiente. Padrão 0. Protocoloparainterpretaroendereçoepropagaramensagem. Padrão 0. DBMS_AQADM.ALTER_AQ_AGENT 9i Altera um agente AQ registrado para utilização pela Internet utilizando protocolos HTTP ou SMTP. DBMS_AQADM.ALTER_AQ_AGENT ( agente IN VARCHAR2, loc_certificado IN VARCHAR2 DEFAULT NULL, hab_http IN BOOLEAN DEFAULT FALSE, hab_smtp IN BOOLEAN DEFAULT FALSE, hab_qq IN BOOLEAN DEFAULT FALSE ) 14 DBMS_AQADM Parâmetro Descrição agente loc_certificado Usuário do agente AQ na Internet. Certificado do agente no servidor LDAP. Para SMTP é obrigatório, para HTTP é opcional. Utiliza (TRUE) ou não (FALSE) HTTP. Utiliza (TRUE) ou não (FALSE) SMTP. Utiliza (TRUE) ou não (FALSE) HTTP e SMTP. hab_http hab_smtp hab_qq DBMS_AQADM.ALTER_PROPAGATION_SCHEDULE Altera os parâmetros de programação de propagação de mensagens. DBMS_AQADM.ALTER_PROPAGATION_SCHEDULE ( nome_fila IN VARCHAR2, destino IN VARCHAR2 DEFAULT NULL, duração IN NUMBER DEFAULT NULL, próximo IN VARCHAR2 DEFAULT NULL, latência IN NUMBER DEFAULT 60); Parâmetro Descrição destino duração próximo latência Link do banco de dados (dblink) destino. NULL indica propagação no banco de dados local. Tempo em segundos da propagação da mensagem. NULL indica sempre. Hora da próxima propagação de mensagem. Tempo máximo, em segundos, para aguardar a propagação da mensagem. DBMS_AQADM.ALTER_QUEUE Altera propriedades da fila. Os parâmetros tentativas, intervalo e retenção não podem ser utilizados em filas não-persistentes. DBMS_AQADM.ALTER_QUEUE ( fila IN VARCHAR2, tentativas IN NUMBER DEFAULT NULL, intervalo IN NUMBER DEFAULT NULL, retenção IN NUMBER DEFAULT NULL, grav_autom IN BOOLEAN DEFAULT TRUE, comentário IN VARCHAR2 DEFAULT NULL); Parâmetro Descrição fila tentativas intervalo retenção grav_autom comentário Nome da fila que será alterada. Número de vezes que a operação REMOVE pode ser enviada à mensagem. O padrão é NULL para indicar que não haverá alteração. Tempo em segundos para a mensagem ser enviada. O padrão é NULL para indicar que não haverá alteração. Tempo em segundos para manter a mensagem. O padrão é NULL para indicar que não haverá alteração. TRUE (padrão) indica que se houver alguma transação pendente esta será concluída antes de alterar a fila e FALSE indica que a alteração fará parte da transação corrente. Há restrições no uso deste parâmetro. Descrição para a fila. 15