As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Fase 2 — Fase de avanço (o banco de dados de origem permanece on-line)
Você pode repetir a fase de roll-forward quantas vezes for necessário para capturar o arquivo de dados de destino até o banco de dados de origem.
A fase de avanço consiste nas seguintes etapas.
-
Crie um backup incremental do banco de dados de origem.
-
Transfira o backup para o sistema de destino.
-
Converta o backup para o formato endian do sistema de destino.
-
Aplique o backup às cópias convertidas do arquivo de dados de destino para transferi-las para frente.
Cada backup incremental sucessivo deve levar menos tempo e tornará as cópias do arquivo de dados de destino mais atualizadas com o banco de dados de origem.
Etapa 1: Faça backups incrementais em paralelo
Faça backups incrementais dos grupos de espaços de tabela que estão sendo transportados no sistema de origem em paralelo.
Essa etapa cria backups incrementais para todos os tablespaces= listados no arquivo. xtt.properties
Se você puder ativar o recurso BLOCK CHANGE TRACKING no sistema de origem, poderá reduzir consideravelmente o tempo do backup incremental.
O comando a seguir reconhece automaticamente o próximo SCN após o backup completo.
cd /u01/oracle/expimp/xtt<nn> export TMPDIR=/u01/oracle/expimp/out/out<nn> $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup --debug 3
Etapa 2: Transferir os backups incrementais e o arquivo res.txt para o sistema de destino
Se você tiver largura de banda suficiente, poderá reduzir a duração da transferência usando. Direct Connect
Transfira os backups incrementais entre src_scratch_location e. dest_scratch_location Transfira o res.txt arquivo entre $TMPDIR o sistema de origem e $TMPDIR o sistema de destino.
Se você fizer vários backups incrementais, o res.txt arquivo deverá ser copiado após o último backup incremental antes de poder ser aplicado no sistema de destino.
[source]$ scp $TMPDIR/res.txt oracle@[dest]:/u01/oracle/expimp/out/out<nn> [source]$ scp <src_scratch_location>/* oracle@[dest]:<dest_scratch_location>
Etapa 3: converter e aplicar backups incrementais
Converta backups incrementais no formato endian do sistema de destino e aplique backups incrementais às cópias do arquivo de dados de destino no sistema de destino.
Neste guia, suponha que os grupos de espaços de tabela sejam quatro. Execute cada xttdriver.pl comando com a --restore opção para cada grupo de espaços de tabela.
Nesta etapa, o utilitário Oracle XTTS faz com que o banco de dados de destino seja reiniciado. Para executar o comando em paralelo, você deve usar a seguinte personalização no script Perl,. xttdriver.pl
-
Comente as seguintes linhas:
-
Linha 4867:
my $outputstart = `sqlplus -L -s \"/ as sysdba\" \@xttstartupnomount.sql`; -
Linha 4868:
checkError ("Error in executing xttstartupnomount.sql", $outputstart); -
Linha 4992:
my $outputstart = `sqlplus -L -s \"/ as sysdba\" \@xttdbopen.sql`;\
-
-
Coloque o banco de dados de destino em
NOMOUNTstatus.sqlplus / as sysdba @xttstartupnomount.sql -
Execute uma atualização dos backups incrementais em paralelo.
cd /u01/oracle/expimp/xtt<nn> export TMPDIR=/u01/oracle/expimp/out/out<nn> $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore --debug 3 -
Depois de avançar com todos os backups incrementais, defina o
OPENstatus do banco de dados de destino.sqlplus / as sysdba @xttdbopen.sql
Nesse ponto, você pode repetir a fase 2 até que os bancos de dados de origem e destino se SCNs aproximem o suficiente. Você deve decidir se vai para a fase 3 ou se repete a fase 2, dependendo do tempo de inatividade desejado.
Para reduzir o tempo de inatividade durante a fase 3 (a fase de transporte), você pode exportar e importar os metadados de objetos não baseados em segmentos, como,, e USER PACKAGE PROCEDUREFUNCTION, antes de definir o banco de dados de origem como. READ ONLY
Se o número de objetos do banco de dados no banco de dados de origem for extremamente grande (centenas de milhares), a exportação e importação dos metadados levará várias horas. Nesse caso, considere exportar metadados.
A exportação de objetos não baseados em segmentos é executada read/write no sistema de origem. Em seguida, você deve importar os objetos para o sistema de destino antes que o sistema de origem seja definido comoREAD ONLY. Neste momento, você deve manter os objetos de origem do banco de dadosPACKAGE, como, ePROCEDURE, FUNCTION inalterados.
Esse é um exemplo do arquivo de parâmetros de despejo usado para exportar metadados de objetos não baseados em segmentos, incluindo,,USER, e. PACKAGE_SPEC PACKAGE_BODY PROCEDURE FUNCTION
directory=dmpdir dumpfile=xttsmsc%U.dmp full=y filesize=1048576000 logfile=expmsc.log metrics=y exclude=TABLE,INDEX,CONSTRAINT,COMMENT, MATERIALIZED_VIEW,MATERIALIZED_VIEW_LOG,SCHEMA_CALLOUT
Use o comando a seguir para exportar metadados.
SQL> create directory dmpdir as <location>; expdp system/<system password> parfile=<parameter file>
Esse é um exemplo do arquivo de parâmetros de despejo para importar metadados de objetos não segmentados.
directory=dmpdir dumpfile=xttsmsc%U.dmp full=y logfile=impmsc1.log EXCLUDE=TABLESPACE, PROCOBJ, RLS_CONTEXT, RLS_GROUP, RLS_POLICY, TABLESPACE_QUOTA metrics=y remap_tablespace= APPS_TS_ARCHIVE:SYSTEM, APPS_TS_INTERFACE:SYSTEM, APPS_TS_SEED:SYSTEM, APPS_TS_SUMMARY:SYSTEM, …..
No momento, não há espaços de tabelaSYSTEM, exceto, SYSAUXUNDO, e TEMP no sistema de destino. Portanto, você deve remapear todos os objetos a serem importados para o espaço de SYSTEM tabela.
Use o comando a seguir para importar metadados.
SQL> create directory dmpdir as <location>; impdp system/<system password> parfile=<parameter file>
Agora você pode ver os objetos criados no banco de dados de destino.
SQL> select object_type, count(*) from dba_objects group by object_type order by count(*) desc; OBJECT_TYPE COUNT(*) ------------------------------- ---------- SYNONYM 89327 PACKAGE 55670 PACKAGE BODY 54447 VIEW 41378 JAVA CLASS 31978 SEQUENCE 12766 …..
Não há espaços de tabelaSYSTEM, exceto,SYSAUX, e. UNDO TEMP O USER objeto é criado com USERS o tablespace padrão. Durante a fase 3, os espaços de tabela transportáveis serão criados e, em seguida, os objetos USER serão alterados com os espaços de tabela padrão originais.