Fazer Backup de um Banco de Dados no Serviço Object Storage Usando o RMAN

Este artigo explica como usar o RMAN (Recovery Manager) para gerenciar backups do seu banco de dados do sistema de banco de dados no seu próprio serviço Object Storage.

Para fazer backup do serviço, será necessário criar um bucket do Object Storage para os backups, gerar uma senha para o serviço, instalar o Módulo de Backup do Oracle Database Cloud e, em seguida, configurar o RMAN para enviar backups ao serviço. O módulo de backup é uma interface SBT (System Backup to Tape) que é altamente integrada com o RMAN, para que você possa usar comandos conhecidos do RMAN para executar operações de backup e recuperação.

Você notará o Swift mencionado na Console e no URL do ponto final do serviço. Isso ocorre porque o módulo de backup geralmente é usado para fazer backup no Oracle Database Backup Cloud Service, que é um objeto de armazenamento OpenStack Swift.

Dica: em um sistema do BD, você pode usar a DBCLI para fazer backup para o serviço Object Storage. Essa é uma alternativa para instalar o módulo de backup e usar o RMAN para backups. Para obter mais informações, consulte Comandos Objectstoreswift.

Pré-requisitos

Será necessário o seguinte:

Instalar o Módulo de Backup no Sistema de Banco de Dados

  1. Estabeleça conexão via SSH com o sistema de banco de dados.

    ssh -i <SSH_key_used_when_launching_the_DB_system> opc@<DB_system_IP_address_or_hostname>
  2. Faça log-in como usuário opc.

    login as: opc
  3. sudo para o usuário oracle.

    sudo su - oracle
  4. Passe para o diretório que contém o arquivo opc_install.jar do módulo de backup.

    cd /opt/oracle/oak/pkgrepos/oss/odbcs
  5. Use a sintaxe de comando a seguir para instalar o módulo de backup.

    java -jar opc_install.jar
        -opcId <user_id>
        -opcPass '<auth_token>'
        -container <bucket_name>
        -walletDir ~/hsbtwallet/
        -libDir ~/lib/
        -configfile ~/config
        -host https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>

    Os parâmetros são:

    Parâmetro Descrição
    -opcId O nome do usuário da conta do usuário do Oracle Cloud Infrastructure, por exemplo: -opcId <username>@<example>.com.
    Este é o nome de usuário que você usa para acessar a Console.
    O nome de usuário deve ser membro do grupo Administradores, conforme descrito na seção Pré-requisitos.
    Você também pode especificar o nome de usuário entre aspas simples. Isso poderá ser necessário se o nome contiver caracteres especiais, por exemplo: -opcId 'j~smith@<example>.com'
    Certifique-se de usar aspas simples retas e não apóstrofos inclinados.
    -opcPass O token de autenticação gerado usando a Console ou a API do IAM, entre aspas simples, por exemplo: -opcPass <password>
    Certifique-se de usar aspas simples retas e não apóstrofos inclinados.
    Para obter mais informações, consulte Gerenciando Credenciais do Usuário.
    Esta não é a senha do usuário do Oracle Cloud Infrastructure.
    -container O nome de um bucket existente no Object Storage a ser usado como destino do backup, por exemplo: -container DBBackups
    -walletDir O diretório no qual a ferramenta da instalação criará um Oracle Wallet contendo o nome do usuário e token de auth do Oracle Cloud Infrastructure.
    -walletDir ~/hsbtwallet cria a wallet no diretório home do usuário atual (oracle).
    -libDir O diretório em que a biblioteca SBT é armazenada. O diretório já deverá existir antes da execução do comando. Esse parâmetro faz com que o download da biblioteca SBT mais recente seja feito.
    -libDir ~/lib/ faz download do arquivo libopc.so para o diretório home do usuário atual, por exemplo, /home/oracle/lib/libopc.so.
    -configfile O nome do arquivo de parâmetros de inicialização que será criado pela ferramenta de instalação. Esse arquivo será referenciado por seus jobs do RMAN.
    -configfile ~/config cria o arquivo no diretório home do usuário atual, por exemplo, /home/oracle/config.
    -host O URL do ponto final para o qual os backups devem ser enviados:
    https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
    em que object_storage_namespace é o namespace do Object Storage da sua tenancy. Para obter mais informações, consulte Noções Básicas de Namespaces do Serviço Object Storage.
    Não adicione uma barra após o namespace do serviço Object Storage.
    Para procurar o nome da região, consulte Regiões e Domínios de Disponibilidade.

Configurar o RMAN

Este tópico descreve como configurar o RMAN para usar o bucket como o destino de backup padrão. O seguinte pressupõe que você ainda esteja conectado ao sistema de banco de dados.

  1. No sistema de banco de dados, defina as variáveis ORACLE_HOME e ORACLE_SID usando o utilitário oraenv.

    . oraenv
  2. Estabeleça conexão com o banco de dados usando o RMAN.

    rman target /
  3. Configurar o RMAN para usar o dispositivo SBT e apontar para o arquivo config que foi criado quando você instalou o módulo de backup. Um exemplo de comando para um banco de Dados da versão 12 é mostrado aqui.

    CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS
        'SBT_LIBRARY=/home/oracle/lib/libopc.so,
        SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
  4. Configure o RMAN para usar SBT_TAPE por padrão. O exemplo a seguir permite o backup automático de controlfile e spfile no SBT_TAPE e configura a criptografia. Há outras definições que podem se aplicar à sua instalação, como compactação, número de canais de backup e recuperação a serem usados, política de retenção de backup, política de exclusão de log arquivado e muito mais. Consulte a documentação sobre Backup e Recuperação da sua versão do sistema Oracle para obter mais informações sobre como escolher as definições apropriadas.

    CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE;
    CONFIGURE BACKUP OPTIMIZATION ON;
    CONFIGURE CONTROLFILE AUTOBACKUP ON;
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F';
    CONFIGURE ENCRYPTION FOR DATABASE ON;

Observação: Os backups devem ser criptografados. Você especificará a criptografia ao executar um backup. Você receberá um erro se um backup não for criptografado.

Uma vez concluída a configuração do RMAN, você poderá usar os mesmos comandos do RMAN usados regularmente para fazer backups em fita.

Fazer Backup do Banco de Dados

Este tópico fornece exemplos de comandos de backup comumente usados.

  1. Defina a criptografia do banco de dados:

    SET ENCRYPTION IDENTIFIED BY "password" ONLY;

    Observe que essa definição não é permanente; você deve defini-la para cada nova sessão RMAN.

  2. Faça backup do banco de dados e dos logs de arquivamento. Veja abaixo alguns exemplos de comandos. Consulte a documentação sobre Backup e Recuperação da sua versão do sistema Oracle para obter mais informações sobre como escolher um procedimento de backup que atenda às suas necessidades. Faça backup regularmente para minimizar a potencial perda de dados e sempre inclua uma cópia do spfile e do controlfile. Observe que o exemplo abaixo usa backups incrementais de várias seções, que é um recurso introduzido na versão 12c. Ao usar a versão 11g, omita a cláusula section size.

    BACKUP INCREMENTAL LEVEL 0 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
    BACKUP INCREMENTAL LEVEL 1 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
    BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
  3. Faça backup de logs de arquivamento com frequência para minimizar a potencial perda de dados e manter várias cópias de backup como precaução.

    BACKUP ARCHIVELOG ALL NOT BACKED UP 2 TIMES;

Quando o job de backup for concluído, você poderá exibir os arquivos de backup em seu bucket na Console na página Armazenamento, selecionando Object Storage.