Gostaria de duplicar para o mesmo servidor Oracle Database com RMAN. Eu configurei a área de recuperação flash para Oracle Database. Meu banco de dados está usando SPFILE conforme mostrado abaixo.
SQL> SELECT DECODE(value, NULL, 'PFILE', 'SPFILE') "Init File Type"
FROM sys.v_$parameter WHERE name = 'spfile
SPFILE
Minhas perguntas são:
se meu banco de dados de origem usa SPFILE, devo criar um PFILE a partir do SPFILE? Em caso afirmativo, como posso fazer isso?
O que eles querem dizer com isso?
Você só precisa criar diretórios referenciados no PFILE ou SPFILE.
Quais diretórios precisam ser criados?
Banco de dados de produção:
/u01/app/oracle/oradata/DB11G/
. Meu SPFILE (spfileDB11g.ora
):DB11G.__java_pool_size=4194304 DB11G.__large_pool_size=4194304 DB11G.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment DB11G.__pga_aggregate_target=155189248 DB11G.__sga_target=264241152 DB11G.__shared_io_pool_size=0 DB11G.__shared_pool_size=171966464 DB11G.__streams_pool_size=4194304 *.audit_file_dest='/u01/app/oracle/admin/DB11G/adump' *.audit_trail='db' *.compatible='11.2.0.0.0' *.control_files='/u01/app/oracle/oradata/DB11G/control01.ctl','/u01/app/oracle/oradata/DB11G/control02.ctl'#Restore Controlfile *.db_block_size=8192 *.db_domain='localdomain' *.db_flashback_retention_target=720 *.db_name='DB11G' *.db_recovery_file_dest='/u01/app/oracle/fra' *.db_recovery_file_dest_size=3221225472 *.diagnostic_dest='/u01/app/oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=DB11GXDB)' *.log_archive_dest_1='location=/u01/app/oracle/archive_logs' *.log_archive_format='db11g%r_%t_%s.arc' *.memory_target=417333248 *.open_cursors=3^AC^@^@C"^@^@^D^@^@^@^@^@^@^@^@^@^A^DU^F^@^@00 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.undo_tablespace='UNDOTBS1'
se os arquivos de backup (autobackup e conjunto de backup) estiverem em um caminho diferente no host de origem (não no caminho FRA padrão), como posso usar o comando duplicar? BTW, apenas os logs de flashback estão no local padrão (
/u01/app/oracle/fra/flashback
). Caminho:/u01/app/oracle/oradata/DB11G/autobackup
e/u01/app/oracle/oradata/DB11G/backupset
.
Sim, você precisa criar um PFILE temporário para usar durante a duplicação do banco de dados. Posteriormente, você alternará a nova instância para usar o SPFILE.
Usar
Você iniciará o banco de dados como NOMOUNT para iniciar a duplicação. Isso significa que os arquivos de controle não serão lidos e, portanto, você não precisa ter os diretórios nos quais os arquivos de dados residem presentes em seu novo host. No entanto, as referências de diretórios nos arquivos de parâmetros devem estar presentes. De sua transcrição,
Você pode achar útil este capítulo da documentação: http://docs.oracle.com/cd/B28359_01/backup.111/b28270/rcmdupdb.htm#i1006474
3
No caso do manual oldskool duplicar no servidor de destino (onde você deseja a duplicação), você pode fazer rman target / catalog start com '<path to backup>';
Em seguida, imprimirá todos os backups, não se preocupe se você tiver outros arquivos aqui. Ele vai dar um cabeçalho não foi possível ler alguma coisa.
Depois disso, você deve fazer backup cruzado; Portanto, ele será atualizado com o que está presente. Ele mostrará os backups que não podem mais ser acessados com a expiração. Você não tem que fazer delete expired.
Você também pode fazer uma duplicata de um banco de dados ativo, o que é mais fácil. consulte http://docs.oracle.com/cd/B28359_01/backup.111/b28270/rcmdupdb.htm#i1006629