Olá, nesse artigo iremos criar um Shell Script para automação expurgo dos arquivos de log, trace files e etc.
Considerações:
O script abaixo deve ser validado num ambiente não produtivo 1), antes de ser aplicado em produção.
Ele define as variáveis de ambiente necessárias baseado nas instâncias ativas (DB e ASM) no momento de sua execução.
Referência:
ADRCI: ADR Command Interpreter
1 - Crie um novo arquivo com o seguinte conteúdo:
mkdir -p /home/oracle/scripts
vi /home/oracle/scripts/purge_adrci.sh
#!/bin/bash ################################# # DBAHero # # Author: Leonardo Lopes # # Date: 06/12/2023 # # v1 # ################################# vORASID=`ps -ef | grep pmon | grep -v "grep" | awk '{print $8}' | cut -d '_' -f3` vRET=1440 for db in ${vORASID}; do ORAENV_ASK=NO ORACLE_SID=${db} . oraenv > /dev/null vADRCI=${ORACLE_HOME}/bin/adrci vADRHOME=`echo -e "show homes" | ${vADRCI} | grep -Eiv "adrci|ADR|Copy" | awk NF` for home in ${vADRHOME};do echo "Purging the following path: [ ${home} ], retention period in minutes: [ ${vRET} ]" echo -e "set homepath ${home}; purge -age ${vRET}" | $vADRCI | grep -Eiv "adrci|ADR|Copy" | awk NF; done done
3 - Aplique as permissões de execução ao arquivo:
chmod +x /home/oracle/scripts/purge_adrci.sh
4 - Agora vamos agendar a execução na crontab do usuário oracle no sistema operacional:
crontab -e
5 - Pressione a tecla <i> para entrar no modo de inserção de texto.
6 - Em uma nova linha da crontab, cole o conteúdo abaixo:
* */12 * * * bash /home/oracle/scripts/purge_adrci.sh >/dev/null 2>&1
7 - Salve a nova entrada pressionando a tecla <ESC> para sair de modo de inserção e voltar ao modo de navegação, e em seguida digite:
:wq!
8 - Pressione a tecla: <ENTER>.
- Até a próxima.
— Autor: Leonardo Lopes 06/12/2023 17H:19