Backup do Weblogic Oracle com Bacula

Visão Geral

Para backups do WebLogic, o Oracle [1] recomenda esses tipos de backup.

  • Off-line (Oracle Fusion Middleware Environment), imediatamente após a instalação e depois de aplicar quaisquer correções ou atualizações. Quando você executa um backup offline, o Servidor de Administração, todos os Servidores Gerenciados no domínio do Oracle WebLogic Server e todos os componentes do sistema nas instâncias do Oracle devem ser encerrados antes do backup dos arquivos.
  • On-line (Oracle Fusion Middleware Environment ou soment Run-Time Artifacts), o que significa que você não encerra o ambiente antes de fazer o backup dos arquivos, portanto, não faça nenhuma alteração de configuração até que o backup seja concluído. Para garantir que nenhuma alteração seja feita no domínio do Oracle WebLogic Server, é recomendável bloquear a configuração do WebLogic Server conforme explicado posteriormente.

Definições de Diretórios Comuns

Segundo a Oracle [2] e a Figura 1, esses são diretórios comuns que serão incluídos no backup, entre outros.

Backup do Weblogic Oracle com Bacula 1

Figura 1. Diretórios Típicos do WebLogic

Job Backup Offline Completo do Ambiente WL pelo Bacula

Depois de instalar e configurar o cliente Bacula Backup no servidor WebLogic, crie um novo FileSet com o seguinte diretório no Include:

/Source_Middleware_Home 

Crie uma nova tarefa de backup do Bacula (por exemplo, WebLogicOfflineBackup). Este trabalho pode ser criado sem agenda definida ou nula, portanto, ele pode ser executado somente quando desejado. Ele também pode ser executado antes e depois dos scripts do Job para interromper e iniciar os serviços do WebLogic de maneira automatizada.

Recarregue o Bacula Director para aplicar as configurações. Execute um backup e restore de teste.

Job Backup Online Completo do Ambiente WL pelo Bacula

Instale o Plugin de Backup do Banco de Dados do Bacula Client e do Bacula Enterprise (se disponível) em todos os hosts do WebLogic.

Crie um script lock.sh e um script unlock.sh (por exemplo, /opt/bacula/scripts), para que o Bacula possa bloquear configurações de domínio com uma execução de script ClientRunBeforeJob (lock) e um ClientRunAfterJob (configurações de desbloqueio), com os comandos wlst de exemplo [3].

# Obtain a lock on the current configuration (http://sqltech.cl/doc/oas11gR1/web.1111/e13813/reference.htm#WLSTC322)
startEdit([waitTimeInMillis],[timeoutInMillis], [exclusive])

# Release your lock on the configuration (http://sqltech.cl/doc/oas11gR1/web.1111/e13813/reference.htm#WLSTC326)
stopEdit([defaultAnswer])

Crie outro script para execução do ClientRunBeforeJob para criar um registro do seu ambiente Oracle Fusion Middleware (https://docs.oracle.com/cd/E15523_01/core.1111/e10064/backup.htm#ASTDA405). Essas informações (nome do host, nome de domínio, nome do host virtual, tipo de instalação, etc.) são necessárias quando necessário para restaurar e recuperar o ambiente do Oracle Fusion Middleware. Você pode descarregar essas informações para um arquivo de texto / etc (que será incluído no backup do bacula) ou enviar por e-mail.

Na configuração do diretor do Bacula, crie um FileSet que inclua o home do Middleware (MW_HOME), o diretório OraInventory, os arquivos OraInst.loc e oratab (etc):

/MW_HOME/
/scratch/oracle/OraInventory
/etc

Observação 1: se o domínio não estiver localizado na home do Middleware, inclua o domínio do Servidor de Administração separadamente. Por exemplo:

/MW_HOME/user_projects/domains/domain_name/*

Observação 2: se a home page da instância do Oracle não estiver localizada na home do Middleware, faça backup da home page da instância do Oracle. A home page da instância do Oracle contém informações de configuração sobre os componentes do sistema, como o Oracle HTTP Server ou o Oracle Internet Directory.

/ORACLE_INSTANCE/*

Observação 3: se um servidor gerenciado não estiver localizado no domínio, inclua o diretório do servidor gerenciado. Por exemplo:

/MW_HOME/user_projects/domains/domain_name/servers/server_name/*

No mesmo FileSet, adicione uma configuração de Plugin* com seu método de plug-in do EBacula Oracle DB Backup favorito:

Plugin = "oracle: mode=rman"

*Se estiver usando o Bacula Community ou se você não tiver o plugin Oracle, certifique-se de configurar uma cópia de execução e destino do backup rman.

Seu FileSet final deve ser algo assim:

FileSet {
  Name = WebLogicOnlineConfigurations
  Include {
    Options {
      Signature = MD5
    }
  Plugin = "oracle: mode=rman"
  File = /MW_HOME/
  File = /scratch/oracle/OraInventory
  File = /etc
  }
}

Configure um Job do Bacula Backup com todas as diretivas de execução do script ClientRun e com o FileSet criado. Forneça o cronograma desejado. Recarregue o Diretor do Bacula para aplicar as mudanças.

Execute um backup ad hoc e restaure para fins de teste.

Considerações para Windows

Além de todas as recomendações anteriores, crie outro script ClientRunvefore Job para exportar as seguintes chaves do Registro:

HKEY_LOCAL_MACHINESoftwareoracle
HKEY_LOCAL_MACHINESystemCurrentControlSetServices

Para exportar uma chave, use o seguinte comando:

regedit /E C:oracleregistry.reg HKEY_LOCAL_MACHINESoftwareoracle
regedit /E C:oracleregistry.reg HKEY_LOCAL_MACHINESystemCurrentControlSetServices

Certifique-se de fazer backup do arquivo de exportação do Registro gerado por script.

Job de Backup Online Apenas de Run-Time Artifacts do Bacula

Instale o Bacula Clients, o Oracle Plugin e crie (se você não o fez) as mesmas configurações de domínio lock/unlock e grave os scripts de geração criados no tópico anterior para evitar inconsistência.

Crie um FileSet Bacula como:

FileSet {
  Name = WebLogicOnlineConfigurations
  Include {
    Options {
      Signature = MD5
    }
  Plugin = oracle: "mode=rman"
  File = /MW_HOME/user_projects/domains/domain_name/*
  File = /ORACLE_INSTANCE/*
  }
}

Configure um trabalho de backup do Bacula com todas as diretivas de execução do script ClientRun e com o FileSet criado. Forneça o Schedule desejado. Recarregue o Diretor do Bacula para aplicar as mudanças.

Execute um backup ad hoc e restaure o trabalho para fins de teste.

Restore

Consulte a documentação oficial do Oracle Disaster Recovery disponível em https://docs.oracle.com/cd/E15523_01/core.1111/e10064/backup.htm#ASTDA394.

Use o Bacula para restaurar as pastas e o banco de dados necessários.

Referências

  1. https://docs.oracle.com/cd/E15523_01/core.1111/e10064/backup.htm#ASTDA193
  2. https://docs.oracle.com/cd/E17904_01/install.1111/b32474/concepts.htm#ASINS264
  3. http://sqltech.cl/doc/oas11gR1/web.1111/e13715/config_wls.htm

Disponível em: pt-brPortuguêsenEnglish (Inglês)esEspañol (Espanhol)

Deixe uma resposta