Na administração de grandes ambientes OLTP é comum nos depararmos com grandes log de listener que pode impactar em espaço em disco, em alguns casos é impossível abrir o log de tão grande que o mesmo se encontra.
Porém, como realizar uma manutenção para limpeza destes logs em ambientes 24x7 onde não temos a possibilidade de realizar uma parada do ambiente?
O primeiro passo é identificar o log do listener, que por padrão encontra-se em $ORACLE_HOME/network/admin/listener.log na versão 11g ou em $ORACLE_HOME/network/log/listener.log na versão 10g. Outro método bastante fácil para localizar é verificando o status do listener através do comando lsnrctl status.
Banco=teste-> lsnrctl status LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-DEC-2014 15:43:23 Copyright (c) 1991, 2013, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=teste)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production Start Date 14-AUG-2014 18:44:45 Uptime 130 days 19 hr. 58 min. 37 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /orahmg01/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora Listener Log File /orahmg01/app/oracle/diag/tnslsnr/teste/listener/alert/log.xml
Para desabilitar a gravação, basta executar o comando lsnrcl set log_status off
Banco=teste-> lsnrctl set log_status off LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-DEC-2014 15:49:07 Copyright (c) 1991, 2013, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=teste)(PORT=1521))) LISTENER parameter "log_status" set to OFF The command completed successfully Banco=teste->
Após realizar o processo acima, podemos realizar o processo de limpeza, seja apagando, renomeando ou movendo o arquivo. Por precaução recomendo sempre manter uma cópia compactada do último mês, porém a politica de retenção pode ser definida de acordo com sua necessidade.
No meu exemplo, estarei apenas renomeando o log:
Banco=teste-> ls -ltr total 32 drwxr-xr-x 2 oracle oinstall 4096 Oct 14 2013 samples -rw-r--r-- 1 oracle oinstall 205 Oct 14 2013 shrept.lst -rw-r--r-- 1 oracle oinstall 804 Oct 9 11:09 listener.ora -rw-r--r-- 1 oracle oinstall 46 Oct 9 11:09 sqlnet.ora -rw-r--r-- 1 oracle oinstall 7266 Oct 9 11:09 tnsnames.ora Banco=teste-> Banco=teste-> Banco=teste-> mv listener.ora listener.23122014 Banco=teste-> ls -ltr total 32 drwxr-xr-x 2 oracle oinstall 4096 Oct 14 2013 samples -rw-r--r-- 1 oracle oinstall 205 Oct 14 2013 shrept.lst -rw-r--r-- 1 oracle oinstall 804 Oct 9 11:09 listener.23122014 -rw-r--r-- 1 oracle oinstall 46 Oct 9 11:09 sqlnet.ora -rw-r--r-- 1 oracle oinstall 7266 Oct 9 11:09 tnsnames.ora Banco=teste->
Após o processo basta apenas ativar a gravação do arquivo com o comando lsnrctl set log_status on que um novo arquivo listener.log será gerado.
Banco=teste lsnrctl set log_status on LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 23-DEC-2014 16:02:25 Copyright (c) 1991, 2013, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=teste)(HOST=)(PORT=1521)) LISTENER parameter "log_status" set to ON The command completed successfully Banco=teste Banco=hmgb-> ls -ltr total 32 drwxr-xr-x 2 oracle oinstall 4096 Oct 14 2013 samples -rw-r--r-- 1 oracle oinstall 205 Oct 14 2013 shrept.lst -rw-r--r-- 1 oracle oinstall 804 Oct 9 11:09 listener.23122014 -rw-r--r-- 1 oracle oinstall 46 Oct 9 11:09 sqlnet.ora -rw-r--r-- 1 oracle oinstall 7266 Oct 9 11:09 tnsnames.ora -rw-r--r-- 1 oracle oinstall 0 Dec 23 16:02 listener.ora
Este é um processo bastante simples que não causa impacto no ambiente e pode liberar um bom espaço em disco, dependendo do tamanho do log atual do listener.
Comentários
Postar um comentário