Nope : até onde eu sei não há NENHUM parâmetro que controle o tamanho máximo do 
listener.log no RDBMS em si : pode olhar na Documentação que afaik vc não 
achará nenhum...

  O que ocorre é que TANTO o Sistema Operacional (principalmente em controles 
de kernel) quanto o hardware quanto as camadas de software que controlam / 
acessam o hardware (ie, FILESYSTEM) possuem seus limites...  Outro ponto *** 
crucial *** é que o software de RDBMS Oracle ainda tem (ao menos enquanto as 
versões anteriores a 12cR2 não forem Totalmente Aposentadas) que incluir 
libs/headers em 32 bits em SOs de 32-bits por questões de compatibilidade, e 
com software de 32 bits as libraries da linguagem C impõem 32 bits como limite 
máximo para representar um tamanho de arquivo... Da mesma forma, como já dito 
acima, diversos filesystems assumiam 32 bits também como tamanho máximo, o que 
resultava em 4GB (ou 2 GB, dependendo do número de bytes usados para controlar 
tamanho de arquivo), cfrme https://en.wikipedia.org/wiki/Large_file_support 
mostra ....
 ==> Sabendo disso tudo, afaik a Oracle simplesmente assumiu (sem prejuízo para 
os OUTROS limites externo, é claro) 4GB como tamanho máximo até antes da versão 
12cR2 de um arquivo individual, é hard-coded mesmo... só não sei se no 12cR2 
foi introduzido algum parâmetro (oculto que seja) alterando isso, que eu saiba 
não...

 ==> o que vc tem que fazer (não só pro LISTENER.LOG mas TAMBÉM pro alert.log e 
** todos ** os outros arquivos de log gerados no seu ambiente, como logs de 
Agent, de ASM, de Clusterware, todos os logs enfim) é implementar algum rotina 
de ROTATE, ie, um JOB qquer  que MUITO ANTES do arquivo chegar perto dos 4 GB 
(ou menos, se seu SO/filesystem/bitsize/whatever tem restrições menores) salve 
o conteúdo do log file em questão com outro nome, o compacte E o salve/arquive 
nalgum lugar para que seja usado se necessário no futuro....SIM, se vc  não 
fizer isso é bem provável vc ter algum tipo de abort no listener, OU então o 
lsitener passar a rodar sem gerar log nenhum, causando a perda completa dos 
seus elementos de audit/controle de conexão relacionados ao listener...

Especificamente para o listener.log um exemplo da técnica pode ser 
https://blog.dbi-services.com/oracle-12-2-how-to-rotate-the-12-2-listener-log-diag_adr_enabled_listener-off/
 , que usa a técnica de desabilitar temporariamente o log para que o file 
handle seja fechado e o arquivo de log possa ser movido/renomeado... Só tomar 
cuidado porque, tal como a nota metalink "How To Change the Listener Log 
Filename Without Stopping the Listener" (Doc ID 135063.1) nos lembra, se o ADR 
estiver ligado vc pode levar um erro de "TNS-01251: Cannot set trace/log 
directory under ADR, o ADR tem que ser temporariamente desligado antes de se 
fazer isso...

[]s

  Chiappa

OBS : não tem a ver com o que vc perguntou, mas relembro que (ao contrário dos 
arquivos de LOG) para os arquivos de trace aí SIM existem parâmetros que 
controlam o tamanho máximo deles e (em alguns casos) eles podem ser Múltiplos, 
ie  : se um arquivo de trace chegou no limite que vc especificou, um outro 
arquivo é aberto....  Essa última técnica de vc ter múltiplos arquivos de 
resultado/diagnóstico, cada um respeitando o limite máximo que vc indicou, não 
funciona porém para os aqruivos de LOG, via de regra eles são únicos (ie, vc só 
tem UM listener.log pro teu listener, UM alert.log pra sua instância, etc)...
  • ... 'Ednilson Silva' ednilson.si...@jbs.com.br [oracle_br]
    • ... jlchia...@yahoo.com.br [oracle_br]
      • ... Roberto Andrusievicz Junior roberto_andrusievicz_jun...@carrefour.com [oracle_br]
      • ... 'Ednilson Silva' ednilson.si...@jbs.com.br [oracle_br]
        • ... jlchia...@yahoo.com.br [oracle_br]
          • ... 'Ednilson Silva' ednilson.si...@jbs.com.br [oracle_br]
            • ... jlchia...@yahoo.com.br [oracle_br]

Responder a