Implementar a Replicação do DBFS (Oracle Database File System)
Qualquer replicação para stand-by implica duas etapas neste modelo: da pasta de origem do principal para a montagem DBFS intermediária e, em seguida, no site secundário, da montagem DBFS para a pasta de destino do stand-by. As cópias intermediárias são feitas usando rsync. Como essa é uma cópia local e de baixa latência do rsync, alguns dos problemas que surgem em uma operação de cópia remota do rsync são evitados com esse modelo.
Observação:
Esse método não é suportado com o Oracle Autonomous Database, que não permite conexões do DBFS.replica-mid-tier-dbfs-oracle.zip
As vantagens de implementar a réplica de camada intermediária com o DBFS são:
- Esse método aproveita a robustez da réplica do Oracle Data Guard.
- O armazenamento real de camada intermediária pode permanecer montado nos nós secundários. Não há etapas adicionais para anexar ou montar o armazenamento no secundário em cada operação de switchover ou failover.
Estas são as considerações para implementar a réplica de camada intermediária com o DBFS:
- Este método requer um Oracle Database com o Oracle Data Guard.
- Os hosts de camada intermediária precisam do cliente Oracle Database para montar o DBFS.
- O uso do DBFS para replicação tem implicações das perspectivas de configuração, armazenamento de banco de dados e ciclo de vida. Requer uma instalação do cliente Oracle Database nos hosts de camada intermediária, certa manutenção do banco de dados (para limpar, compactar e reduzir o armazenamento de tabelas) e uma boa compreensão de como os pontos de montagem DBFS se comportam.
- Os diretórios DBFS só podem ser montados se o banco de dados estiver aberto. Quando o Oracle Data Guard não é um Active Data Guard, o banco de dados stand-by está no estado de montagem. Portanto, para acessar a montagem do DBFS no site secundário, você deve converter o banco de dados em um stand-by snapshot. Quando o Active Data Guard é usado, o sistema de arquivos pode ser montado para leituras e não há necessidade de fazer a transição para um snapshot.
- Não é recomendável usar o DBFS como uma solução de uso geral para replicar todos os artefatos (especialmente arquivos de runtime) para o stand-by. O uso do DBFS para replicar os binários é um exagero. No entanto, essa abordagem é adequada para replicar alguns artefatos, como a configuração, quando outros métodos, como replicação de armazenamento ou
rsync, não atendem às necessidades do sistema. - É responsabilidade do usuário criar os scripts personalizados para cada ambiente e executá-los periodicamente.
- É responsabilidade do usuário implementar uma maneira de reverter a direção da réplica.
Configurar Replicação para Sistema de Arquivos de Banco de Dados
Essa implementação usa a tecnologia rsync e segue o modelo peer-to-peer. Neste modelo, a cópia é feita diretamente entre os hosts pares de camada intermediária. Cada nó tem conectividade SSH com seu par e usa comandos rsync no SSH para replicar os artefatos principais do arquivo de camada intermediária.
É necessário implementar a réplica de camada intermediária com o DBFS:
- Uma instalação do cliente Oracle Database nos hosts de camada intermediária que executam a cópia, tanto no principal quanto no secundário.
- Um sistema de arquivos DBFS criado no banco de dados.
- Uma montagem do DBFS nos hosts de camada intermediária que executam as cópias, tanto no principal quanto no secundário. Isso monta o sistema de arquivos DBFS do banco de dados. Esse sistema de arquivos pode ser montado em mais de um host, pois o DBFS é um sistema de arquivos compartilhável.
- Scripts que copiam os artefatos de arquivo de camada intermediária para a montagem DBFS no site principal.
- Scripts que copiam os artefatos de arquivo de camada intermediária da montagem DBFS para as pastas no site secundário. Dependendo da implementação, esse método pode exigir conectividade SQL*net entre os hosts de camada intermediária e o banco de dados remoto para operações de banco de dados, como conversões de atribuição.
- Uma forma de gerenciar as informações específicas do site, excluindo essas informações da cópia ou atualizando-as com as informações apropriadas após a réplica.
- Programe esses scripts para serem executados continuamente.
- Um mecanismo para alterar a direção da réplica após um switchover ou failover.
Observação:
O exemplo a seguir se aplica aos sistemas Oracle WebLogic. Você pode usá-lo como referência para copiar outras pastas do sistema de camada intermediária por meio do DBFS, mas esse exemplo específico usa um script que replica a pasta de domínio do Administrador WebLogic para a secundária por meio do DBFS.Este exemplo mostra como replicar a pasta de domínio do host de Administração WebLogic por meio do DBFS. O conteúdo localizado fora da pasta de domínio, bem como o conteúdo em outros hosts, não é incluído neste exemplo. A pasta de domínio não reside diretamente no DBFS; a montagem do DBFS é apenas uma pasta intermediária para armazenar uma cópia da pasta de domínio.
Este exemplo fornece um script para executar essas ações, que devem ser executadas periodicamente nos sites principal e stand-by. Esse script copia a pasta de domínio Administração WebLogic, ignorando alguns itens como arquivos tmp, .lck, .state e o arquivo tnsnames.ora. O procedimento consiste no seguinte:
- Quando o script é executado no host de Administração WebLogic do site principal, o script copia a pasta de domínio WebLogic para a pasta DBFS.
- Os arquivos copiados no DBFS, à medida que são armazenados no banco de dados, são transferidos automaticamente para o banco de dados stand-by por meio do Oracle Data Guard.
- Quando o script é executado no host de administração WebLogic do site secundário:
- O script converte o banco de dados stand-by em um stand-by snapshot.
- Em seguida, ele monta o sistema de arquivos DBFS no banco de dados stand-by.
- A pasta de domínio replicada agora está disponível nesta pasta DBFS. O script o copia da montagem do DBFS para a pasta de domínio real.
- Por fim, o script converte o banco de dados stand-by em um stand-by físico novamente.
- Em caso de alteração de função, o script adapta automaticamente a execução à nova função. Ele reúne a atribuição real do site verificando a atribuição do banco de dados.
Este script replica somente a pasta de domínio do host de Administração WebLogic. O conteúdo na pasta DOMAIN_HOME/config é copiado automaticamente para todos os outros nós que fazem parte do domínio WebLogic quando os servidores gerenciados são iniciados. Os arquivos fora desta pasta e os arquivos localizados em outros hosts não são replicados e precisam ser sincronizados separadamente.
Para operações de implantação do aplicativo, use a opção de implantação Fazer Upload de seus arquivos na Console de Administração WebLogic. Dessa forma, os arquivos implantados são colocados no diretório de upload do Servidor de Administração ($DOMAIN_HOME/servers/admin_server_name/upload) e o script de réplica de configuração os sincronizará com o site stand-by.
Este exemplo fornece outro script para instalar o Cliente de BD e configurar uma montagem DBFS nos hosts de camada intermediária. A imagem é um exemplo de um sistema Oracle WebLogic Server para OCI com replicação DBFS.
wls-dbfs-replication-oracle.zip
Execute o seguinte para usar o método DBFS para replicar o domínio WebLogic:
Validar Replicação para Sistema de Arquivos de Banco de Dados
Em uma operação de switchover ou failover, as informações replicadas devem estar disponíveis e utilizáveis no site stand-by antes do início dos processos. Isso também é necessário quando você valida o sistema secundário (abrindo o banco de dados stand-by no modo snapshot).
Nesta implementação, o armazenamento está sempre disponível no stand-by; você não precisa anexar nem montar nenhum volume. A única ação que você precisa é garantir que ele contenha a versão mais recente do conteúdo.
Execute o seguinte para usar o conteúdo replicado no stand-by:
Executar Replicação Contínua para o Sistema de Arquivos do Banco de Dados
Execute o script de replicação periodicamente para manter o domínio secundário em sincronia com o principal.
rsync nos hosts de camada intermediária:
- Use o crontab do SO ou outra ferramenta de programação para programar replicação. Deve permitir que os scripts concluam a replicação. Caso contrário, os cargos subsequentes poderão se sobrepor.
- Mantenha os processos de camada intermediária interrompidos no site stand-by. Se os servidores estiverem ativos no site stand-by enquanto as alterações forem replicadas, as alterações entrarão em vigor na próxima vez que forem iniciadas. Inicie-os apenas ao validar o site stand-by ou durante o procedimento de switchover ou failover.
- Manter as informações específicas de cada site e mantê-las atualizadas. Por exemplo, ignore o
tnsnames.orada cópia, para que cada sistema tenha seus detalhes de conectividade. Se você executar uma alteração notnsnames.oraem principal (por exemplo, adicionar um novo alias), atualize manualmente otnsnames.oraem secundário adequadamente. - Após um switchover ou failover, reverta a direção da réplica. Isso depende da implementação específica. Os scripts podem usar uma verificação dinâmica para identificar quem é o site ativo ou você pode executar uma alteração manual após um switchover ou failover (por exemplo, desabilitar e habilitar os scripts apropriados). No exemplo fornecido, o script
config_replica.shadapta automaticamente a execução à atribuição real do site, verificando a atribuição do banco de dados local.

