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:
- Um sistema de banco de dados e um banco de dados para backup.
-
A rede na nuvem (VCN) do sistema de banco de dados deve ser configurada com acesso ao Object Storage:
- Para ter acesso ao Object Storage na mesma região do sistema de banco de dados, a Oracle recomenda o uso de um gateway de serviço.
- Para ter acesso ao Object Storage em uma região distinta do sistema de banco de dados: Use um gateway de internet. Observe que o tráfego de rede entre o sistema de banco de dados e o Object Storage não sai da nuvem e nunca chega à internet pública.
Para obter mais informações, consulte VCN e Sub-redes.
-
Um bucket existente do Object Storage para usar como destino do backup. Você pode usar a Console ou a API do Object Storage para criar o bucket.
Para obter mais informações, consulte Gerenciando Buckets.
-
Um token de autenticação gerado pelo OCI. Você pode usar a Console ou a API do IAM para gerar a senha.
Para obter mais informações, consulte trabalhando com tokens de autorização em Gerenciando Credenciais do Usuário.
-
O nome do usuário (especificado ao instalar e usar o módulo de backup) deve ter acesso ao Object Storage no nível da tenancy. Uma forma fácil de fazer isso é adicionar o nome do usuário ao grupo Administradores. No entanto, isso permite o acesso a todos os serviços da nuvem. Em vez disso, um administrador deve criar uma política como a seguinte, que limita o acesso somente aos recursos necessários no Object Storage para fazer backup do banco de dados e restaurá-lo:
Allow group <group_name> to manage objects in compartment <compartment_name> where target.bucket.name = '<bucket_name>' Allow group <group_name> to read buckets in compartment <compartment_name>Para obter mais informações sobre como adicionar um usuário a um grupo, consulte Gerenciando Grupos. Para obter mais informações sobre políticas, consulte Conceitos Básicos de Políticas.
Instalar o Módulo de Backup no Sistema de Banco de Dados
-
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> -
Faça log-in como usuário
opc.login as: opc -
sudopara o usuáriooracle.sudo su - oracle -
Passe para o diretório que contém o arquivo
opc_install.jardo módulo de backup.cd /opt/oracle/oak/pkgrepos/oss/odbcs -
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 -opcIdO 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.-opcPassO 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.-containerO nome de um bucket existente no Object Storage a ser usado como destino do backup, por exemplo: -container DBBackups-walletDirO 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 ~/hsbtwalletcria a wallet no diretório home do usuário atual (oracle).-libDirO 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 arquivolibopc.sopara o diretório home do usuário atual, por exemplo,/home/oracle/lib/libopc.so.-configfileO 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 ~/configcria o arquivo no diretório home do usuário atual, por exemplo,/home/oracle/config.-hostO URL do ponto final para o qual os backups devem ser enviados: https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
em queobject_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.
-
No sistema de banco de dados, defina as variáveis
ORACLE_HOMEeORACLE_SIDusando o utilitáriooraenv.. oraenv -
Estabeleça conexão com o banco de dados usando o RMAN.
rman target / -
Configurar o RMAN para usar o dispositivo SBT e apontar para o arquivo
configque 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)'; -
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.
-
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.
-
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; -
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.