Automatize Alterações de Atribuição de Banco de Dados para o Oracle Data Guard Configurado Manualmente em Serviços de Banco de Dados do OCI Usando o OCI Full Stack DR e Scripts Personalizados
Introdução
O Oracle Cloud Infrastructure Full Stack Disaster Recovery (OCI Full Stack DR) orquestra a transição de computação, banco de dados e aplicativos entre regiões da Oracle Cloud Infrastructure (OCI) de todo o mundo com um único clique. Os clientes podem automatizar as etapas necessárias para recuperar um ou mais sistemas de negócios sem reprojetar ou rearquitetar a infraestrutura, os bancos de dados ou as aplicações existentes e sem precisar de servidores especializados de gerenciamento ou conversão.
O OCI Full Stack DR oferece suporte totalmente integrado para vários serviços do Oracle Database na OCI. Esses bancos de dados podem ser adicionados como membros de um grupo de proteção do OCI Full Stack DR, permitindo operações coordenadas de recuperação de desastres.
Para serviços gerenciados de Bancos de Dados Oracle no OCI, é altamente recomendável configurar o Oracle Data Guard usando a Console do OCI, a CLI do OCI (Oracle Cloud Infrastructure Command Line Interface) ou SDKs do OCI. Isso garante que o OCI Full Stack DR possa detectar automaticamente a configuração do Data Guard e gerar grupos de planos integrados para transições de atribuição como parte do seu plano de DR.
No entanto, há cenários em que a configuração manual do Oracle Data Guard (fora das interfaces nativas da OCI) se torna necessária devido a requisitos técnicos ou operacionais específicos, como:
- Restrições específicas do aplicativo.
- Configurações stand-by em cascata.
- Uso de versões mais antigas do banco de dados devido à compatibilidade do aplicativo.
Nesses casos, embora o plano de controle de serviços do OCI Database possa não reconhecer a configuração do Oracle Data Guard, o OCI Full Stack DR ainda oferece flexibilidade. Você pode lidar com transições de função criando scripts personalizados e integrando-os a grupos de planos definidos pelo usuário em seus planos de DR.
Observe que essa solução não é compatível com os serviços do Oracle Database Cloud em que as configurações do Data Guard são gerenciadas por meio da Console do OCI, SDKs ou APIs.
Neste tutorial, analisaremos uma abordagem padronizada para gerenciar as transições de atribuição do Oracle Data Guard usando scripts de handler de banco de dados personalizados para serviços do OCI Database nos quais o Oracle Data Guard foi configurado manualmente.
Observação: Esta solução de script personalizado se aplica aos seguintes serviços do OCI Database:
- Oracle Base Database Service
- Oracle Exadata Database Service on Dedicated Infrastructure
- Oracle Exadata Database Service on Exascale Infrastructure
- Oracle Exadata Database Service on Cloud@Customer
Descrição de Arquitetura
Neste tutorial, usaremos o Oracle Base Database Service com dois Sistemas de BD implantados em duas regiões da OCI, nas quais o Oracle Data Guard foi configurado manualmente.
Figura A: Configuração personalizada do Data Guard usando o Oracle Base Database Service
Definições e Premissas em todo o Tutorial
-
Regiões:
-
Região 1 (Ashburn): Ashburn servirá inicialmente como a região principal.
-
Região 2 (Phoenix): Phoenix funcionará inicialmente como a região stand-by.
-
-
Compartimentos: Você pode organizar essa implantação e o OCI Full Stack DR em qualquer esquema de compartimento que funcione dentro dos seus padrões de governança de TI. Optamos por organizar todos os recursos da OCI para este tutorial em um único compartimento.
Objetivos
As seguintes tarefas serão abordadas neste tutorial:
- Tarefa 1: Verifique a configuração do Oracle Data Guard e atualize as tags.
- Tarefa 2: Criar e associar grupos de proteção de DR.
- Tarefa 3: Adicionar membros aos grupos de proteção de DR.
- Tarefa 4: Criar e personalizar os planos de DR na Região 2.
- Tarefa 5: Executar pré-verificações para os planos de DR na Região 2.
- Tarefa 6: Execute o plano de switchover na Região 2.
- Tarefa 7: Criar e personalizar os planos de DR na Região 2.
Pré-requisitos
Usaremos os seguintes recursos para começar com o tutorial.
| Recursos | Região 1 - Ashburn | Região 2 - Phoenix |
|---|---|---|
| Compartimento | app | app |
| Sistema de Banco de Dados | adghol-12345 | adghol-12345 |
| Nome do Banco de Dados | adgol | adgol |
| Nome exclusivo do Banco de Dados | adghol-site0 | adghol-site1 |
| Atribuição de BD | primário | standby |
| VM de Computação | script-iad | script-phx |
| Bucket | IAD | PHX |
Observação: Conclua todos os pré-requisitos necessários antes de continuar. Essas etapas estabelecem a base para uma configuração tranquila e bem-sucedida do OCI Full Stack DR.
-
Acesso Admin ou Políticas Obrigatórias do Oracle Cloud Infrastructure Identity and Access Management (OCI IAM).
Certifique-se de ter privilégios de administrador ou configurar as políticas e os grupos dinâmicos necessários do OCI IAM para usar o OCI Full Stack DR. Nesta solução, o script do handler do banco de dados inicia internamente uma instância de contêiner do OCI, portanto, adicione políticas adequadamente.
Observação: Substitua todas as ocorrências de
<compartment_ocid>e<compartment_name>pelo OCID e nome reais do compartimento do OCI.-
Criar um Grupo Dinâmico: Crie um grupo dinâmico com o nome de exemplo (
FullStackDR_Database_DG) e adicione as seguintes regras de correspondência:Any {instance.compartment.id = '<compartment_ocid>'} Any {resource.type = 'instance', resource.compartment.id = '<compartment_ocid>'} Any {resource.type = 'computecontainerinstance', resource.compartment.id = '<compartment_ocid>'} Any {resource.type = 'drprotectiongroup', resource.compartment.id = '<compartment_ocid>'} -
Criar uma Política do OCI IAM: Crie uma política com o nome de exemplo (
FullStackDR_Database_Group_Policies) e adicione as seguintes instruções de permissão:Allow dynamic-group FullStackDR_Database_DG to read secret-family in compartment <compartment_name> Allow dynamic-group FullStackDR_Database_DG to manage virtual-network-family in compartment <compartment_name> Allow dynamic-group FullStackDR_Database_DG to manage instance-agent-command-family in compartment <compartment_name> Allow dynamic-group FullStackDR_Database_DG to manage instance-agent-command-execution-family in compartment <compartment_name> Allow dynamic-group FullStackDR_Database_DG to manage objects in compartment <compartment_name> Allow dynamic-group FullStackDR_Database_DG to manage database-family in compartment <compartment_name> Allow dynamic-group FullStackDR_Database_DG to manage compute-container-family in compartment <compartment_name>
Para obter mais informações, consulte Políticas de Recuperação de Desastres do OCI – Documentos Oficiais e Configurando Políticas do IAM (Blog da Oracle).
-
-
Provisione instâncias do OCI Compute em ambas as regiões: crie uma instância do OCI Compute em cada região para servir como Jumphost para hospedar e executar as etapas detalhadas do scripts.For. Consulte Criar Instância do OCI. Para simplificar, vamos nos referir a essa instância do OCI Compute como a Jumphost em todo o tutorial.If em que você já tem instâncias existentes do OCI Compute que podem funcionar como Jumphost. Você pode ignorar essa etapa. Verifique se o Jumphost tem o Oracle Cloud Agent em execução e se o plug-in de comando de execução está ativado. Para obter mais detalhes, consulte Oracle Cloud Agent.
-
Acesso para Executar Comandos em Instâncias do OCI Compute: Certifique-se de configurar os pré-requisitos do comando de execução no jumphost, pois estamos usando grupos de planos definidos pelo usuário para executar scripts durante operações de DR. Para obter mais informações, consulte Executando Comandos em uma Instância.
-
Instale a CLI do OCI no triunfo em ambas as regiões: Com base no sistema operacional do triunfo, instale a CLI do OCI em ambas as regiões e certifique-se de que você possa chamar comandos da CLI do OCI. No script, usaremos o controlador de instâncias. Para obter mais informações, consulte Instalação da CLI do OCI.
-
Configurar VCNs em ambas as Regiões com Pareamento Remoto de VCN: Crie VCNs nas regiões principal e stand-by e configure o pareamento remoto de VCN. Isso é necessário para configurar o Oracle Data Guard entre regiões. Para obter mais informações, consulte Configuração de rede do OCI Base DB.
-
Configuração Manual do Oracle Data Guard: Configure manualmente a configuração do Oracle Data Guard com base nos requisitos com o Oracle Data Guard Broker. Para obter mais informações, consulte Oracle Data Guard Broker and Oracle Clusterware.
-
Faça Download dos Scripts do Handler de Banco de Dados no Jumphost: Os scripts devem ser baixados e mantidos no jumphost em ambas as regiões.
-
Faça download dos scripts do handler de banco de dados do Oracle Data Guard no seguinte repositório: Scripts do handler de banco de dados do Data Guard.
-
Copie os scripts para o diretório
/home/opc/(ou qualquer outro caminho preferencial) no triunfo em ambas as regiões. -
Certifique-se de que os arquivos de script tenham permissões executáveis.
-
full_stack_dr_non_std_db_handler.pyé o script Python responsável por tratar os scripts bash associados à atribuição transitions.The do Oracle Data Guard são fornecidos como modelos e podem ser modificados para atender aos seus requisitos específicos. Não modifique o próprio script de alteração de atribuição Python.
-
-
Criar Vault e Segredos do OCI: Você deve criar um Vault do OCI e armazenar credenciais de banco de dados como segredos em ambas as regiões.
- Crie um Vault do OCI em cada região usando a Console ou a CLI do OCI.
- Crie um segredo no vault para armazenar a senha do usuário
SYSdo banco de dados.
Para obter mais informações, consulte OCI Vaults.
-
Verificações de Conectividade do Jumphost: Certifique-se de que os serviços OCI Database, OCI Vault e OCI Container Instance estejam acessíveis na instância de computação. Isso é necessário porque os scripts do OCI Full Stack DR executam introspecção para extrair detalhes do banco de dados das regiões Principal e Stand-by.
-
A conectividade deve funcionar a partir do triunfo. Execute os seguintes comandos do jumphost.
# Primary Region curl -v telnet://database.<primary_region>.oraclecloud.com:443 curl -v telnet://secrets.vaults.<primary_region>.oci.oraclecloud.com:443 curl -v telnet://iaas.<primary_region>.oraclecloud.com:443 curl -v telnet://compute-containers.<primary_region>.oci.oraclecloud.com:443 # Standby Region curl -v telnet://database.<standby_region>.oraclecloud.com:443 curl -v telnet://secrets.vaults.<standby_region>.oci.oraclecloud.com:443 curl -v telnet://iaas.<standby_region>.oraclecloud.com:443 curl -v telnet://compute-containers.<standby_region>.oci.oraclecloud.com:443Observação: Substitua
<primary_region>e<standby_region>pelos identificadores reais da região do OCI.
Por exemplo:us-ashburn-1para Ashburnus-phoenix-1para Phoenix
Para obter uma lista completa, consulte Identificadores de Região do OCI.
Saída Esperada: Cada comando deve retornar uma mensagem semelhante a
Connected to ....Se alguma conexão falhar, verifique as listas de segurança, as tabelas de roteamento e a configuração do gateway de serviço da VCN/sub-redes do jumphost.
-
-
Criar buckets do serviço Object Storage: Crie buckets do OCI Object Storage nas regiões principal e stand-by para armazenar logs gerados pelo OCI Full Stack DR durante operações de recuperação, conforme explicado aqui: Preparando a Localização do Log para Logs de Operação.
-
Uso e Personalização do Script do Handler de Banco de Dados: Você pode fazer download dos scripts do handler de banco de dados do repositório GitHub mencionado. Este é o uso do script do handler do banco de dados e os parâmetros necessários.
Fig B: Uso do script do handler de BDAs opções
--db_operationsuportadas são:- SWITCHOVER
- SWITCHOVER_PRECHECK
- FAILOVER
- FAILOVER_PRECHECK
- CONVERT_PHYSICAL_TO_SNAPSHOT_STANDBY
- CONVERT_PHYSICAL_TO_SNAPSHOT_STANDBY_PRECHECK
- REVERT_SNAPSHOT_TO_PHYSICAL_STANDBY_PRECHECK
- REVERT_SNAPSHOT_TO_PHYSICAL_STANDBY
O OCI Full Stack DR espera que todos os parâmetros necessários sejam passados ao executar o script do handler do banco de dados. Para melhor usabilidade e repetibilidade, é recomendável criar um script bash wrapper que:
- Fornece os parâmetros necessários.
- Permite fazer log para auditoria e diagnóstico e solução de problemas.
Exemplo: Script de Switchover de Banco de Dados (
db-switchover-iad-phx.sh).#!/bin/bash # Define log file with date and time LOG_FILE="db-switchover-iad-phx-$(date +%Y%m%d_%H%M%S).log" # Define Python script and argument PYTHON_SCRIPT="full_stack_dr_non_std_db_handler.py" ARGUMENT="--database_ocid="ocid1.database.oc1.phx.xxxxxxxx" --vault_ocid="ocid1.vaultsecr et.oc1.phx.xxxxx" --region="us-phoenix-1" --primary_db_unique_name="adghol_site0" --st andby_db_unique_name="adghol_site1" --drpg_ocid="ocid1.drprotectiongroup.oc1.phx.axxxxxxax " --db_operation="SWITCHOVER" --auth_type=INSTANCE_PRINCIPAL" # Execute Python script and log output echo "Executing Python script: $PYTHON_SCRIPT with argument: $ARGUMENT" | tee -a $LOG_FILE /usr/bin/python3 $PYTHON_SCRIPT $ARGUMENT 2>&1 | tee -a $LOG_FILE echo "Execution completed. Logs saved in $LOG_FILE"Observação: Armazene esse script wrapper no mesmo local que os scripts do handler do banco de dados e certifique-se de que ele seja executável. Os OCIDs são anonimizados no script.
chmod +x db-switchover-wrapper.shMapeamento do Script do Plano de DR em que o BD em execução na Região 1 (Ashburn) é Principal e a Região 2 (Phoenix) é Stand-by
Tipo de Plano de DR Instância do Alvo Nome do script Comentário Switchoverscript-phxdb-prechk-switchover-iad-phx.shPré-verificar Switchover do BD de IAD para PHX Switchoverscript-phxdb-switchover-iad-phx.shSwitchover do BD de IAD para PHX Failoverscript-phxdb-prechk-failover-iad-phx.shVerificar Failover do BD de IAD para PHX Failoverscript-phxdb-failover-iad-phx.shFailover do BD de IAD para PHX Start drillscript-phxdb-prechk-startdrill-phx.shIniciar Drill DR Prechk em PHX Start drillscript-phxdb-startdrill-phx.shIniciar Drill DR em PHX Stop drillscript-phxdb-prechk-stopdrill-phx.shPré-verificar Interrupção de Drill DR em PHX Stop drillscript-phxdb-stopdrill-phx.shInterromper Drill DR em PHX Mapeamento do Script do Plano de DR em que o BD em execução na Região 2 (Phoenix) é Principal e a Região 2 (Ashburn) é Stand-by
Tipo de Plano de DR Instância do Alvo Nome do script Comentário Switchoverscript-iaddb-prechk-switchover-phx-iad.shVerificar Switchover do BD de PHX para IAD Switchoverscript-iaddb-switchover-phx-iad.shSwitchover do BD de PHX para IAD Failoverscript-iaddb-prechk-failover-phx-iad.shVerificar Failover do BD de PHX para IAD Failoverscript-iaddb-failover-phx-iad.shFailover do BD de PHX para IAD Start drillscript-iaddb-prechk-startdrill-iad.shIniciar Drill de DR Prechk no IAD Start drillscript-iaddb-startdrill-iad.shIniciar Drill de DR no IAD Stop drillscript-iaddb-prechk-stopdrill-iad.shPré-verificar Interromper Drill DR no IAD Stop drillscript-iaddb-stopdrill-iad.shInterromper Drill DR no IAD
Observação: para maior clareza e usabilidade, criamos vários scripts bash wrapper personalizados para tipos e regiões de plano de DR específicos. Esses scripts usam um script Python compartilhado para transições de atribuição de banco de dados, que você pode personalizar para atender aos seus próprios requisitos e ambiente.
Tarefa 1: Verificar a Configuração do Oracle Data Guard e Atualizar a Tag
Nesta tarefa, verificaremos a configuração manual do Oracle Data Guard usando o Oracle Base Database Service. Criaremos uma *tag** no banco de dados para indicar uma configuração não padrão do Oracle Data Guard. Isso permite que o OCI Full Stack DR crie um plano de DR sem depender de nenhum grupo de planos integrado.
-
Faça log-in na Console do OCI e navegue até o Oracle Database e clique em Oracle Base Database Service.
-
Certifique-se de que o contexto da região do OCI esteja definido como Região 1 (Ashburn).
-
Selecione o sistema de BD, em nosso exemplo, é
adghol0-12345.
Figura 1.1: Sistema de BD na região 1 -
Navegue até a guia Bancos de Dados e selecione o banco de dados
adghol.
Figura 1.2: Banco de Dados na região 1 -
Verifique se o Status do Data Guard está Não ativado. Isso confirma que o Oracle Data Guard não está configurado usando a Console do OCI.
Figura 1.3: Status do plano de controle do Data Guard na região 1 -
Navegue até a guia Tags e crie as tags de formato livre. Você deve substituir o valor de
Peer DB OCIDcom base na sua configuração. Neste exemplo, você deve adicionar o OCID do banco de dados da região Phoenix.Chave de Tag Valor FsdrNonStandardDataGuardPeerDatabaseIdPeer DB OCIDFsdrNonStandardDataGuardFlagTrue
Figura 1.4: Tags de BD na região 1 -
Vá para Sistemas de BD e selecione Nós.
Figura 1.5: Nó de banco de dados na região 1Observação: Esta é uma configuração Não RAC, portanto, você verá um único nó de banco de dados. Se essa fosse uma configuração do Oracle Real Application Clusters, você veria dois nós.
-
Estabeleça conexão com o nó do banco de dados e alterne para o usuário
oracle. Use o broker do Oracle Data Guard para verificar as atribuições.dgmgrl show configuration
Figura 1.6: Status do Data Guard na região 1Saída Esperada:
adghol_site0deve aparecer como o Banco de Dados Principal.adghol_site1deve aparecer como o Banco de Dados Stand-by Físico.Configuration Statusdeve aparecer Sucesso.
Se houver erros e as atribuições do banco de dados não forem as esperadas, você deverá corrigir os erros usando a documentação do Oracle Data Guard.
-
Faça log-in na Console do OCI e navegue até o Oracle Database e clique em Oracle Base Database Service.
-
Verifique se o contexto da região do OCI está definido como Região 2 (Phoenix).
-
Selecione o sistema de banco de dados. No nosso exemplo, ele é
adghol1-12345
Figura 1.7: Sistema de BD na região 2 -
Navegue até a guia Bancos de Dados e selecione o banco de dados
adghol.
Figura 1.8: Banco de dados na região 2 -
Verifique se o Status do Data Guard está Não ativado. Isso confirma que o Oracle Data Guard não está configurado usando a Console do OCI.
Figura 1.9: Status do plano de controle do Data Guard na região 2 -
Navegue até a guia Tags e crie as tags de formato livre. Você deve substituir o valor de
Peer DB OCIDcom base na sua configuração. Neste exemplo, você deve adicionar o OCID do banco de dados da região Ashburn.Chave de Tag Valor FsdrNonStandardDataGuardPeerDatabaseIdPeer DB OCIDFsdrNonStandardDataGuardFlagTrue
Figura 1.10: Tags de BD na região 2 -
Repita as etapas 7 e 8, mas desta vez estabeleça conexão com o nó do banco de dados na Região 2 (Região Stand-by).
- Certifique-se de estar conectado como o usuário
oracleno nó do banco de dados da Região 2. - Verifique as atribuições do Oracle Data Guard usando
dgmgrlcomo na etapa 8.
- Certifique-se de estar conectado como o usuário
Tarefa 2: Criar e Associar Grupos de Proteção de DR
Crie grupos de proteção de DR na Região 1 e na Região 2 se os grupos de proteção para esta pilha de aplicativos ainda não existirem.
Tarefa 2.1: Criar um Grupo de Proteção na Região 1
-
Vá para a Console do OCI e navegue até Grupos de Proteção de DR, conforme mostrado na Figura 2.1.
- Certifique-se de que o contexto da região do OCI esteja definido como Região 1 (Ashburn).
- Clique em Migração e Recuperação de Desastres.
- Clique em Grupos de Proteção de DR.
Figura 2.1: Navegue até grupos de proteção de DR -
Crie um grupo básico de proteção de DR na Região 1, conforme mostrado na Figura 2.2. O par, a atribuição e os membros serão designados em etapas posteriores.
- Selecione o compartimento no qual você deseja que o grupo de proteção de DR seja criado.
- Clique em Create DR protection group.
- Use um nome significativo para o grupo de proteção de DR.
- Selecione Bucket do OCI Object Storage para logs do OCI Full Stack DR.
- Clique em Criar.
Figura 2.2: Parâmetros necessários para criar o grupo de proteção de DR na região 1
Tarefa 2.2: Criar um Grupo de Proteção na Região 2
-
Vá para a Console do OCI e navegue até Grupos de Proteção de DR, conforme mostrado na Figura 2.3.
- Certifique-se de que o contexto da região do OCI esteja definido como Região 2 (Phoenix).
- Clique em Migração e Recuperação de Desastres.
- Clique em Grupos de Proteção de DR.
Figura 2.3: Navegue até grupos de proteção de DR -
Crie um grupo básico de proteção de DR na Região 2, conforme mostrado na Figura 2.4. O par, a atribuição e os membros serão designados em etapas posteriores.
- Selecione o compartimento no qual você deseja que o grupo de proteção de DR seja criado.
- Clique em Create DR protection group.
- Use um nome significativo para o DRPG.
- Selecione Bucket do OCI Object Storage para logs do OCI Full Stack DR.
- Clique em Criar.
Figura 2.4: Parâmetros necessários para criar o grupo de proteção de DR na região 2
Tarefa 2.3: Associar Grupos de Proteção na Região 1 e na Região 2
Associe os DRPGs em cada região como pares um do outro e designe as atribuições de pares principal e stand-by. As atribuições de principal e stand-by são alteradas automaticamente pelo OCI Full Stack DR como parte de qualquer operação de DR/execução do plano de DR; não há necessidade de gerenciar as atribuições manualmente a qualquer momento.
-
Vá para a página Detalhes do Grupo de Proteção de RD.
- Certifique-se de que o contexto da região do OCI esteja definido como Região 1 (Ashburn).
- Clique no menu drop-down Ações e clique em Associar para iniciar o processo.
Figura 2.5: Iniciar associação de DRPG -
Digite as seguintes informações.
- Função: Selecione a função Principal. O OCI Full Stack DR designará a atribuição de stand-by à Região 2 automaticamente.
- Região de pareamento: Selecione a Região 2 (Phoenix), onde o outro grupo de proteção de DR foi criado.
- Grupo de proteção de DR do pareamento: Selecione o grupo de proteção de DR do pareamento que foi criado.
- Clique em Associar.
Figura 2.6: Parâmetros necessários para associar os DRPGs
O OCI Full Stack DR mostrará algo como mostrado na imagem a seguir, assim que a associação for concluída.
- O atual par principal DRPG é Ashburn (região 1).
- O atual DRPG stand-by é Phoenix (região 2).
Figura 2.7: Mostrando o relacionamento de pares da perspectiva DRPG individual
As mesmas informações podem ser encontradas sempre que o contexto/view for de uma perspectiva global mostrando todos os grupos de proteção de DR, conforme mostrado na imagem a seguir.
- O atual par principal DRPG é Ashburn (região 1).
- O atual DRPG stand-by é Phoenix (região 2).
Figura 2.8: Mostrando o relacionamento de pares da perspectiva DRPG global
Tarefa 3: Adicionar Membros aos Grupos de Proteção de DR
Nesta tarefa, adicionaremos os seguintes recursos do OCI ao grupo de proteção de DR principal na Região 1.
- A instância do OCI Compute que hospeda o script do handler do banco de dados será adicionada como uma VM não móvel.
- O sistema de banco de dados principal.
Tarefa 3.1: Adicionar Membros ao Grupo de Proteção de DR na Região 1
-
Selecione o grupo de proteção de DR na Região 1, conforme mostrado na imagem a seguir.
- Certifique-se de que o contexto da região do OCI seja a Região 1 (Ashburn).
- Selecione o grupo de proteção de DR na Região 1.
- Navegue até a guia Membros.
- Clique em Gerenciar membros.
Figura 3.1: Como começar a adicionar membros ao grupo de proteção de DR na região 1 -
Adicione uma instância de computação para os scripts do handler do banco de dados.
- Selecione Adicionar membro
- Selecione Instância em Computação como um Tipo de recurso de membro.
- Selecione a Instância de computação que hospeda os scripts do handler do banco de dados.
- Selecione Instância não móvel.
- Clique em Adicionar.
Figura 3.2: Instância de Computação Adicionar ao DRPG na Região 1Verifique a instância de computação adicionada.
Figura 3.2: Instância de Computação adicionada ao DRPG na Região 1 -
Adicione o banco de dados principal. Clique em Adicionar Membro
- Selecione Adicionar membro
- Selecione Oracle Database -> Banco de Dados (Base DB,ExaDB-D,ExaCC,ExaXS) como membro Tipo de recurso.
- Selecione Oracle Base Database como Tipo de banco de dados.
- Selecione Sistema de banco de dados.
- Selecione Home do banco de dados.
- Selecione Banco de Dados.
- Selecione o Segredo da senha do banco de dados
- Clique em Adicionar
Fig 3.3: Parâmetros necessários para adicionar o BD PrincipalVerifique o banco de dados principal adicionado e publique os dois membros.
Figura 3.4: BD Principal adicionado ao DRPG na Região 1
Figura 3.5: Publicar membros no DRPG na Região 1Depois de alguns minutos, ambos os membros devem estar disponíveis sob os membros.
Figura 3.6: Membros adicionados ao DRPG na Região 1
Tarefa 3.2: Adicionar Membros ao Grupo de Proteção de DR na Região 2
-
Selecione o grupo de proteção de DR na Região 2, conforme mostrado na imagem a seguir.
- Certifique-se de que o contexto da região do OCI seja Região 2 (Phoenix).
- Selecione o grupo de proteção de DR na Região 2.
- Navegue até a guia Membros.
- Clique em Gerenciar membros.
Figura 3.7: Como começar a adicionar membros ao grupo de proteção de DR na região 2 -
Adicione uma instância de computação para os scripts do handler do banco de dados.
- Selecione Adicionar membro
- Selecione Instância em Computação como um Tipo de recurso de membro.
- Selecione a Instância de computação que hospeda os scripts do handler do banco de dados.
- Selecione Instância não móvel.
- Clique em Adicionar.
Figura 3.8: Instância de Computação Adicionar ao DRPG na Região 2Verifique a instância de computação adicionada.
Figura 3.9: Instância de Computação adicionada ao DRPG na Região 2 -
Adicione o banco de dados stand-by. Clique em Adicionar Membro
- Selecione Adicionar membro
- Selecione Oracle Database -> Banco de Dados (Base DB,ExaDB-D,ExaCC,ExaXS) como membro Tipo de recurso.
- Selecione Oracle Base Database como Tipo de banco de dados.
- Selecione Sistema de banco de dados.
- Selecione Home do banco de dados.
- Selecione Banco de Dados.
- Selecione o Segredo da senha do banco de dados
- Clique em Adicionar
Figura 3.10: Parâmetros necessários para adicionar o BD stand-byVerifique o banco de dados stand-by adicionado e publique os dois membros.
Figura 3.11: BD Stand-by adicionado ao DRPG na Região 2
Figura 3.12: Publicar membros no DRPG na Região 2Depois de alguns minutos, ambos os membros devem estar disponíveis sob os membros.
Figura 3.13: Membros adicionados ao DRPG na Região 2
Tarefa 4: Criar e Personalizar os Planos de DR na Região 2
Nesta tarefa, criaremos os planos iniciais de Switchover, Failover e Iniciar Drill associados ao grupo de proteção de DR stand-by na Região 2 (Phoenix).
Esses planos foram projetados para fazer a transição perfeita da carga de trabalho da região principal (Região 1) para a região stand-by (Região 2).
- O OCI Full Stack DR preenche esses planos com etapas incorporadas com base nos recursos dos membros adicionados anteriormente.
- No entanto, neste tutorial, como o Oracle Data Guard é configurado manualmente (fora do plano de controle do banco de dados), nenhum grupo de planos integrado estará disponível para transições de atribuição do banco de dados Oracle.
- Portanto, vamos:
- Personalize os planos de DR com grupos de planos definidos pelo usuário.
- Adicione scripts de handler do banco de dados para tratar as transições de atribuição durante cada tipo de plano (switchover, failover, drill).
Os planos de DR são sempre criados no grupo de proteção que mantém a atribuição stand-by.
Como a Região 2 (Phoenix) é atualmente o stand-by, criaremos todos os planos de DR iniciais lá.
Tarefa 4.1: Criar Planos de DR
-
Criar planos de DR selecionando o DRPG na Região 2 (Phoenix)
- Certifique-se de que o contexto da região do OCI seja Região 2 (Phoenix).
- Selecione o DRPG stand-by na Região 2.
- Navegue até a guia Planos.
- Clique em Criar Plano.
Figura 4.1: Como começar a criar planos básicos de DR na Região 2 -
Crie um plano de switchover.
- Informe um Nome simples, mas significativo, para o plano de switchover. O nome deve ser o mais curto possível, mas fácil de entender rapidamente para ajudar a reduzir a confusão e o erro humano durante uma crise.
- Selecione Tipo de plano como Switchover (planejado).
Figura 4.2: Os parâmetros necessários para criar o plano de switchover de DR -
Crie um plano de failover.
Siga o mesmo processo para criar um plano básico de failover, conforme mostrado na imagem a seguir.
- Informe o Nome do plano de failover simples, mas significativo.
- Selecione Tipo de plano como Failover (não planejado).
Figura 4.3: Os parâmetros necessários para criar o plano de failover de DR -
Crie um plano de detalhamento inicial.
Siga o mesmo processo para criar um plano básico de failover, conforme mostrado na imagem a seguir.
- Informe o Nome do plano de drill inicial simples, mas significativo.
- Selecione Tipo de plano como Failover (não planejado).
Figura 4.4: Os parâmetros necessários para criar o plano de drill inicial de DRO grupo de proteção de DR stand-by na Região 2 agora deve ter os três planos de DR, conforme mostrado na imagem a seguir. Eles lidarão com a transição de cargas de trabalho da Região 1 para a Região 2. Você criará planos semelhantes na Região 1 para fazer a transição das cargas de trabalho da Região 2 de volta para a Região 1 em uma tarefa posterior.
Figura 4.5: Mostrando os três planos de DR que devem existir na região 2 antes de prosseguir
Observação: O OCI Full Stack DR permite criar um plano de drill de interrupção somente após a execução bem-sucedida do plano de drill de início, e o grupo de proteção de DR está no estado Inativo (Drill em andamento).
Tarefa 4.2: Personalizar os Planos de DR com Grupos de Planos Definidos pelo Usuário
Os planos de DR criados na Tarefa 4.1 não gerarão nenhum grupo de planos integrados para as transições de atribuição de banco de dados Oracle desde que a configuração do Oracle Data Guard foi feita manualmente.
Nesta tarefa, você:
- Saiba como adicionar grupos de planos de DR personalizados e definidos pelo usuário.
- Defina as etapas necessárias para gerenciar as transições de atribuição do Oracle Data Guard.
Isso garante que seus planos de DR possam lidar totalmente com cenários de failover, switchover e drill envolvendo um ambiente do Data Guard configurado manualmente.
-
Navegue até o plano de alternância criado na Tarefa 4.1 e selecione Grupos de planos.
Figura 4.6: Como começar a personalizar o plano de switchover na região 2 -
Comece adicionando grupos de planos de DR definidos pelo usuário personalizados para adaptar o workflow de DR às necessidades específicas das alterações de atribuição de banco de dados Oracle. Esses grupos de planos invocarão os scripts necessários do jumphost
script-iadna Região 1. -
Adicione um grupo de planos definido pelo usuário ao Switchover do BD.
- Clique em Adicionar grupo.
- Informe um Nome de grupo de planos simples, mas descritivo. Neste exemplo, usaremos
DB Switchover. -
Clique em Adicionar Etapa para abrir a caixa de diálogo na qual especificaremos o script para executar a alteração da atribuição de banco de dados.
Figura 4.7: Parâmetros para criar grupo de planos para executar alteração de atribuição de banco de dadosEm Adicionar etapa do grupo de planos, especifique as informações a seguir.
- Informe um Nome de etapa simples, mas descritivo. Neste exemplo, usaremos
DB Switchover from IAD to PHX. - Selecione a região da instância que contém a instância na qual esta etapa será executada Neste exemplo, o script será executado no triunfo na Região 2, portanto, selecione
Phoenix. - Selecione Executar script local.
- Selecione Instância de destino que é a
script-phxde triunfo na Região 2. - Em Parâmetros de script, insira o caminho completo do script com os parâmetros. Por exemplo:
/home/opc/db-switchover-iad-phx.sh. - Em Executar como usuário, digite
opc. -
Clique em Adicionar Etapa.
Fig 4.8: Parâmetros para adicionar uma etapa para alteração de atribuição de banco de dados -
Verifique a etapa adicionada.
Fig 4.9: Adicionado para alteração de atribuição de banco de dados -
Clique em Adicionar.
Figura 4.10: Grupo de alterações da atribuição do BD - adicionarO grupo de planos estará disponível agora.
Figura 4.11: Grupo de planos de switchover de BD
-
Adicione a etapa de pré-verificação definida pelo usuário a um plano de DR de switchover. A pré-verificação definida pelo usuário será executada junto com as etapas de pré-verificação incorporadas.
-
Vá para Grupos de Planos, clique em … na frente de Pré-verificações Criadas e selecione Adicionar pré-verificação definida pelo usuário.
Figura 4.12: Adicionar pré-verificação personalizada para switchover de BD - Informe um Nome de etapa simples, mas descritivo. Neste exemplo, usaremos
DB Switchover precheck from IAD to PHX. - Selecione a região da instância que contém a instância na qual esta etapa será executada Neste exemplo, o script será executado no triunfo na Região 2, portanto, selecione
Phoenix. - Selecione Executar script local.
- Selecione Instância de destino que é a
script-phxde triunfo na Região. - Em Parâmetros de script, insira o caminho completo do script com os parâmetros. Por exemplo:
/home/opc/db-prechk-switchover-iad-phx.sh. - Em Executar como usuário, digite
opc. -
Clique em Adicionar Etapa.
Figura 4.13: Parâmetros para adicionar uma etapa de pré-verificação personalizada para alteração de atribuição de banco de dados -
Verifique a etapa adicionada.
Figura 4.14: Etapa de pré-verificação personalizada adicionada para alteração de atribuição de banco de dadosA personalização do plano de switchover foi concluída com êxito.
Figura 4.15: Plano de Switchover Final
-
-
Da mesma forma, personalize os planos failover, start drill, use a Instância de Destino, Scripts corretos usando os detalhes tabulares disponíveis em Pré-requisitos: uso e personalização do script do handler de BD.
-
Os planos de Failover e Iniciar Detalhamento terão a seguinte aparência quando o grupo de planos definido pelo usuário e a etapa de pré-verificação personalizada forem adicionados.
Figura 4.16: Plano de failover final
Fig 4.17: Plano de drill inicial final
Tarefa 5: Executar Pré-verificações para os Planos de DR na Região 2
Com switchover, failover, os planos de DR de início de drill foram criados com sucesso na Região 2 stand-by. Esses planos permitem que o OCI Full Stack DR faça a transição das cargas de trabalho da Região 1 para a Região 2 ou execute o drill de DR. A tarefa subsequente envolve a execução das pré-verificações dos planos de DR para garantir a prontidão e validar o processo de transição.
Tarefa 5.1: Iniciar Pré-verificações para o Plano de Switchover
Execute pré-verificações para o plano DR de switchover.
- Certifique-se de que o contexto da região esteja definido como Região stand-by 2.
- Certifique-se de que o grupo de proteção de DR correto na Região 2 esteja selecionado. Ele deve ser a atribuição stand-by.
- Clique no menu suspenso Ações.
- Clique em Executar pré-verificações.
- Selecione o plano DB Switchover do IAD para o PHX.
- Informe o Nome da execução do plano, caso contrário, ele será gerado automaticamente.
-
Clique em Executar pré-verificações.
Figura 5.1: Mostrando como executar pré-verificações do plano de switchover -
Verifique o status Bem-sucedido na guia Execuções do plano.
Fig 5.2: Mostrando uma pré-verificação Concluída do plano de switchover
Tarefa 5.2: Iniciar Pré-verificações para o Plano de Failover
Execute as pré-verificações do plano de DR de failover.
- Certifique-se de que o contexto da região esteja definido como Região stand-by 2.
- Certifique-se de que o grupo de proteção de DR correto na Região 2 esteja selecionado. Ele deve ser a atribuição stand-by.
- Clique no menu suspenso Ações.
- Clique em Executar pré-verificações.
- Selecione o plano Failover de BD de IAD para PHX.
- Informe o Nome da execução do plano, caso contrário, ele será gerado automaticamente.
-
Clique em Executar pré-verificações.
Figura 5.3: Mostrando como executar pré-verificações do plano de failover -
Verifique o status Bem-sucedido na guia Execuções do plano.
Figura 5.4: Mostrando uma pré-verificação Concluída do plano de failover
Tarefa 5.3: Iniciar Pré-verificações para o Plano de Detalhamento Inicial
Execute as pré-verificações para iniciar o plano de DR de drill.
- Certifique-se de que o contexto da região esteja definido como Região stand-by 2.
- Certifique-se de que o grupo de proteção de DR correto na Região 2 esteja selecionado. Ele deve ser a atribuição stand-by.
- Clique no menu suspenso Ações.
- Clique em Executar pré-verificações.
- Selecione o plano Iniciar drill em PHX.
- Informe o Nome da execução do plano, caso contrário, ele será gerado automaticamente.
-
Clique em Executar pré-verificações.
Figura 5.5: Mostrando como executar pré-verificações do plano de drill inicial -
Verifique o status Bem-sucedido na guia Execuções do plano.
Figura 5.6: Mostrando uma pré-verificação Concluída do plano de failover
Tarefa 6: Executar o Plano de Switchover na Região 2
Execute o plano de DR de switchover para iniciar a transição da atribuição de banco de dados Oracle da Região 1 (Principal) para a Região 2 (Stand-by).
- Certifique-se de que o contexto da região esteja definido como Região stand-by 2.
- Certifique-se de que o grupo de proteção de DR correto na Região 2 esteja selecionado. Ele deve ser a atribuição stand-by.
- Clique no menu suspenso Ações.
-
Clique em Executar Plano.
Fig 6.1: Mostrando como Executar o plano de switchover - Selecione o plano DB Switchover do IAD para o PHX.
- Esta tarefa executa o plano de switchover na Região 2.
- Desmarque Ativar pré-verificações, pois as pré-verificações já foram executadas na Tarefa 5. Se quiser executar novamente, você poderá ativá-lo.
- Informe o Nome da execução do plano, caso contrário, ele será gerado automaticamente.
-
Clique em Executar plano.
Fig 6.2: Mostrando como executar o plano de switchover -
Navegue até a guia Execuções do Plano e selecione a execução do plano de switchover.
Figura 6.3: Mostrando o plano de switchover em Andamento -
Monitore o plano de switchover até que a carga de trabalho completa tenha sido totalmente transferida da Região 1 para a Região 2. A execução do plano de switchover foi concluída com sucesso em aproximadamente 8 minutos.
Figura 6.4: Mostrando uma execução de plano de switchover Concluída. -
Você pode verificar o status da atribuição do banco de dados usando os detalhes fornecidos na Tarefa 1.8.
Figura 6.5: Status do Data Guard após o switchoverSaída Esperada:
adghol_site1deve aparecer como o Banco de Dados Principal.adghol_site0deve aparecer como o Banco de Dados Stand-by Físico.Configuration Statusdeve aparecer Sucesso.
-
A atribuição no grupo de proteção de DR será trocada, a Região 2 será mostrada como Principal e a Região 1 será mostrada como Stand-by.
Figura 6.6: Alteração da atribuição de proteção de DR após o switchover
Tarefa 7: Criar e Personalizar Planos de DR na Região 1
Com a execução bem-sucedida do plano de DR de switchover da Região 1 para a Região 2, a Região 2 agora assumiu a atribuição de principal, enquanto a Região 1 fez a transição para a atribuição stand-by.
Siga a mesma abordagem detalhada na Tarefa 4 para criar e personalizar os planos de switchover, failover e Drill de DR dentro do grupo de proteção de DR para a Região 1, que agora serve como região de pareamento stand-by.
Depois que esses planos forem criados e atualizados com grupos de planos definidos pelo usuário e uma etapa de pré-verificação personalizada, eles terão a aparência das imagens a seguir.
Figura 7.1: Planos de DR criados na Região 1
Figura 7.2: Plano de switchover na Região 1
Figura 7.3 : Plano de failover na Região 1
Figura 7.4 : Iniciar plano de drill na Região 1
Se necessário, você pode executar o plano de switchover para promover o banco de dados na Região 1 de volta à atribuição principal, enquanto o banco de dados na Região 2 se torna o stand-by.
Da mesma forma, você pode executar o plano de iniciar drill para simular um evento de recuperação de desastre e, em seguida, criar e executar o plano de interromper drill para reverter o sistema para seu estado original.
-
Durante o plano start drill, o banco de dados é convertido de um Stand-by Físico para um Stand-by Snapshot. Isso permite que os aplicativos acessem e interajam temporariamente com o banco de dados stand-by para fins de teste.
-
Durante o plano de interrupção de drill, o banco de dados é convertido de volta do Stand-by Snapshot para o Stand-by Físico, garantindo que seja ressincronizado com o banco de dados principal.
Próximas Etapas
Para obter mais informações, consulte a documentação do OCI Full Stack DR, Oracle Base Database Service e Oracle Data Guard na seção Links Relacionados.
Links Relacionados
-
Documentação do Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery
-
Oracle Live Labs: Automatize o Disaster Recovery na OCI usando o Full Stack Disaster Recovery
-
Participe do canal de folga #full-stack-dr
Confirmações
- Autor - Suraj Ramesh (Gerente Sênior de Produtos para OCI Full Stack DR)
- Contribuintes - Santhosh Shankaramanchi (Membro de consultoria da equipe técnica do OCI Full Stack DR)
Mais Recursos de Aprendizado
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Automate Role Changes for Manually Configured Oracle Data Guard in OCI Database Services Using OCI Full Stack DR and Custom Scripts
G45729-03