Veeam Backup: Configuration and Integration with Oracle RMAN

Nesta semana, a empresa adquiriu um appliance de backup da Veeam. Após a conclusão do deploy e das configurações iniciais pela equipe de backup, fui solicitado a configurar os backups dos bancos de dados Oracle para utilizar o novo repositório disponibilizado no Veeam.

Neste artigo, apresentarei, de forma simples e objetiva, os principais passos necessários para configurar o Oracle RMAN e permitir que os backups dos bancos de dados sejam armazenados diretamente no repositório do Veeam.

O primeiro passo é solicitar à equipe de backup a criação de um repositório dedicado para armazenar os backups dos bancos de dados Oracle e uma conta para realizar a autenticação no Veeam.

Neste exemplo, solicitei a criação do repositório EXA-DB-01, que será utilizado pelo RMAN como destino para armazenamento dos backups por meio do Veeam.

1 – Instalando o Veeam Plugin for OracleRMAN:


srv01:~ # cd /opt/veeam/VeeamPluginforOracleRMAN
srv01:/opt/veeam/VeeamPluginforOracleRMAN # ./OracleRMANConfigTool --wizard
Enter backup server name or IP address: 192.168.0.1
Enter backup server port number [10006]:
Enter username: administrator
Enter password for administrator:
Available backup repositories:
1. Default Backup Repository
2. EXA-DB-01
Specify up to 4 Veeam repositories to use as target using whitespace as a separator: 2
Enter the number of data streams (From 1 to 254) to run in parallel for each repository (RMAN DEVICE PARALLELISM value). Channel count per device [1]: 8
Do you want to use Veeam compression? (Y/n): y
Select the Oracle environment authentication method:
1. Operating system authentication
2. Database authentication
Enter [1]: 1

Please manually apply the following RMAN settings to the databases for which the connection could not be established:
CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE;
CONFIGURE CHANNEL DEVICE TYPE SBT_TAPE PARMS 'SBT_LIBRARY=/opt/veeam/VeeamPluginforOracleRMAN/libOracleRMANPlugin.so' FORMAT 'bb7807bc-4e91-4e4f-b21d-953b3632e1e1/RMAN_%I_%d_%T_%U.vab';
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1;
CONFIGURE DEVICE TYPE SBT_TAPE PARALLELISM 8;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F_RMAN_AUTOBACKUP.vab';

Channel definition for RMAN scripts:
ALLOCATE CHANNEL VeeamAgentChannel1 DEVICE TYPE SBT_TAPE
PARMS 'SBT_LIBRARY=/opt/veeam/VeeamPluginforOracleRMAN/libOracleRMANPlugin.so'
FORMAT 'bb7807bc-4e91-4e4f-b21d-953b3632e1e1/RMAN_%I_%d_%T_%U.vab';

Save configuration?
1. Apply configuration to the Oracle environment
2. Export configuration into a file for manual setup
3. Cancel without saving
Enter: 1

O assistente solicitará inicialmente o endereço IP ou hostname do servidor Veeam Backup & Replication. Neste exemplo, utilizei o endereço 192.168.0.1, mantendo a porta padrão 10006. Em seguida, informe as credenciais de um usuário autorizado a estabelecer a conexão com o servidor Veeam.

Após a autenticação, será apresentada a lista de repositórios disponíveis. Neste exemplo, foram identificados dois repositórios: Default Backup Repository e EXA-DB-01. Selecionei a opção 2, correspondente ao repositório criado anteriormente para armazenar os backups dos bancos de dados Oracle.

Na sequência, configurei a quantidade de canais paralelos que serão utilizados pelo RMAN. Neste ambiente, defini o valor 8. Essa configuração deve considerar a capacidade de processamento, armazenamento e rede do ambiente, evitando concorrência excessiva com outras operações.

O próximo parâmetro permite habilitar a compressão disponibilizada pelo Veeam. Neste exemplo, selecionei Y, habilitando o recurso.

Por fim, o assistente solicita a definição do método de autenticação no ambiente Oracle. São disponibilizadas duas opções: autenticação pelo sistema operacional (Operating System Authentication) ou autenticação diretamente no banco de dados (Database Authentication). Neste exemplo, selecionei a opção 1, utilizando a autenticação do sistema operacional.

Com essas informações, o assistente realiza as configurações necessárias para estabelecer a integração entre o Oracle RMAN e o repositório do Veeam, permitindo que os backups sejam direcionados ao destino previamente configurado.

2 – O segundo passo consiste em gerar um identificador único (Backup ID) que será utilizado em operações de restauração em servidores diferentes do servidor de origem.

srv02:~ # cd /opt/veeam/
srv02:/opt/veeam # cd VeeamPluginforOracleRMAN
srv02:/opt/veeam/VeeamPluginforOracleRMAN # ./OracleRMANConfigTool --get-backup-for-restore
Select backup to be used:
1. srv02 Oracle backup (EXA-DB-01)
2. srv03 Oracle backup (EXA-DB-01)
3. srv04 Oracle backup (EXA-DB-01)
Enter backup number:1
To perform restore operations, use ID of the selected backup from the example below as srcBackup parameter value in SEND command:
ALLOCATE CHANNEL VeeamAgentChannel1 DEVICE TYPE SBT_TAPE
PARMS 'SBT_LIBRARY=/opt/veeam/VeeamPluginforOracleRMAN/libOracleRMANPlugin.so';
SEND 'srcBackup=84bc16f5-d979-4e00-9251-98c2a6d715bd';
srv02:/opt/veeam/VeeamPluginforOracleRMAN #

Esse identificador permite referenciar os backups do ambiente de origem durante uma operação de restore em outro servidor. Por exemplo, podemos utilizá-lo para atualizar um ambiente de homologação ou desenvolvimento com os dados de um backup realizado no servidor de produção.

Dessa forma, caso seja necessário restaurar um banco de dados em outro servidor, teremos o identificador necessário para localizar e utilizar os backups correspondentes ao ambiente de origem.

Após a execução, será apresentada uma lista dos backups Oracle disponíveis nos repositórios Veeam. Neste exemplo, foram identificados três servidores: srv02, srv03 e srv04, todos utilizando o repositório EXA-DB-01. Selecionei a opção 1, correspondente ao backup do servidor srv02. Em seguida, a ferramenta retornou um identificador único (UUID) associado ao backup selecionado: 84bc16f5-d979-4e00-9251-98c2a6d715bd. Esse identificador deverá ser utilizado no parâmetro srcBackup da instrução SEND durante a configuração dos canais RMAN em operações de restauração. Dessa forma, quando precisarmos restaurar um banco de dados em outro servidor, como atualizar um ambiente de homologação ou desenvolvimento utilizando um backup realizado em produção, poderemos informar o identificador do backup de origem para que o Veeam localize o conjunto de backups correspondente. É importante armazenar esse UUID, pois ele será necessário nas futuras operações de restore entre servidores.

3 – Script simples para realizar um teste de restore:

RUN
{
ALLOCATE CHANNEL ch1 TYPE sbt_tape PARMS "SBT_LIBRARY=/opt/veeam/VeeamPluginforOracleRMAN/libOracleRMANPlugin.so";
ALLOCATE CHANNEL ch2 TYPE sbt_tape PARMS "SBT_LIBRARY=/opt/veeam/VeeamPluginforOracleRMAN/libOracleRMANPlugin.so";
ALLOCATE CHANNEL ch3 TYPE sbt_tape PARMS "SBT_LIBRARY=/opt/veeam/VeeamPluginforOracleRMAN/libOracleRMANPlugin.so";
ALLOCATE CHANNEL ch4 TYPE sbt_tape PARMS "SBT_LIBRARY=/opt/veeam/VeeamPluginforOracleRMAN/libOracleRMANPlugin.so";
ALLOCATE CHANNEL ch5 TYPE sbt_tape PARMS "SBT_LIBRARY=/opt/veeam/VeeamPluginforOracleRMAN/libOracleRMANPlugin.so";
ALLOCATE CHANNEL ch6 TYPE sbt_tape PARMS "SBT_LIBRARY=/opt/veeam/VeeamPluginforOracleRMAN/libOracleRMANPlugin.so";
SEND "srcBackup=84bc16f5-d979-4e00-9251-98c2a6d715bd";
RESTORE DATABASE PREVIEW;
}

Com essas configurações, concluímos a integração do Oracle RMAN com o repositório Veeam, permitindo centralizar o armazenamento dos backups e facilitar futuras operações de restauração, inclusive entre servidores diferentes, como produção, homologação e desenvolvimento.

search previous next tag category expand menu location phone mail time cart zoom edit close