View a markdown version of this page

Fase 2: fase de desarrollo (la base de datos de origen permanece en línea) - AWS Guía prescriptiva

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)

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.

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

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

  4. 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

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

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 ydest_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

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`;\

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

    sqlplus / as sysdba @xttstartupnomount.sql
  3. 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
  4. 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 PROCEDUREFUNCTION, 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 datosPACKAGE, comoPROCEDURE, 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, USERPACKAGE_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 exceptoSYSTEM, SYSAUXUNDO, 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 exceptoSYSTEM, SYSAUXUNDO, 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.