Antes de começar, é recomendável consultar o Serviço de backup e DR para Oracle.
Antes de fazer backup de bancos de dados Oracle, adicione o servidor Oracle como um host ao serviço de backup e DR. Para que isso funcione, consulte os Pré-requisitos para fazer backup de um banco de dados do Oracle e siga estas etapas de preparação.
Preparar bancos de dados Oracle em um ambiente Linux
Antes de proteger um banco de dados Oracle ou se os jobs de proteção do banco de dados falharem, verifique se as configurações a seguir estão corretas no servidor de banco de dados Oracle.
Cada banco de dados Oracle a ser protegido precisa estar em execução. Exemplo:
database: actdb #ps -ef | grep pmon | grep -i actdb oracle 27688 1 0 2015 ? 00:26:24 ora_pmon_actdb
O banco de dados precisa estar em execução no modo de registro de arquivo. Para verificar se o banco de dados está em execução no modo de registro de arquivo, faça login no servidor de banco de dados como usuário do SO Oracle e defina a variável de ambiente do banco de dados:
export ORACLE_HOME=<oracle home path> (get this from /etc/oratab) export ORACLE_SID=<database instance name> (you can get this through ps -ef | grep pmon) export PATH=$ORACLE_HOME/bin:$PATH
Faça login no sqlplus:
#sqlplus / as sysdba #SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination +FRA Oldest online log sequence 569 Next log sequence to archive 570 Current log sequence 570 #SQL>
O banco de dados precisa usar
spfile
. Verifique se o banco de dados está em execução comspfile
:#sqlplus / as sysdba SQL> show parameter spfile NAME TYPE VALUE ------------------ ----------- ------------ spfile string +DATA/ctdb/spfilectdb.ora
Para o banco de dados Oracle RAC, o arquivo de controle de snapshot precisa estar localizado em discos compartilhados. Para um banco de dados Oracle RAC no ASM, o arquivo de controle de snapshot precisa estar localizado em discos compartilhados.
Para verificar isso, conecte-se ao RMAN e execute o comando
show all
. Configure-o se necessário:rman target /
Em seguida, no RMAN:
show all
Os parâmetros de configuração do RMAN para o banco de dados com db_unique_name CTDB são:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/mnt/ctdb/snapcf_ctdb.f';
Este exemplo mostra a configuração definida para o sistema de arquivos local.
Em um ambiente RAC, isso precisa ser definido como grupo de discos ASM compartilhado. Para colocar no grupo de discos do ASM, use:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+<DG name>/snap_<DB name>.f';
Preparar para fazer backup de um banco de dados Oracle com arquivos de dados em um grupo de discos ASM
Backup e disco de preparação de DR em um grupo de discos do ASM
O parâmetro de string de disco do ASM precisa ser definido e não pode ser nulo. Faça login no servidor de banco de dados como usuário do ASM OS e defina a variável de ambiente do ASM:
# export ORACLE_HOME=(oracle ASM home path)
(get this from /etc/oratab)
#export ORACLE_SID=(ASM instance name) (you
can get this through ps ?ef | grep pmon)
#export PATH=$ORACLE_HOME/bin:$PATH
Conectar a sqlplus
:
#sqlplus / as sysasm
#sql> show parameter asm_diskstring
NAME TYPE VALUE
------------------- ----------- ------------------------------
asm_diskstring string ORCL:*, /dev/sdt1, /dev/sdu1
Se o resultado do valor for nulo, obtenha o valor correto da string de disco do ASM
para os discos do ASM antes de prosseguir com a proteção de backup e DR. O backup de backup e DR adiciona o caminho da string de disco
(/dev/Backup and DR/asm/*
) para que o disco de preparo de backup seja
mapeado para o ASM.
Backup e disco de preparação de DR no sistema de arquivos
Se você estiver protegendo um banco de dados ASM do Oracle em um sistema de arquivos, defina Convert ASM to file system como Yes em Application Details & Settings. Consulte Detalhes e configurações do aplicativo para bancos de dados Oracle.
Preparar a autenticação do banco de dados Oracle
As etapas de preparação a seguir são necessárias apenas se você planeja usar a autenticação de banco de dados. A autenticação do banco de dados Oracle é descrita em Backup e DR usando a autenticação do banco de dados.
Siga as etapas em Preparar bancos de dados Oracle em um ambiente Linux.
Crie uma conta de usuário do banco de dados para backup e DR, se não tiver sido fornecida:
create user act_rman_user identified by <password>;
Conceda acesso
sysdba
a todos os nós do RAC fazendo login emsqlplus
para todos os nós e executando:grant create session, resource, sysdba to act_rman_user;
No Oracle 12c, essa função pode ser
sysbackup
em vez deof sysdba
, e o nome de usuário do banco de dados começa com #.Verifique se o papel
sysdba
foi concedido em todos os nós no ambiente do RAC:#sqlplus / as sysasm # sql> select * from gv$pwfile_users; INST_ID USERNAME SYSDB SYSOP SYSAS ---------- -------------- ----- ----- ----- 1 SYS TRUE TRUE FALSE 2 SYS TRUE TRUE FALSE 1 ACT_RMAN_USER TRUE TRUE FALSE 2 ACT_RMAN_USER TRUE TRUE FALSE
Teste o nome do serviço com base no tipo de ambiente usando as seguintes instruções:
Criar e verificar o nome do serviço do Oracle em um ambiente sem RAC
O nome do serviço Oracle é usado apenas para autenticação do banco de dados. Ela não é necessária para a autenticação do SO.
Exemplo:
Nome do banco de dados: dbstd
,
Nome da instância: dbstd
Se o nome do serviço Oracle não estiver listado, crie a entrada de nome de serviço no arquivo
tnsnames.ora
em$ORACLE_HOME/network/admin
ou$GRID_HOME/network/admin
adicionando a entrada:act_svc_dbstd = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = (IP of the database server)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dbstd) ) )
Se o arquivo
tnsnames.ora
estiver em um local não padrão, forneça o caminho absoluto para ele em Detalhes e configurações do aplicativo, conforme descrito em Detalhes e configurações do aplicativo para bancos de dados Oracle.Teste a entrada do nome do serviço para o banco de dados e verifique se ela está configurada:
Faça login como usuário do Oracle OS e defina o ambiente do Oracle:
TNS_ADMIN=(tnsnames.ora file location) tnsping act_svc_dbstd
Verifique a conta de usuário do banco de dados para garantir que o backup e o DR possam se conectar:
sqlplus act_rman_user/act_rman_user@act_svc_dbstd as sysdba
Forneça o nome do serviço criado (act_svc_dbstd) na configuração "Nome do serviço Oracle " em Detalhes e configurações do aplicativo, conforme descrito em Detalhes e configurações do aplicativo para bancos de dados Oracle.
Criar e verificar o nome do serviço do Oracle em um ambiente RAC
O nome do serviço do Oracle é usado apenas para autenticação do banco de dados. Ele não é necessário para a autenticação do SO.
Exemplo de RAC de três nós:
Nome do banco de dados:
dbrac
Nome da instância 1:
dbrac1
Nome da instância 2:
dbrac2
Nome da instância 3:
dbrac3
com a proteção do banco de dados definida no Node3 (nome da instânciadbrac3
):
Crie uma entrada de nome de serviço no arquivo
tnsnames.ora
em$ORACLE_HOME/network/admin
ou$GRID_HOME/network/admin
, adicionando a seguinte entrada:act_svc_dbrac3 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = (IP of the database server)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (INSTANCE_NAME = dbrac3) (SERVICE_NAME = dbrac) ) ) ) Where: HOST = This can be SCAN IP in a RAC environment or VIP or IP of the node 3 database server. SERVICE_NAME = database name INSTANCE_NAME = database instance name on node3
Teste o nome do serviço:
Faça login como usuário do Oracle OS e defina o ambiente do Oracle:
TNS_ADMIN=(tnsnames.ora file location) tnsping act_svc_dbrac3
Verifique a conta de usuário do banco de dados para garantir que o backup e o DR possam se conectar:
sqlplus act_rman_user/act_rman_user@act_svc_dbrac3 as sysdba
Informe o nome do serviço criado (act_svc_dbrac3) na configuração "Nome do serviço da Oracle " em Detalhes e configurações do aplicativo, conforme descrito em Detalhes e configurações do aplicativo para bancos de dados Oracle.
Se o arquivo tnsnames.ora estiver em um local não padrão, forneça o caminho absoluto para o arquivo tnsnames.ora na configuração de caminho
TNS_Admin
do Oracle em Detalhes e configurações do aplicativo descrito em Detalhes e configurações do aplicativo para bancos de dados Oracle.
Ativar o rastreamento de alterações de bloco do banco de dados (opcional)
O rastreamento de bloco de mudança do banco de dados está descrito em Rastreamento de bloco de mudança do banco de dados Oracle (BCT).
Para verificar se o rastreamento de alterações de bloqueio do banco de dados está ativado:
sqlplus / as sysdba
No prompt do SQL:
select * from v$block_change_tracking;
Se o rastreamento de alterações de bloqueio do banco de dados não estiver ativado, ative o rastreamento de alterações de bloqueio do banco de dados no sqlplus:
Como usar o grupo de discos do ASM
sqlplus / as sysdba
No prompt do SQL:
alter database enable block change tracking using file '+<ASM Disk Group Name>/<database name>/<dbname>.bct';
Como usar o sistema de arquivos
sqlplus / as sysdba
No prompt do SQL:
alter database enable block change tracking using file '$ORACLE_HOME/dbs/<dbname>.bct';
Proteger contra um nó do Oracle Data Guard
É possível proteger um banco de dados Oracle de nós de banco de dados principais ou de nós de espera do Oracle Data Guard. Se a proteção for definida em um nó do Oracle Data Guard, defina as credenciais do nó principal em "Detalhes e configurações do aplicativo" no console de gerenciamento.
Para autenticação do banco de dados (somente Linux)
Nome de usuário/senha: as credenciais da conta de usuário do banco de dados. Para que essa conta de usuário esteja disponível no nó do Data Guard com acesso sysdba, ela precisa ser criada com o privilégio sysdba no nó principal. Consulte a criação de uma conta de usuário de backup com acesso sysdba. Em seguida, o arquivo de senha (em
$ORACLE_HOME/dbs/
) do nó principal precisa ser copiado para o nó do Data Guard.
Para autenticação do SO
- Nome de usuário/senha: na autenticação do SO, o privilégio sysdba
não é necessário. Esta conta de usuário do banco de dados precisa do privilégio
connect, alter system
. Para que essa conta de usuário esteja disponível no nó do Data Guard, ela precisa ser criada no nó principal.
Se o usuário não tiver o papel de sysdba, ele precisará de grant connect, alter system, select on dba_tablespaces
.
Para conceder esses privilégios, no prompt de comando sql:
grant connect, alter system, select on dba_tablespaces to act_rman_user;
- Nome de serviço do nó principal do Oracle Data Guard: é o nome de serviço no arquivo tnsnames.ora configurado no nó do Data Guard para se conectar ao nó principal do nó de espera. O nome do serviço do nó principal do Oracle Data Guard é necessário para a autenticação do SO e do DB se o backup for configurado no nó de espera do Data Guard.
Para detalhes completos sobre todos os detalhes e configurações, consulte Detalhes e configurações do aplicativo para bancos de dados Oracle.
Nó do banco de dados | Autenticação do SO | Autenticação do banco de dados |
---|---|---|
Principal | Nenhuma credencial de banco de dados é necessária. | As credenciais do banco de dados são necessárias. Se nenhuma função for selecionada, o sysdba será usado. |
Espera | As credenciais do banco de dados são necessárias até mesmo para a autenticação do SO (para se conectar ao primário para alternar o registro). As credenciais do banco de dados não precisam ter um papel sysdba/sysbackup. Se uma conta sysdba/sysbackup for usada, defina a função do usuário em Função do usuário no banco de dados em "Detalhes e configurações do aplicativo". | As credenciais do banco de dados são necessárias. As credenciais do banco de dados precisam ser para o papel sysdba ou sysbackup, e Papel do usuário no banco de dados precisa ser definido como sysdba ou sysbackup em Detalhes e configurações do aplicativo. Para configurar a autenticação do banco de dados, consulte Ativar a autenticação do banco de dados para um servidor Oracle. |
Configurar o failover transparente do RAC do backup do RMAN para outros nós
O agente de backup e DR precisa estar instalado e em execução em todos os nós que você planeja incluir na configuração de failover de backup. A proteção é configurada em apenas um nó.
Em "Detalhes e configurações", "Nós do cluster", especifique a escolha do nó de failover em um ambiente do Oracle RAC:
<Failover choice>:<Node IP>:<Servicename>:<Role>
Em que:
Escolha de failover:a ordem de nó em que o failover será feito.
Endereço IP do nó:o endereço IP do nó em que você quer executar o backup.
Nome do serviço:o nome do serviço criado e especificado em tnsnames.ora para backup de RMAN de backup e DR. Pode ser um novo serviço dedicado criado para backup e DR ou o nome do SID (nome da instância) do banco de dados nesse nó.
Função:F, indicando que é um nó de failover
Para criar um novo nome de serviço no nó de failover no arquivo tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora ou $GRID_HOME/network/admin/tnsnames.ora)
Exemplo em um ambiente do Oracle One Node
O RAC One Node consiste em dois nós:
172.15.157.200
172.15.157.201
Ele tem um banco de dados OneN em execução apenas em um dos nós a qualquer momento. OneN está protegido de 172.15.157.200, com as configurações do nó do cluster especificadas como 1:172.15.157.201:OneN:F
Se o OneN falhar para 172.15.157.201, o backup e o DR o seguirão e iniciarão o próximo job de backup de 172.15.157.201 em vez de 200. Se o failover ocorrer no meio de um job de backup, o job vai falhar e o próximo job vai usar o nó de failover para iniciar um novo backup.
Exemplo em um ambiente Oracle, não um nó:
RAC de 2 nós (
dbrac1
,dbrac2
)A proteção é definida usando o nome do banco de dados "dbrac" de
dbrac1
e o failover é definido comodbrac2
Nome do serviço no node2:
act_svc_dbrac2
IP do nó 2 ou IP da verificação:
172.1.1.0
act_svc_node2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.1.1.0)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(INSTANCE_NAME = dbrac2)
(SERVICE_NAME = dbrac)
) )
Em Detalhes e configurações do aplicativo, as entradas dos nós do cluster são as seguintes:
Failoverchoice:NodeIP:Servicename:Role
1:172.1.1.1:act_svc_node2:F
O comportamento das entradas de nó do cluster F e M
F: o nó de failover só participa quando o nó de proteção não é para realizar o backup.
M: nó de manutenção, substitui o nó de proteção se for validado para realizar o backup.
Compactação de registros de arquivo do Oracle
O backup de registro de backup e DR oferece suporte à compactação de conjuntos de backup de registro do Oracle. O tipo de compactação selecionado depende dessas configurações de configuração do RMAN. Selecione uma opção com base no seu caso de uso.
As proporções de compactação mais baixas têm o menor impacto no throughput de backup. Eles são mais adequados para ambientes em que os recursos da CPU são o fator limitante.
A compressão média é recomendada para a maioria dos ambientes. Eles oferecem uma boa combinação de taxas de compactação e velocidade.
As altas taxas de compactação consomem muitos recursos e são mais adequadas para backups em redes mais lentas, em que o fator limitante é a velocidade da rede.
A configuração padrão é "Básico". O nível básico não requer a compactação avançada do Oracle.
Para verificar o tipo de compressão definido no ambiente, execute o comando show all
no prompt do RMAN:
rman target /
show all
Configurar os serviços de banco de dados Oracle para balanceamento de carga em vários nós
Este procedimento se aplica apenas a bancos de dados do Oracle ASM. Neste exemplo, suponha um ambiente RAC de quatro nós. Os nós 3 e 4 serão balanceados de carga para uso de backup.
Veja estes tópicos:
O balanceamento de carga entre nós do Oracle RAC exige a autenticação do banco de dados Oracle.
Configurar a cópia de imagem RMAN paralela de vários nós
Em um ambiente RAC, é possível configurar o backup para ser executado em paralelo em vários nós.
Instale o agente de backup e DR em todos os nós.
Configure o mapeamento do grupo de discos do ASM para o nó 3 e o nó 4 usando os detalhes e as configurações do aplicativo.
Crie um serviço de banco de dados usando srvctl para executar no nó 3 e no nó 4.
Use esse serviço para especificar em Detalhes e configurações do aplicativo. Escolha "Número de canais" em "Configurações avançadas". O RMAN distribui os canais entre o nó 3 e o nó 4.
Defina o nome do serviço do Oracle e os nós de membro do RAC.
Configurar os serviços de banco de dados Oracle para balanceamento de carga em vários nós
Configure em Detalhes e configurações do aplicativo, nós de membros do RAC: IP do nó3 e IP do nó 4.
Crie um serviço de banco de dados para que o nó de manutenção seja usado pelo Backup e DR para backup:
srvctl add service -d <dbname> -s act_service_<dbname> -r <dbinstance3>,<dbinstance4> srvctl start service -d <dbname> -s act_service_<dbname>
Adicione a entrada tns para o nome do serviço Oracle criado nos nós de backup (
dbinstance3
edbinstance4
neste exemplo) no arquivo tnsnames.ora (em $ORACLE_HOME/network/admin/tnsnames.ora ou $GRID_HOME/network/admin/tnsnames.ora)act_service_<dbname> = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <DATABASE NAME>) ) )
Teste o nome do serviço criado:
tnsping actservice
Teste o nome do serviço e as credenciais do usuário:
sqlplus act_rman_user/act_rman_user@act_service_<dbname> as sysdba
Especifique esse nome de serviço em Detalhes e configurações do aplicativo nome de serviço da Oracle.
Crie um serviço de backup de registro de arquivamento dedicado em um nó protegido (por exemplo, nó 3) para ser usado no backup:
srvctl add service -d <dbname> -s act_arc_service_<dbname> -r <dbinstance3> srvctl start service -d <dbname> -s act_arc_service_<dbname>
Adicionar a entrada tns para o nome do serviço de backup de registro de arquivo criado no arquivo
tnsnames.ora
($ORACLE_HOME/network/admin/tnsnames.ora
ou$GRID_HOME/network/admin/tnsnames.ora
).act_arc_service_<dbname> = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (INSTANCE_NAME = <node 3 instance>) (SERVICE_NAME = act_arc_service_<dbname>) ) )
Teste o nome do serviço:
tnsping act_archservice
Especifique esse nome de serviço em Detalhes e configurações do aplicativo, em Logs de arquivo de backup de nome de serviço.
Patch do Oracle 12c
As montagens de backup e DR com conhecimento do aplicativo podem falhar se a instalação do Oracle 12c não incluir esse patch, que pode ser feito o download no portal de suporte da Oracle:
Bug do Oracle Database 12c 19404068 (ORA-1610 ao recuperar o banco de dados para o arquivo de controle criado)
- (Patch 19404068) Linux x86-64 para Oracle 12.1.0.2.0
Para conferir se o patch está instalado, execute:
$cd $ORACLE_HOME/OPatch
$./opatch lsinventory -details
$./opatch lsinventory -details | grep 19404068
A seguir
Antes de adicionar o host do Oracle, faça o seguinte:
Guia do DBA do Oracle
Criar uma cópia virtual instantânea de um banco de dados Oracle
Recuperação instantânea de um banco de dados Oracle usando o Mount and Migrate
Provisionar um ambiente com um fluxo de trabalho de backup e DR