Oracle + Linux: logrotate

Dica rápida.

Para que seu banco de dados não fique com um Alert Log gigantesco, difícil de ser analisado, você pode utilizar o logrotate padrão do Linux.

Basta adicionar uma entrada (lá no final do arquivo) no arquivo de configuração do logrotate, informando qual é o arquivo, quando ele deve ser rotacionado (eu coloquei daily – diariamente), e quantos dias devem ser guardados (eu coloquei 90). Para conhecer todas as opções, leia o manual (man logrotate), mas só de ler o arquivo de configuração já dá para entender como o básico funciona.

[root@nerv09 ~]# vi /etc/logrotate.conf
[root@nerv09 ~]# cat /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
        minsize 1M
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}

/u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log {
    daily
    rotate 90
}

# system-specific logs may be also be configured here.
[root@nerv09 ~]# ls -lh /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log*

E para executar o rotate agora, pode ser utilizada a opção –force.

[root@nerv09 ~]# ls -lh /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log*
-rw-r-----. 1 oracle oinstall  40K Aug  1 05:50 /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log
-rw-r-----. 1 oracle oinstall 1.7M Jul 31 17:00 /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log-20170731
[root@nerv09 ~]# logrotate --force /etc/logrotate.conf
[root@nerv09 ~]# ls -lh /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log*
-rw-r-----. 1 oracle oinstall    0 Aug  1 05:52 /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log
-rw-r-----. 1 oracle oinstall 1.7M Jul 31 17:00 /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log-20170731
-rw-r-----. 1 oracle oinstall  40K Aug  1 05:50 /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log-20170801
[root@nerv09 ~]#

8 comments

  1. Bom dia Portilho, excelente dica. Porém, pessoalmente prefiro criar um arquivo específico dentro do /etc/logrotate.d

    Por exemplo, crio o arquivo /etc/logrotate.d/oracle:
    /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log {
    daily
    rotate 90
    }
    /u01/app/oracle/diag/rdbms/orcl1/ORCL1/trace/alert_ORCL1.log {
    daily
    rotate 90
    }

    Assim o sysadmin não reclama de mexer num arquivo de configuração do Linux. 🙂

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.