Ao restaurar um banco de dados para um servidor alternativo, usando o RMAN diretamente, os seguintes pré-requisitos são obrigatórios:
Por exemplo, considere o seguinte cenário:
Observação: o cenário usado no procedimento a seguir pressupõe que o banco de dados obtido em backup do <Server-A> será restaurado no <Server-B> e seu nome de banco de dados será preservado. Também presume que a estrutura do diretório dos hosts origem e de destino seja a mesma. Além disso, esse cenário presume que o Oracle 10gR2 esteja sendo usado.
Para restaurar um banco de dados para um servidor alternativo, execute as seguintes etapas:
src:/opt/oracle/10gR2:N
Por exemplo:
$cd $ORACLE_BASE/admin $mkdir src $mkdir adump bdump cdump dpdump pfile udump $mkdir -p $ORACLE_BASE/oradata/src $mkdir -p $ORACLE_BASE/flash_recovery_area/SRC
# /opt/CA/ABoraagt/orasetup
Quando o orasetup solicita que você use um catálogo do Gerenciador de recuperação para manusear backups de banco de dados, especifique “y”™.
Você está planejando usar um catálogo do Gerenciador de recuperação para manusear backups de banco de dados (Recomendado)? (S/N) S
Quando o orasetup solicita que o nome da instância Oracle RAC seja especificado, forneça a ID da instância original.
ID da instância do Oracle a ser usada por este agente [<Enter> para concluir]: src O valor do ambiente ORACLE_HOME para esta instância do Oracle: (padrão:/opt/oracle/10gR2):
Quando o orasetup solicita que você especifique o nome do serviço do Gerenciador de recuperação, especifique o nome TNS configurado para o banco de dados de catálogo do RMAN.
Como você configurou o Gerenciador de recuperação, forneça o nome do serviço Gerenciador de recuperação para o banco de dados src. Nome do serviço do Gerenciador de recuperação: catdb
Nó # a partir de onde o backup original foi feito SBT_ORIGINAL_CLIENT_HOST=Server-A.
Estabeleça conexão com a instância do banco de dados original src como usuário sysdba.
$ sqlplus "/ as sysdba" Gere o pfile a partir de spfile. SQL>create pfile from spfile;
Um arquivo chamado init<$ORACLE_SID>.ora é criado no caminho $ORACLE_HOME/dbs, copie o arquivo para o mesmo caminho localizado no Servidor B de destino alternativo.
Supondo que o nome do banco de dados existente seja “tmpdb”.
Crie o pfile de spfile para o banco de dados “tmpdb”.
Estabeleça conexão com a instância do banco de dados “tmpdb” como usuário sysdba.
$export ORACLE_SID=tmpdb $sqlplus "/ as sysdba" Gere o pfile a partir de spfile. SQL> create pfile from spfile;
O arquivo “inittmpdb.ora” é criado no caminho ORACLE_HOME/dbs. Copie o arquivo para “initsrc.ora” e desse arquivo, substitua todos os nomes de SID “temdb” por “src” e salve o arquivo.
$export ORACLE_SID=src $sqlplus /nolog SQL>conn sys/passw0rd as sysdba SQL>startup nomount pfile=$ORACLE_HOME/dbs/init$ORACLE_SID.ora SQL>exit
$rman catalog rman/rman@catdb
RMAN> set dbid=<valor do db_id do banco de dados de origem>
RMAN> connect target system/passw0rd;
RMAN>run {
2>allocate channel ch1 type sbt parms='SBT_LIBRARY=/opt/CA/ABoraagt/libobk64.so';
3>restore spfile;
4>release channel ch1;
5>}
Observação: no caso de um banco de dados Oracle de 32 bits, o SBT_LIBRARY usa libobk32.so. Para um banco de dados Oracle de 64 bits, o SBT_LIBRARY usa libobk64.so.
A tarefa de restauração é executada na fila de tarefas do Servidor do CA ARCserve Backup. Quando a tarefa estiver concluída, o banco de dados spfile restaura para caminho $ORACLE_HOME/dbs.
Encerre o banco de dados.
RMAN>shutdown immediate; RMAN>exit
Reinicie o banco de dados com a opção "sem montagem" usando o spfile que acabou de ser restaurado.
$sqlplus /nolog SQL>conn sys/passw0rd as sysdba SQL>startup nomount SQL>quit
$rman catalog rman/rman@catdb
RMAN> set dbid=<valor do db_id do banco de dados de origem>
RMAN> connect target system/passw0rd;
RMAN> run {
2> allocate channel dev1 type 'sbt_tape'
parms='SBT_LIBRARY=/opt/CA/ABoraagt/libobk64.so';
3> restore controlfile;
4> release channel dev1;
5> }
Como alternativa, se você restaurar o arquivo de controle de uma determinada seção de backup para executar uma restauração com horário definido, execute as etapas a seguir:
$ rman catalog rman/rman@catdb
RMAN> set dbid=<valor do db_id do banco de dados de origem>
RMAN> connect target system/passw0rd;
RMAN> run {
2> allocate channel dev1 type 'sbt_tape'
parms='SBT_LIBRARY=/opt/CA/ABoraagt/libobk64.so';
3> restore controlfile from ‘Y’;
4> release channel dev1;
5> }
Para obter “Y”™, que indica as informações da seção de backup, faça o seguinte:
RMAN> set dbid=<dbid>; RMAN> list backup of controlfile;
A tarefa de restauração é executada na fila de tarefas do Servidor do CA ARCserve Backup. Quando a tarefa estiver concluída, os arquivos de controle do banco de dados serão restaurados para o caminho $ORACLE_HOME/oradata/$ORACLE_SID.
$sqlplus / as sysdba SQL>alter database mount; SQL>exit
$rman catalog rman/rman@catdb
RMAN> set dbid=<valor do db_id do banco de dados de origem>
RMAN> connect target system/passw0rd;
RMAN>run {
2>allocate channel ch1 type sbt parms='SBT_LIBRARY=/opt/CA/ABoraagt/libobk64.so';
3>restore database;
4>restore archivelog all;
5>release channel ch1;
6>}
A tarefa de restauração é executada na fila de tarefas do Servidor do CA ARCserve Backup. Quando a tarefa estiver concluída, os arquivos de banco de dados e os logs de arquivo são restaurados.
$sqlplus / as sysdba SQL> recover database using backup controlfile until cancel
SQL> alter database open resetlogs;
|
Copyright © 2013 CA.
Todos os direitos reservados.
|
|