Purge ADRCI - Shell Script

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
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.

Purge ADRCI - Shell Script

— Autor: Leonardo Lopes 06/12/2023 17H:19

1)
Non-Prod.