

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Fase 2: fase de desarrollo (la base de datos de origen permanece en línea)
<a name="phase2"></a>

Puede repetir la fase de avance tantas veces como sea necesario para atrapar el archivo de datos de destino hasta la base de datos de origen.

La fase de transferencia consta de los siguientes pasos.

1. Cree una copia de seguridad incremental a partir de la base de datos de origen.

1. Transfiera la copia de seguridad al sistema de destino.

1. Convierta la copia de seguridad al formato endian del sistema de destino.

1. Aplique la copia de seguridad a las copias del archivo de datos de destino convertidas para transferirlas hacia adelante.

Cada copia de seguridad incremental sucesiva debería llevar menos tiempo y hará que las copias del archivo de datos de destino estén más actualizadas con respecto a la base de datos de origen.

## Paso 1: Realice copias de seguridad incrementales en paralelo
<a name="phase2-step1"></a>

Realice copias de seguridad incrementales de los grupos de tablespaces que se transportan al sistema de origen en paralelo.

Este paso crea copias de seguridad incrementales para todos los tablespaces= que aparecen en el archivo. `xtt.properties`

Si puede activar la función de **seguimiento de cambios de bloques** en el sistema de origen, puede reducir considerablemente el tiempo de la copia de seguridad incremental.

El siguiente comando reconoce automáticamente el siguiente SCN después de la copia de seguridad completa.

```
cd /u01/oracle/expimp/xtt<nn>
export TMPDIR=/u01/oracle/expimp/out/out<nn>
$ORACLE_HOME/perl/bin/perl xttdriver.pl --backup --debug 3
```

## Paso 2: Transfiera las copias de seguridad incrementales y el archivo res.txt al sistema de destino
<a name="phase2-step2"></a>

Si tiene suficiente ancho de banda, puede reducir la duración de la transferencia utilizando Direct Connect.

Transfiera las copias de seguridad incrementales entre `src_scratch_location` y`dest_scratch_location`. Transfiera el `res.txt` archivo entre `$TMPDIR` el sistema de origen y `$TMPDIR` el sistema de destino.

Si realiza varias copias de seguridad incrementales, el `res.txt` archivo debe copiarse después de la última copia de seguridad incremental para poder aplicarlo en el 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>
```

## Paso 3: Convertir y aplicar copias de seguridad incrementales
<a name="phase2-step3"></a>

Convierta las copias de seguridad incrementales al formato endian del sistema de destino y aplique las copias de seguridad incrementales a las copias de los archivos de datos de destino en el sistema de destino.

En esta guía, supongamos que los grupos de tablespaces son cuatro. Ejecute cada `xttdriver.pl` comando con la `--restore` opción para cada grupo de tablespaces.

En este paso, la utilidad XTTS de Oracle toma la base de datos de destino para reiniciarla. Para ejecutar el comando en paralelo, debe utilizar la siguiente personalización en el script de Perl,`xttdriver.pl`.

****

1. Comente las siguientes líneas:
   + Línea 4867: ` my $outputstart = `sqlplus -L -s \"/ as sysdba\" \@xttstartupnomount.sql`;`
   + Línea 4868: ` checkError ("Error in executing xttstartupnomount.sql", $outputstart);`
   + Línea 4992: ` my $outputstart = `sqlplus -L -s \"/ as sysdba\" \@xttdbopen.sql`;\`

1. Haga que la base de datos de destino esté en `NOMOUNT` estado.

   ```
   sqlplus / as sysdba @xttstartupnomount.sql
   ```

1. Realice una actualización de las copias de seguridad incrementales en 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
   ```

1. Tras ejecutar todas las copias de seguridad incrementales, establezca el `OPEN` estado de la base de datos de destino.

   ```
   sqlplus / as sysdba @xttdbopen.sql
   ```

En este punto, puede repetir la fase 2 hasta que las bases SCNs de datos de origen y destino se acerquen lo suficiente. Debe decidir si pasar a la fase 3 o repetir la fase 2, en función del tiempo de inactividad previsto.

Para reducir el tiempo de inactividad durante la fase 3 (la fase de transporte), puede exportar e importar los metadatos de los objetos no basados en segmentos, como,, y `USER` `PACKAGE` `PROCEDURE``FUNCTION`, antes de configurar la base de datos de origen como. `READ ONLY`

Si el número de objetos de la base de datos de origen es muy elevado (cientos de miles), la exportación e importación de los metadatos tardará varias horas. En este caso, considere la posibilidad de exportar los metadatos.

La exportación de objetos no basados en segmentos se ejecuta read/write en el sistema de origen. A continuación, debe importar los objetos al sistema de destino antes de configurar el sistema de origen en. `READ ONLY` En este momento, debe mantener los objetos de origen de la base de datos`PACKAGE`, como`PROCEDURE`, y `FUNCTION` sin cambios.

Este es un ejemplo del archivo de parámetros de volcado que se utiliza para exportar metadatos de objetos no basados en segmentos, como, `USER``PACKAGE_SPEC`, `PACKAGE_BODY` y. `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
```

Utilice el siguiente comando para exportar metadatos.

```
SQL> create directory dmpdir as <location>;
expdp system/<system password> parfile=<parameter file>
```

Este es un ejemplo del archivo de parámetros de volcado para importar metadatos de objetos no 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,
…..
```

En este momento, no hay espacios de tablas excepto`SYSTEM`, `SYSAUX``UNDO`, y `TEMP` en el sistema de destino. Por lo tanto, debe volver a mapear todos los objetos que se van a importar al espacio de tablas. `SYSTEM`

Utilice el siguiente comando para importar metadatos.

```
SQL> create directory dmpdir as <location>;
impdp system/<system password> parfile=<parameter file>
```

Ahora puede ver los objetos creados en la base de datos 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
…..
```

No hay espacios de tabla excepto`SYSTEM`, `SYSAUX``UNDO`, y. `TEMP` El `USER` objeto se crea con el `USERS` tablespace predeterminado. Durante la fase 3, se crearán los espacios de tabla transportables y, a continuación, los objetos USER se modificarán con los espacios de tabla predeterminados originales.