Olá pessoal,
Tudo bem?
Nas versões mais recentes de Grid Infrastructure a Oracle mudou o caminho default do backup do OCR do filesystem para o ASM. Um dos objetivos foi garantir que o backup não esteja mais num filesystem local em algum dos nós, pois, caso você perca o disco desse nó, você poderia também perder também os backups, o que não é uma boa coisa. 🙂
Mas, mesmo assim, se você quiser, você pode copiar o backup do ASM para um filesystem (seja ele local ou não, exemplo: NFS).
Um dos objetivos de ter uma cópia do backup em filesystem é solicitar time de backup para garantir que este filesystem seja levado para fita.
Bom, dito isso, qual é a estratégia?
Criar um shell script e habilitar ele na CRON em TODOS os nós do cluster.
Todos?
Isso mesmo!
Terei então o job rodando em mais de um servidor?
Não!
Como?
O shell script possuirá a inteligência de só ser executado à partir do master node do cluster. Desta forma, você pode deixar a entrada na CRON habilitada em todos os nós do cluster, mas apenas um nó executará o shell (o master node). Além disso, o shell script sempre copiará o backup mais recente do OCR.
Bom, vamos lá:
#!/bin/bash export GRID_HOME=/oracle/app/122/grid export PATH=/oracle/app/122/grid/bin:$PATH export COPY_LOCATION=/oracle/backup export MASTER_NODE=`oclumon manage -get master | grep Master | awk '{print $3}' | cut -d "." -f1 | sed -e 's/\(.*\)/\U\1/'` export HOST=`echo $HOSTNAME | cut -d "." -f1 |sed -e 's/\(.*\)/\U\1/'` if [ "$HOST" == "$MASTER_NODE" ]; then OCR_BACKUP_DATE=`ocrconfig -showbackup | awk '{print $2"_" $3}' | grep "/" | head -1 | sed -r 's/\///g' | sed -r 's/\://g'` OCR_BACKUP=`ocrconfig -showbackup | awk '{print $4}' | grep "+" | head -1` ocrconfig -copy $OCR_BACKUP $COPY_LOCATION/ocr_backup_$OCR_BACKUP_DATE else exit fi
Linhas que você precisa se preocupar em alterar:
export GRID_HOME para o local onde está o seu GRID_HOME
export COPY_LOCATION para o filesystem que seja armazenar a cópia do seu backup do OCR.
Um abraço!
Vinicius