Migración a la versión 12c de la base de datos Oracle sin interrupción de servicio usando Oracle Golden Gate 12c

La interrupción del servicio durante una migración de versión de una  base de datos es una de las principales razones que influye en la decisión de realizar la migración o seguir manteniendo la misma versión aunque se tenga que hacer frente a los problemas que ya bien se conocen, como la falta de soporte del proveedor, la reparación de fallas y la falta de las nuevas características con que cuentan las nuevas versiones de bases de datos.
Utilizar “Oracle Golden Gate” para realizar la migración es la forma más simple y efectiva para reducir el tiempo de interrupción del servicio durante una migración de versión de una base de datos. 
Durante la migración, no se afectará el rendimiento en la base de datos origen debido a la forma en que se extrae la información de los cambios, haciendo uso de los archivos “redo logs”.

Ambiente utilizado:
Base de datos:
  • Base de datos origen:             /u01/app/oracle/product/10.2.0/db_1
                                                             (Oracle 10g – 10.2.0.5.0)

  • Base de datos temporal:      /u01/app/oracle/product/10.2.0/db_1
                                                             (Oracle 10g – 10.2.0.5.0)
 
  • Base de datos objetivo:         /u01/app/oracle/product/12.1.0/db_1
                                                            (Oracle 12c – 12.1.0.1.0)
 
Oracle Golden Gate:
  • Versión en el servidor origen:         11.1.1.1.0 for Oracle 10g
                                                                        /u01/app/ogg/10g
 
  • Versión en el servidor objetivo:       12.1.0.0 for Oracle 12c
                                                                        /u01/app/ogg/12c
Migración con Oracle Golden Gate
Resumen:
  • Realizar un respaldo completo de la base de datos origen  e iniciar la extracción de los cambios en la misma usando “Oracle Golden Gate”.
  • Aplicar el respaldo extraído desde la base de datos origen en la base de datos objetivo como una carga inicial y luego migrar la base de datos.
  • Aplicar los cambios de datos extraídos desde la base de datos origen en la base de datos objetivo (Oracle Database 12c).
  • Verificar el proceso de sincronización de los datos en la base de datos objetivo  (Oracle Database 12c).
 Iniciar la base de datos origen:
[oracle@grid11g  SRCDB:~]# sqlplus / as sysdba

SQL*Plus: Release  10.2.0.5.0 - Production on Tue Dec 24 15:39:48 2013
Copyright (c) 1982,  2010, Oracle.  All Rights Reserved.
Connected to an idle  instance.
SQL> startup;
ORACLE instance  started.
Total System Global  Area  281018368 bytes
Fixed Size                2095672 bytes
Variable Size             96470472 bytes
Database Buffers               176160768 bytes
Redo Buffers              6291456 bytes
Database mounted.
Database opened.
Verificar si existen objetos inválidos en la base de datos origen:
SQL> SELECT UNIQUE  object_name, object_type, owner FROM dba_objects 
WHERE  status='INVALID';
no rows selected

Ejecutar el script “utlrp.sql” en la base de datos origen:
Este paso solo es necesario si se encontraron objetos inválidos. Se realiza con el objetivo de dar a conocer el procedimiento completo.
SQL> @?/rdbms/admin/utlrp.sql

TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_BGN  2013-12-24 15:42:06

DOC>   The  following PL/SQL block invokes UTL_RECOMP to recompile invalid
DOC>    objects in the database. Recompilation time is proportional to the
DOC>   number  of invalid objects in the database, so this command may take
DOC>   a long  time to execute on a database with a large number of invalid objects.
DOC>
DOC>   Use  the following queries to track recompilation progress:
DOC>
DOC>   1.  Query returning the number of invalid objects remaining. This
DOC>       number should decrease with time.
DOC>         SELECT COUNT(*) FROM obj$ WHERE status IN  (4, 5, 6);
DOC>
DOC>   2.  Query returning the number of objects compiled so far. This number
DOC>       should increase with time.
DOC>          SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;
DOC>
DOC>   This  script automatically chooses serial or parallel recompilation
DOC>   based  on the number of CPUs available (parameter cpu_count) multiplied
DOC>   by the  number of threads per CPU (parameter parallel_threads_per_cpu).
DOC>   On  RAC, this number is added across all RAC nodes.
DOC>
DOC>    UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel
DOC>    recompilation. Jobs are created without instance affinity so that they
DOC>   can  migrate across RAC nodes. Use the following queries to verify
DOC>    whether UTL_RECOMP jobs are being created and run correctly:
DOC>
DOC>   1.  Query showing jobs created by UTL_RECOMP
DOC>          SELECT job_name FROM dba_scheduler_jobs
DOC>             WHERE job_name like 'UTL_RECOMP_SLAVE_%';
DOC>
DOC>   2.  Query showing UTL_RECOMP jobs that are running
DOC>          SELECT job_name FROM dba_scheduler_running_jobs
DOC>             WHERE job_name like 'UTL_RECOMP_SLAVE_%';
DOC>#

PL/SQL procedure successfully completed.

TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_END  2013-12-24 15:42:08

PL/SQL procedure successfully completed.

DOC> The following query reports the number of  objects that have compiled
DOC> with errors (objects that compile with errors  have status set to 3 in
DOC> obj$). If the number is higher than expected,  please examine the error
DOC> messages reported with each object (using SHOW  ERRORS) to see if they
DOC> point to system misconfiguration or resource  constraints that must be
DOC> fixed before attempting to recompile these  objects.
DOC>#

OBJECTS WITH ERRORS
-------------------
0
DOC> The following query reports the number of  errors caught during
DOC> recompilation. If this number is non-zero,  please query the error
DOC> messages in the table UTL_RECOMP_ERRORS to see  if any of these errors
DOC> are due to misconfiguration or resource  constraints that must be
DOC> fixed before objects can compile successfully.
DOC>#

ERRORS DURING RECOMPILATION
---------------------------
0
PL/SQL procedure successfully completed.

Limpiar la papelera de reciclaje  en la base de datos origen:
SQL> purge  DBA_RECYCLEBIN;
     DBA Recyclebin  purged.

Instalar Oracle Golden Gate en la base de datos origen:
[oracle@grid11g SRCDB:~]# cd /u01/app/ogg/10g
[oracle@grid11g SRCDB:/u01/app/ogg/10g]# unzip  fbo_ggs_Linux_x64_ora10g_64bit.zip
Archive:  fbo_ggs_Linux_x64_ora10g_64bit.zip
replace fbo_ggs_Linux_x64_ora10g_64bit.tar? [y]es,  [n]o, [A]ll, [N]one, [r]ename: A
inflating:  fbo_ggs_Linux_x64_ora10g_64bit.tar
inflating:  OGG_WinUnix_Rel_Notes_11.1.1.1.0.pdf
inflating:  README.txt
[oracle@grid11g SRCDB:/u01/app/ogg/10g]# tar -xvf  fbo_ggs_Linux_x64_ora10g_64bit.tar
UserExitExamples/
UserExitExamples/ExitDemo_more_recs/
UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.AIX
UserExitExamples/ExitDemo_more_recs/exitdemo_more_recs.vcproj
UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.SOLARIS
UserExitExamples/ExitDemo_more_recs/exitdemo_more_recs.c
UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.LINUX
UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.HPUX
UserExitExamples/ExitDemo_more_recs/readme.txt
UserExitExamples/ExitDemo_pk_befores/
UserExitExamples/ExitDemo_pk_befores/Makefile_pk_befores.AIX
UserExitExamples/ExitDemo_pk_befores/exitdemo_pk_befores.c
UserExitExamples/ExitDemo_pk_befores/Makefile_pk_befores.HPUX
UserExitExamples/ExitDemo_pk_befores/exitdemo_pk_befores.vcproj
UserExitExamples/ExitDemo_pk_befores/Makefile_pk_befores.SOLARIS
UserExitExamples/ExitDemo_pk_befores/Makefile_pk_befores.LINUX
UserExitExamples/ExitDemo_pk_befores/readme.txt
UserExitExamples/ExitDemo_passthru/
UserExitExamples/ExitDemo_passthru/Makefile_passthru.HPUX
UserExitExamples/ExitDemo_passthru/Makefile_passthru.SOLARIS
UserExitExamples/ExitDemo_passthru/Makefile_passthru.AIX
UserExitExamples/ExitDemo_passthru/exitdemo_passthru.c
UserExitExamples/ExitDemo_passthru/Makefile_passthru.LINUX
UserExitExamples/ExitDemo_passthru/readme.txt
UserExitExamples/ExitDemo_passthru/exitdemopassthru.vcproj
UserExitExamples/ExitDemo_passthru/Makefile_passthru.HP_OSS
UserExitExamples/ExitDemo_lobs/
UserExitExamples/ExitDemo_lobs/exitdemo_lob.vcproj
UserExitExamples/ExitDemo_lobs/Makefile_lob.SOLARIS
UserExitExamples/ExitDemo_lobs/Makefile_lob.AIX
UserExitExamples/ExitDemo_lobs/exitdemo_lob.c
UserExitExamples/ExitDemo_lobs/Makefile_lob.LINUX
UserExitExamples/ExitDemo_lobs/Makefile_lob.HPUX
UserExitExamples/ExitDemo_lobs/readme.txt
UserExitExamples/ExitDemo/
UserExitExamples/ExitDemo/Makefile_exit_demo.SOLARIS
UserExitExamples/ExitDemo/exitdemo.c
UserExitExamples/ExitDemo/Makefile_exit_demo.HP_OSS
UserExitExamples/ExitDemo/Makefile_exit_demo.HPUX
UserExitExamples/ExitDemo/Makefile_exit_demo.AIX
UserExitExamples/ExitDemo/exitdemo.vcproj
UserExitExamples/ExitDemo/Makefile_exit_demo.LINUX
UserExitExamples/ExitDemo/readme.txt
bcpfmt.tpl
bcrypt.txt
cfg/
cfg/password.properties
cfg/jps-config-jse.xml
cfg/Config.properties
cfg/MPMetadataSchema.xsd
cfg/ProfileConfig.xml
cfg/mpmetadata.xml
chkpt_ora_create.sql
cobgen
convchk
db2cntl.tpl
ddl_access.tpl
ddl_cleartrace.sql
ddl_db2.tpl
ddl_db2_os390.tpl
ddl_ddl2file.sql
ddl_disable.sql
ddl_enable.sql
ddl_filter.sql
ddl_informix.tpl
ddl_mss.tpl
ddl_mysql.tpl
ddl_nopurgeRecyclebin.sql
ddl_nssql.tpl
ddl_ora10.sql
ddl_ora10upCommon.sql
ddl_ora11.sql
ddl_ora9.sql
ddl_oracle.tpl
ddl_pin.sql
ddl_purgeRecyclebin.sql
ddl_remove.sql
ddl_session.sql
ddl_session1.sql
ddl_setup.sql
ddl_sqlmx.tpl
ddl_status.sql
ddl_staymetadata_off.sql
ddl_staymetadata_on.sql
ddl_sybase.tpl
ddl_tandem.tpl
ddl_trace_off.sql
ddl_trace_on.sql
ddl_tracelevel.sql
ddlcob
ddlgen
defgen
demo_more_ora_create.sql
demo_more_ora_insert.sql
demo_ora_create.sql
demo_ora_insert.sql
demo_ora_lob_create.sql
demo_ora_misc.sql
demo_ora_pk_befores_create.sql
demo_ora_pk_befores_insert.sql
demo_ora_pk_befores_updates.sql
dirjar/
dirjar/spring-security-core-3.0.1.RELEASE.jar
dirjar/org.springframework.test-3.0.0.RELEASE.jar
dirjar/jps-mbeans.jar
dirjar/org.springframework.instrument-3.0.0.RELEASE.jar
dirjar/spring-security-config-3.0.1.RELEASE.jar
dirjar/oraclepki.jar
dirjar/jagent.jar
dirjar/jps-wls.jar
dirjar/identitystore.jar
dirjar/spring-security-web-3.0.1.RELEASE.jar
dirjar/spring-security-cas-client-3.0.1.RELEASE.jar
dirjar/fmw_audit.jar
dirjar/osdt_core.jar
dirjar/org.springframework.context.support-3.0.0.RELEASE.jar
dirjar/osdt_xmlsec.jar
dirjar/jacc-spi.jar
dirjar/slf4j-api-1.4.3.jar
dirjar/org.springframework.aspects-3.0.0.RELEASE.jar
dirjar/identityutils.jar
dirjar/org.springframework.core-3.0.0.RELEASE.jar
dirjar/spring-security-acl-3.0.1.RELEASE.jar
dirjar/jps-manifest.jar
dirjar/jsr250-api-1.0.jar
dirjar/jps-upgrade.jar
dirjar/log4j-1.2.15.jar
dirjar/jps-ee.jar
dirjar/org.springframework.transaction-3.0.0.RELEASE.jar
dirjar/xpp3_min-1.1.4c.jar
dirjar/xmlparserv2.jar
dirjar/spring-security-taglibs-3.0.1.RELEASE.jar
dirjar/jps-unsupported-api.jar
dirjar/slf4j-log4j12-1.4.3.jar
dirjar/org.springframework.context-3.0.0.RELEASE.jar
dirjar/xstream-1.3.jar
dirjar/jdmkrt-1.0-b02.jar
dirjar/jps-patching.jar
dirjar/org.springframework.beans-3.0.0.RELEASE.jar
dirjar/monitor-common.jar
dirjar/jmxremote_optional-1.0-b02.jar
dirjar/jps-common.jar
dirjar/org.springframework.expression-3.0.0.RELEASE.jar
dirjar/org.springframework.asm-3.0.0.RELEASE.jar
dirjar/osdt_cert.jar
dirjar/org.springframework.aop-3.0.0.RELEASE.jar
dirjar/org.springframework.web-3.0.0.RELEASE.jar
dirjar/commons-codec-1.3.jar
dirjar/org.springframework.orm-3.0.0.RELEASE.jar
dirjar/jps-internal.jar
dirjar/jps-api.jar
dirjar/ldapjclnt11.jar
dirjar/commons-logging-1.0.4.jar
dirjar/org.springframework.jdbc-3.0.0.RELEASE.jar
emsclnt
extract
freeBSD.txt
ggMessage.dat
ggsci
help.txt
jagent.sh
keygen
libicudata.so.38
libicui18n.so.38
libicuuc.so.38
libxerces-c.so.28
libxml2.txt
logdump
marker_remove.sql
marker_setup.sql
marker_status.sql
mgr
notices.txt
params.sql
prvtclkm.plb
pw_agent_util.sh
remove_seq.sql
replicat
reverse
role_setup.sql
sequence.sql
server
sqlldr.tpl
tcperrs
usrdecs.h
zlib.txt

Realizar “Login” en la consola de comandos  GGSCI y crear los directorios requeridos:
[oracle@grid11g SRCDB:/u01/app/ogg/10g]# ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
  Version 11.1.1.1 OGGCORE_11.1.1_PLATFORMS_110421.2040
  Linux, x64, 64bit (optimized), Oracle 10g on Apr 21  2011 22:26:49
  Copyright (C) 1995, 2011, Oracle and/or its  affiliates. All rights reserved.

GGSCI (grid11g.kr.oracle.com) 1> create subdirs

Creating subdirectories under current directory  /u01/app/ogg/10g

Parameter files                 /u01/app/ogg/10g/dirprm: already exists
  Report files                         /u01/app/ogg/10g/dirrpt:  already exists
  Checkpoint files                /u01/app/ogg/10g/dirchk:  already exists
  Process status files            /u01/app/ogg/10g/dirpcs:  already exists
  SQL script files                /u01/app/ogg/10g/dirsql:  already exists
  Database definitions files      /u01/app/ogg/10g/dirdef:  already exists
  Extract data files              /u01/app/ogg/10g/dirdat:  already exists
  Temporary files                 /u01/app/ogg/10g/dirtmp: already exists
  Veridata files                  /u01/app/ogg/10g/dirver: already exists
  Veridata Lock files             /u01/app/ogg/10g/dirver/lock:  already exists
  Veridata Out-Of-Sync files      /u01/app/ogg/10g/dirver/oos:  already exists
  Veridata Out-Of-Sync XML files  /u01/app/ogg/10g/dirver/oosxml: already exists
  Veridata Parameter files        /u01/app/ogg/10g/dirver/params:  already exists
  Veridata Report files           /u01/app/ogg/10g/dirver/report:  already exists
  Veridata Status files           /u01/app/ogg/10g/dirver/status:  already exists
  Veridata Trace files            /u01/app/ogg/10g/dirver/trace:  already exists
  Stdout files                         /u01/app/ogg/10g/dirout: already exists

GGSCI (grid11g.kr.oracle.com) 2> exit

Nota: Si  el mensaje “already exists” es mostrado mientras se crean los directorios se puede omitir esta etapa.
Crear un usuario para “Oracle Golden Gate” y asignarle los privilegios requeridos:
[oracle@grid11g SRCDB:/u01/app/ogg/10g]# sqlplus / as  sysdba
  SQL*Plus: Release 10.2.0.5.0 - Production on Tue Dec  24 15:44:03 2013
  Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
  Connected to:
  Oracle Database 10g Enterprise Edition Release  10.2.0.5.0 - 64bit Production
  With the Partitioning, OLAP, Data Mining and Real  Application Testing options

SQL> create user oggmgr identified by oracle  default tablespace users;
  User created.

SQL> @role_setup
  GGS Role setup script

This script will drop and recreate the role  GGS_GGSUSER_ROLE To use a different role name, 
quit this script and then edit  the params.sql script to change the gg_role parameter to the preferred name.  
(Do not run the script.)
You will be prompted for the name of a schema for the  GoldenGate database objects.
  NOTE: The schema must be created prior to running this  script.
  NOTE: Stop all DDL replication before starting this  installation.

Enter GoldenGate schema name:oggmgr
  Wrote file role_setup_set.txt
  PL/SQL procedure successfully completed.
  Role setup script complete

Grant this role to each user assigned to the Extract,  GGSCI, and Manager processes, by using the following SQL command:
GRANT GGS_GGSUSER_ROLE TO <loggedUser>
  where <loggedUser> is the user assigned to the  GoldenGate processes.

SQL> grant ggs_ggsuser_role,connect, resource, dba  to oggmgr;
  Grant succeeded.

Cambiar el modo de “logging” y las propiedades de la base de datos origen:
SQL> alter  database force logging;
  Database altered.

SQL> alter  database add supplemental log data;
  Database altered.

SQL> alter system  switch logfile;
  System altered.

SQL> alter system  archive log current;
  System altered.

SQL> alter system  set recyclebin=off scope=both;
  System altered.

SQL> @marker_setup

Marker setup script

You will be prompted  for the name of a schema for the GoldenGate database objects.
  NOTE: The schema must  be created prior to running this script.
  NOTE: Stop all DDL  replication before starting this installation.

Enter GoldenGate  schema name
: oggmgr

Marker setup table script complete, running  verification script...
Please enter the name of a schema for the GoldenGate  database objects:
Setting schema name to OGGMGR

MARKER TABLE
 -------------------------------
OK
MARKER SEQUENCE
-------------------------------
OK

Script complete.
SQL> @ddl_setup

GoldenGate DDL Replication setup script

Verifying that current user has privileges to install  DDL Replication...
  You will be prompted for the name of a schema for the  GoldenGate database objects.
  NOTE: For an Oracle 10g source, the system recycle bin  must be disabled. For Oracle 11g and later, it can be enabled.
  NOTE: The schema must be created prior to running this  script.
  NOTE: Stop all DDL replication before starting this  installation.

Enter GoldenGate  schema name:
 oggmgr
You will be prompted for the mode of installation.
  To install or reinstall DDL replication, enter  INITIALSETUP
  To upgrade DDL replication, enter NORMAL

Enter mode of  installation:INITIALSETUP
Working, please wait ...
  Spooling to file ddl_setup_spool.txt
  Checking for sessions that are holding locks on Oracle  Golden Gate metadata tables ...
  Check complete.
  Using OGGMGR as a GoldenGate schema name, INITIALSETUP  as a mode of installation.
  Working, please wait ...

RECYCLEBIN must be empty.
This installation will purge RECYCLEBIN for all users.
To proceed, enter yes. To stop installation, enter no.
Enter yes or no:yes
DDL replication setup script complete, running  verification script...
Please enter the name of a schema for the GoldenGate  database objects:
Setting schema name to OGGMGR
DDLORA_GETTABLESPACESIZE STATUS:

Line/pos                                 Error
  ---------------------------------  ------------------------------------
  No errors                                No errors

CLEAR_TRACE STATUS:
  Line/pos                                 Error
  ---------------------------------  ------------------------------------
  No errors                                 No errors

CREATE_TRACE STATUS:
  Line/pos                                 Error
  ----------------------------------  -----------------------------------
  No errors                                No errors

TRACE_PUT_LINE STATUS:
  Line/pos                                 Error
  -----------------------------------  ----------------------------------
  No errors                                No errors

INITIAL_SETUP STATUS:
  Line/pos                                 Error
  -----------------------------------  ----------------------------------
  No errors                                No errors

DDLVERSIONSPECIFIC PACKAGE STATUS:
  Line/pos                                 Error
  -----------------------------------  ----------------------------------
  No errors                                No errors

DDLREPLICATION PACKAGE STATUS:
  Line/pos                                 Error
  -----------------------------------  ----------------------------------
  No errors                                No errors

DDLREPLICATION PACKAGE BODY STATUS:
  Line/pos                                 Error
  -----------------------------------  ----------------------------------
  No errors                                No errors
  DDL HISTORY TABLE
  -----------------------------------
  OK

DDL HISTORY TABLE(1)
  -----------------------------------
  OK

DDL DUMP TABLES
  -----------------------------------
  OK

DDL DUMP COLUMNS
  -----------------------------------
  OK

DDL DUMP LOG GROUPS
  -----------------------------------
  OK

DDL DUMP PARTITIONS
  -----------------------------------
  OK

DDL DUMP PRIMARY KEYS
  -----------------------------------
  OK

DDL SEQUENCE
  -----------------------------------
  OK

GGS_TEMP_COLS
  -----------------------------------
  OK

GGS_TEMP_UK
  -----------------------------------
  OK

DDL TRIGGER CODE STATUS:
  Line/pos                                 Error
  -----------------------------------  ----------------------------------
  No errors                                No errors

DDL TRIGGER INSTALL STATUS
  -----------------------------------
  OK
  DDL TRIGGER RUNNING STATUS
  ----------------------------------------------------------------------
  ENABLED

STAYMETADATA IN TRIGGER
  ----------------------------------------------------------------------
  OFF
  DDL TRIGGER SQL TRACING
  ----------------------------------------------------------------------
  0
  DDL TRIGGER TRACE LEVEL
  ----------------------------------------------------------------------
  0
  LOCATION OF DDL TRACE FILE
  ----------------------------------------------------------------------
  /u01/app/oracle/admin/SRCDB/udump/ggs_ddl_trace.log

Analyzing installation status...

STATUS OF DDL REPLICATION
  ----------------------------------------------------------------------
  SUCCESSFUL  installation of DDL Replication software components

Script complete.

SQL> @ddl_enable
  Trigger altered.

SQL> exec  dbms_streams_auth.grant_admin_privilege('OGGMGR');
  PL/SQL procedure successfully completed.

SQL> grant insert on system.logmnr_restart_ckpt$ to  oggmgr;
  Grant succeeded.

SQL> grant update on sys.streams$_capture_process  to oggmgr;
  Grant succeeded.

SQL> grant become user to oggmgr;
  Grant succeeded.
  SQL> exit

Instalar y configurar “Oracle Golden Gate” en la base de datos objetivo:
[oracle@grid11g SRCDB:~/stage]# ls -lrth
  -rwxrwx--- 1 oracle oinstall 326M Oct 28 10:38  121200_fbo_ggs_Linux_x64_shiphome.zip
  [oracle@grid11g SRCDB:~/stage]#unzip  121200_fbo_ggs_Linux_x64_shiphome.zip
  [oracle@grid11g SRCDB:~/stage]# cd  fbo_ggs_Linux_x64_shiphome/
  [oracle@grid11g  SRCDB:~/stage/fbo_ggs_Linux_x64_shiphome]# pwd
  /home/oracle/stage/fbo_ggs_Linux_x64_shiphome
  [oracle@grid11g  SRCDB:~/stage/fbo_ggs_Linux_x64_shiphome]# ls -lrth
  total 4.0K
  drwxr-xr-x 5 oracle oinstall 4.0K Sep 25 18:59 Disk1
  [oracle@grid11g  SRCDB:~/stage/fbo_ggs_Linux_x64_shiphome]# cd Disk1/
  [oracle@grid11g SRCDB:~/stage/fbo_ggs_Linux_x64_shiphome/Disk1]#  ls -lrth
  total 16K
  drwxr-xr-x  4  oracle oinstall 4.0K Sep 25 18:59 install
  drwxr-xr-x 11 oracle oinstall 4.0K Sep 25 18:59 stage
  -rwxr-xr-x  1  oracle oinstall  918 Sep 25 18:59  runInstaller
  drwxrwxr-x  2  oracle oinstall 4.0K Sep 25 18:59 response
  [oracle@grid11g  SRCDB:~/stage/fbo_ggs_Linux_x64_shiphome/Disk1]#./runInstaller &

Elegir la opción “Oracle Goldendate for Oracle Database 12c (506.0MB)” Clic en el botón siguiente.
Cambiar la ruta de instalación a “/u01/app/ogg/12c” y deseleccionar la opción “start manager”  Clic en el botón siguiente. 
Clic en el botón instalar.
Clic en el botón cerrar.
Realizar “login” en la consola de comandos GGSCI y crear los directorios requeridos en la base de datos objetivo:
[oracle@grid11g TGTDB:/u01/app/ogg/12c]# ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
  Version 12.1.2.0.0 17185003  OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316_FBO
  Linux, x64, 64bit (optimized), Oracle 12c on Sep 25  2013 02:33:54
  Operating system character set identified as UTF-8.
  Copyright (C) 1995, 2013, Oracle and/or its  affiliates. All rights reserved.

GGSCI (grid11g.kr.oracle.com) 1> create subdirs

Creating subdirectories under current directory  /u01/app/ogg/12c
  Parameter files                 /u01/app/ogg/12c/dirprm: already exists
  Report files                         /u01/app/ogg/12c/dirrpt: already exists
  Checkpoint files                /u01/app/ogg/12c/dirchk:  already exists
  Process status files            /u01/app/ogg/12c/dirpcs:  already exists
  SQL script files                /u01/app/ogg/12c/dirsql:  already exists
  Database definitions files      /u01/app/ogg/12c/dirdef:  already exists
  Extract data files              /u01/app/ogg/12c/dirdat:  already exists
  Temporary files                  /u01/app/ogg/12c/dirtmp: already exists
  Credential store files          /u01/app/ogg/12c/dircrd:  already exists
  Masterkey wallet files          /u01/app/ogg/12c/dirwlt:  already exists
  Dump files                      /u01/app/ogg/12c/dirdmp: already exists

GGSCI (grid11g.kr.oracle.com) 2> exit

Crear un esquema temporal en la base de datos origen:
[oracle@grid11g SRCDB:/u01/app/ogg/10g]# sqlplus / as  sysdba
  SQL*Plus: Release 10.2.0.5.0 - Production on Tue Dec  24 16:12:20 2013
  Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
  Oracle Database 10g Enterprise Edition Release  10.2.0.5.0 - 64bit Production
  With the Partitioning, OLAP, Data Mining and Real  Application Testing options

SQL> create user scott identified by tiger default  tablespace users;
  User created.

SQL> grant connect, resource to scott;
  Grant succeeded.

SQL> conn scott/tiger
  Connected.

Nota: Crear dos tablas “tcustmer” y “tcustord” e insertar filas.
Crear una secuencia:
SQL> CREATE SEQUENCE SCOTT.TQ increment by 1 start  with 1 nomaxvalue nocycle nocache;
  Sequence created.

SQL> CREATE TABLE SCOTT.T ( ID NUMBER, TXDATE DATE)  TABLESPACE USERS;
  Table created.

SQL> insert into T values ( TQ.NEXTVAL,sysdate);
  1 row created.

SQL> commit;
  Commit complete.

Nota: Realizar transacciones sencillas y realizar "commit” en la base de datos origen (Oracle 10g), esto únicamente se realizar con el objetivo de revisar que la configuración este funcional.
Configurar los parámetros de  “oggmgr” en la base de datos origen:
[oracle@grid11g SRCDB:/u01/app/ogg/10g]# ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
  Version 11.1.1.1 OGGCORE_11.1.1_PLATFORMS_110421.2040
  Linux, x64, 64bit (optimized), Oracle 10g on Apr 21  2011 22:26:49
  Copyright (C) 1995, 2011, Oracle and/or its  affiliates. All rights reserved.

GGSCI (grid11g.kr.oracle.com) 1> edit params mgr

--GoldenGate Manager  parameter file
  PORT 5000
  --FOR Source, ASIS
  PURGEOLDEXTRACTS  ./dirdat/TA*, USECHECKPOINTS, MINKEEPDAYS 3

GGSCI (grid11g.kr.oracle.com) 2> start mgr
  Manager started.

GGSCI (grid11g.kr.oracle.com) 3> info mgr
  Manager is running (IP port  grid11g.kr.oracle.com.5000).

Configurar los paramteros de “oggmgr” en la base de datos objetivo:
[oracle@grid11g TGTDB:~]# cd /u01/app/ogg/12c
  [oracle@grid11g TGTDB:/u01/app/ogg/12c]# ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
  Version 12.1.2.0.0 17185003  OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316_FBO
  Linux, x64, 64bit (optimized), Oracle 12c on Sep 25  2013 02:33:54
  Operating system character set identified as UTF-8.
  Copyright (C) 1995, 2013, Oracle and/or its  affiliates. All rights reserved.

GGSCI (grid11g.kr.oracle.com) 1> edit params mgr
  GGSCI (grid11g.kr.oracle.com) 1> view params mgr

--GoldenGate Manager parameter file
  PORT 5001
  --FOR Target, TOBE
  PURGEOLDEXTRACTS ./dirdat/TB*, USECHECKPOINTS,  MINKEEPDAYS 3

GGSCI (grid11g.kr.oracle.com) 2> start mgr
  Manager started.

GGSCI (grid11g.kr.oracle.com) 3> info mgr
  Manager is running (IP port  grid11g.kr.oracle.com.5001, Process ID 4775).

GGSCI (grid11g.kr.oracle.com) 4> exit

Habilitar “Supplemental Logging” a nivel de tabla en la base de datos origen:
[oracle@grid11g SRCDB:/u01/app/ogg/10g]# cd  /u01/app/ogg/10g
  [oracle@grid11g SRCDB:/u01/app/ogg/10g]# ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
  Version 11.1.1.1 OGGCORE_11.1.1_PLATFORMS_110421.2040
  Linux, x64, 64bit (optimized), Oracle 10g on Apr 21  2011 22:26:49
  Copyright (C) 1995, 2011, Oracle and/or its  affiliates. All rights reserved.

GGSCI (grid11g.kr.oracle.com) 1> dblogin userid  oggmgr, password oracle
  Successfully logged into database.

GGSCI (grid11g.kr.oracle.com) 2> add trandata  scott.*

2013-12-24 16:19:04   WARNING OGG-00869  
No unique key  is defined for table T. All viable columns will be used to represent the key,  
but may not guarantee uniqueness.  

KEYCOLS may be used to define the key.
  Logging of supplemental redo data enabled for table  SCOTT.T.
  Logging of supplemental redo data enabled for table  SCOTT.TCUSTMER.
  Logging of supplemental redo data enabled for table  SCOTT.TCUSTORD.

GGSCI (grid11g.kr.oracle.com) 3> info trandata  scott.*

Logging of supplemental redo log data is enabled for  table SCOTT.T
  Logging of supplemental redo log data is enabled for  table SCOTT.TCUSTMER
  Logging of supplemental redo log data is enabled for  table SCOTT.TCUSTORD

GGSCI (grid11g.kr.oracle.com) 4> exit

Configurar la extracción y el proceso de  “Data Pump” en la base de datos origen:
GGSCI (grid11g.kr.oracle.com) 2> add extract extra,  tranlog, begin now

2013-12-24 16:19:52   INFO    OGG-01749  
Successfully registered EXTRACT EXTRA to  start managing log retention at SCN 227038.
EXTRACT added.

GGSCI (grid11g.kr.oracle.com) 3> info extract extra

EXTRACT     EXTRA     Initialized   2013-12-24 16:19   Status STOPPED
  Checkpoint Lag        00:00:00 (updated 00:00:10 ago)
  Log Read Checkpoint   Oracle Redo Logs
  2013-12-24 16:19:50  Seqno 0, RBA  0

GGSCI (grid11g.kr.oracle.com) 4> add extract pumpa,  exttrailsource ./dirdat/TA
  EXTRACT added.

GGSCI (grid11g.kr.oracle.com) 5> info extract pumpa

EXTRACT    PUMPA     Initialized   2013-12-24 16:20   Status STOPPED
  Checkpoint Lag        00:00:00 (updated 00:00:06 ago)
  Log Read Checkpoint   File ./dirdat/TA000000
  First Record  RBA 0
  GGSCI (grid11g.kr.oracle.com) 6> edit params extra
  GGSCI (grid11g.kr.oracle.com) 7> view params extra

-- Extract Parameter File
  EXTRACT EXTRA
  USERID oggmgr, PASSWORD oracle

TRANLOGOPTIONS OPENARCHIVEIMMEDIATE
  THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 60000  IOLATENCY 60000
  TRANLOGOPTIONS EXCLUDEUSER OGGMGR, EXCLUDEUSERID 54
  EXTTRAIL ./dirdat/TA
  REPORTCOUNT EVERY 5 MINUTES, RATE

-- Use DDL parameter to configure support for all  mapped DDL operations
  DDL INCLUDE MAPPED
  DDLOPTIONS ADDTRANDATA, REPORT

-- Table/Sequence List
  TABLE SCOTT.*;
  SEQUENCE SCOTT.*;

GGSCI (grid11g.kr.oracle.com) 8> edit params pumpa
  GGSCI (grid11g.kr.oracle.com) 9> viewt params pumpa

-- Data Pump Parameter File
  EXTRACT PUMPA
  PASSTHRU
  RMTHOST grid11g.kr.oracle.com, MGRPORT 5001
  RMTTRAIL ./dirdat/TB
  REPORTCOUNT EVERY 5 MINUTES, RATE

-- Table/Sequence List
  TABLE SCOTT.*;
  SEQUENCE SCOTT.*;

GGSCI (grid11g.kr.oracle.com) 10> add exttrail  ./dirdat/TA, extract extra, megabytes 100
  EXTTRAIL added.

GGSCI (grid11g.kr.oracle.com) 11> info exttrail *

       Extract  Trail: ./dirdat/TA
  Extract: EXTRA
  Seqno: 0
  RBA: 0
  File  Size: 100M
  GGSCI (grid11g.kr.oracle.com) 12> add rmttrail  ./dirdat/TB, extract pumpa, megabytes 100
  RMTTRAIL added.

GGSCI (grid11g.kr.oracle.com) 13> info rmttrail *

       Extract Trail:  ./dirdat/TA
  Extract: EXTRA
  Seqno: 0
  RBA: 0
  File  Size: 100M
  Extract  Trail: ./dirdat/TB
  Extract: PUMPA
  Seqno: 0
  RBA: 0
  File  Size: 100M

Iniciar el proceso de extracción y el proceso de “Data Pump” en la base de datos origen:
GGSCI (grid11g.kr.oracle.com) 12> start extract  extra
  Sending START request to MANAGER ...
  EXTRACT EXTRA starting

GGSCI (grid11g.kr.oracle.com) 13> start extract pumpa
  Sending START request to MANAGER ...
  EXTRACT PUMPA starting

GGSCI (grid11g.kr.oracle.com) 14> info *

EXTRACT     EXTRA     Last Started 2013-12-24  16:22   Status RUNNING
  Checkpoint Lag        00:02:19 (updated 00:00:09 ago)
  Log Read Checkpoint   Oracle Redo Logs
  2013-12-24 16:19:50  Seqno 21, RBA  16422416

EXTRACT     PUMPA     Last Started 2013-12-24  16:22   Status RUNNING
  Checkpoint Lag        00:00:00 (updated 00:00:00 ago)
  Log Read Checkpoint   File ./dirdat/TA000000
  First Record  RBA 0

GGSCI (grid11g.kr.oracle.com) 15> info extract  extra, detail

EXTRACT     EXTRA     Last Started 2013-12-24  16:22   Status RUNNING
  Checkpoint Lag        00:00:00 (updated 00:00:08 ago)
  Log Read Checkpoint   Oracle Redo Logs
  2013-12-24 16:22:18  Seqno 21, RBA 17361408

  Target Extract  Trails:
  Remote Trail  Name    Seqno   RBA   Max MB
  ./dirdat/TA           0       22271 100

  Extract Source                          Begin             End

 /u01/app/oracle/oradata/SRCDB/redo03.log  2013-12-24 16:19  2013-12-24 16:22
  Not  Available                           *  Initialized *   2013-12-24 16:19

Current directory          /u01/app/ogg/10g
  Report file                /u01/app/ogg/10g/dirrpt/EXTRA.rpt
  Parameter file             /u01/app/ogg/10g/dirprm/extra.prm
  Checkpoint file            /u01/app/ogg/10g/dirchk/EXTRA.cpe
  Process file               /u01/app/ogg/10g/dirpcs/EXTRA.pce
  Stdout file                /u01/app/ogg/10g/dirout/EXTRA.out
  Error log                  /u01/app/ogg/10g/ggserr.log

GGSCI (grid11g.kr.oracle.com) 16> info extract  pumpa, detail

EXTRACT     PUMPA     Last Started 2013-12-24  16:22   Status RUNNING
  Checkpoint Lag        00:00:00 (updated 00:00:09 ago)
  Log Read Checkpoint   File ./dirdat/TA000000
  2013-12-24 16:22:24.000000  RBA  23160

Target Extract Trails:
  Remote Trail  Name                                 Seqno        RBA     Max MB
  ./dirdat/TB                                                  0       23212        100

  Extract  Source                           Begin             End
  ./dirdat/TA000000                        * Initialized *   2013-12-24 16:22
  ./dirdat/TA000000                        * Initialized *   First Record

Current directory          /u01/app/ogg/10g
  Report file                /u01/app/ogg/10g/dirrpt/PUMPA.rpt
  Parameter file             /u01/app/ogg/10g/dirprm/pumpa.prm
  Checkpoint file            /u01/app/ogg/10g/dirchk/PUMPA.cpe
  Process file               /u01/app/ogg/10g/dirpcs/PUMPA.pce
  Stdout file                /u01/app/ogg/10g/dirout/PUMPA.out
  Error log                  /u01/app/ogg/10g/ggserr.log

GGSCI (grid11g.kr.oracle.com) 17> view report extra
  ***********************************************************************
  Oracle GoldenGate Capture for Oracle
  Version  11.1.1.1 OGGCORE_11.1.1_PLATFORMS_110421.2040
  Linux, x64,  64bit (optimized), Oracle 10g on Apr 30 2011 18:21:22
  Copyright (C) 1995, 2011, Oracle and/or its  affiliates. All rights reserved.

                     Starting at 2013-12-24 16:22:06
  ***********************************************************************
  Operating System Version:
  Linux
  Version #1 SMP Tue May 15 19:55:50 EDT 2012, Release  2.6.32-300.25.1.el5uek
  Node: grid11g.kr.oracle.com
  Machine: x86_64
  soft limit    hard limit
  Address Space Size         :    unlimited     unlimited
  Heap Size                  :    unlimited     unlimited
  File Size                       :    unlimited     unlimited
  CPU Time                   :    unlimited     unlimited
  Process id: 5077
  Description:
  ***********************************************************************
  **             Running with the following parameters                  **
  ***********************************************************************
  -- Extract Parameter File
  EXTRACT EXTRA
  USERID oggmgr, PASSWORD ******

TRANLOGOPTIONS OPENARCHIVEIMMEDIATE
  THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 60000  IOLATENCY 60000
  TRANLOGOPTIONS EXCLUDEUSER OGGMGR, EXCLUDEUSERID 54

EXTTRAIL ./dirdat/TA
  REPORTCOUNT EVERY 5 MINUTES, RATE

-- Use DDL parameter to configure support for all  mapped DDL operations
  DDL INCLUDE MAPPED
  DDLOPTIONS ADDTRANDATA, REPORT

-- Table/Sequence List
  TABLE SCOTT.*;
  SEQUENCE SCOTT.*;

2013-12-24 16:22:08   INFO    OGG-01635  BOUNDED RECOVERY: reset to initial or altered  checkpoint.

Bounded Recovery Parameter:
  Options    =  BRRESET
  BRINTERVAL = 4HOURS
  BRDIR      =  /u01/app/ogg/10g

CACHEMGR virtual memory values (may have been  adjusted)
  CACHEBUFFERSIZE:                               64K
  CACHESIZE:                                               8G
  CACHEBUFFERSIZE (soft max):                    4M
  CACHEPAGEOUTSIZE (normal):                     4M
  PROCESS VM AVAIL FROM OS (min):           16G
  CACHESIZEMAX (strict force to disk):      13.99G

Database Version:
  Oracle Database 10g Enterprise Edition Release  10.2.0.5.0 - 64bi
  PL/SQL Release 10.2.0.5.0 - Production
  CORE     10.2.0.5.0      Production
  TNS for Linux: Version 10.2.0.5.0 - Production
  NLSRTL Version 10.2.0.5.0 - Production

Database Language and Character Set:
  NLS_LANG = "AMERICAN_AMERICA.AL32UTF8"
  NLS_LANGUAGE      = "AMERICAN"
  NLS_TERRITORY     = "AMERICA"
  NLS_CHARACTERSET = "AL32UTF8"

2013-12-24 16:22:08   INFO    OGG-01515  Positioning to begin time Dec 24, 2013  4:19:50 PM.
  2013-12-24 16:22:09   INFO  OGG-01516  Positioned to Sequence 21, RBA 16422416, Dec  24, 2013 4:19:50 PM.
  2013-12-24 16:22:09   INFO  OGG-01052  No recovery is required for target file  ./dirdat/TA000000, at RBA 0 
                              (file not opened).
  2013-12-24 16:22:09   INFO  OGG-01478  Output file ./dirdat/TA is using format  RELEASE 10.4/11.1.

***********************************************************************
  **                      Run Time Messages                             **
***********************************************************************
  2013-12-24 16:22:09   INFO    OGG-01517  
Position of first record processed Sequence  21, RBA 16422416, SCN 0.227038, Dec 24, 2013 4:19:50 PM.
  SEQUENCEWildcard   resolved (entry SCOTT.*):
  SEQUENCE  SCOTT.TQ;
  Resolving source sequence SCOTT.TQ.
  TABLEWildcard   resolved (entry SCOTT.*):
  TABLE SCOTT.T;

2013-12-24 16:22:10   WARNING OGG-00869  
No unique key  is defined for table T. All viable columns will be used to represent the key,  
but may not guarantee uniqueness.  
KEYCOLS may be used to define the key.

Using the following key columns for source table  SCOTT.T: ID, TXDATE.
  TABLE resolved (entry OGGMGR.GGS_MARKER):
  TABLE  OGGMGR.GGS_MARKER;

Using the following key columns for source table  OGGMGR.GGS_MARKER: SEQNO, FRAGMENTNO, OPTIME.

GGSCI (grid11g.kr.oracle.com) 18> view report pumpa

***********************************************************************
  Oracle GoldenGate Capture for Oracle
  Version  11.1.1.1 OGGCORE_11.1.1_PLATFORMS_110421.2040
  Linux, x64,  64bit (optimized), Oracle 10g on Apr 30 2011 18:21:22
  Copyright (C) 1995, 2011, Oracle and/or its  affiliates. All rights reserved.

                     Starting at 2013-12-24 16:22:13
***********************************************************************
  Operating System Version:
  Linux
  Version #1 SMP Tue May 15 19:55:50 EDT 2012, Release  2.6.32-300.25.1.el5uek
  Node: grid11g.kr.oracle.com
  Machine: x86_64
  soft limit    hard limit
  Address Space Size         :    unlimited     unlimited
  Heap Size                  :    unlimited     unlimited
  File Size                       :    unlimited     unlimited
  CPU Time                   :    unlimited     unlimited
  Process id: 5090
  Description:
***********************************************************************
**             Running with the following parameters                  **
***********************************************************************
  -- Data Pump Parameter File
  EXTRACT PUMPA
  PASSTHRU
  RMTHOST grid11g.kr.oracle.com, MGRPORT 5001
  RMTTRAIL ./dirdat/TB
  REPORTCOUNT EVERY 5 MINUTES, RATE

-- Table/Sequence List
  TABLE SCOTT.*;
  SEQUENCE SCOTT.*;

CACHEMGR virtual memory values (may have been  adjusted)
  CACHEBUFFERSIZE:                               64K
  CACHESIZE:                                               8G
  CACHEBUFFERSIZE (soft max):                    4M
  CACHEPAGEOUTSIZE (normal):                     4M
  PROCESS VM AVAIL FROM OS (min):           16G
  CACHESIZEMAX (strict force to disk):      13.99G

2013-12-24 16:22:18   INFO    OGG-01226  Socket buffer size set to 27985 (flush size  27985).
2013-12-24 16:22:19   INFO    OGG-01052  No recovery is required for target file  ./dirdat/TB000000, at RBA 0 
                              (file not opened).
2013-12-24 16:22:19   INFO    OGG-01478  Output file ./dirdat/TB is using format  RELEASE 10.4/11.1.
***********************************************************************
**                      Run Time Messages                             **
***********************************************************************
  Opened trail file ./dirdat/TA000000 at 2013-12-24  16:22:19
  SEQUENCEWildcard   resolved (entry SCOTT.*):
  SEQUENCE SCOTT.TQ;
  PASSTHRU mapping resolved for source table SCOTT.TQ
  TABLEWildcard   resolved (entry SCOTT.*):
  TABLE SCOTT.T;
  PASSTHRU mapping resolved for source table SCOTT.T
  GGSCI (grid11g.kr.oracle.com) 19> exit

Configurar el ambiente del sistema operativo en la base de datos objetivo:
[oracle@grid11g SRCDB:~]# . .db10s
  [oracle@grid11g SRCDB:~]# mkdir -p  /u01/app/oracle/oradata/TGTDB
  [oracle@grid11g SRCDB:~]# mkdir -p  /u01/app/oracle/oradata/TGTDB/arch
  [oracle@grid11g SRCDB:~]# mkdir -p  /u01/app/oracle/admin/TGTDB/adump
  [oracle@grid11g SRCDB:~]# mkdir -p /u01/app/oracle/admin/TGTDB/bdump
  [oracle@grid11g SRCDB:~]# mkdir -p  /u01/app/oracle/admin/TGTDB/udump
  [oracle@grid11g SRCDB:~]# mkdir -p  /u01/app/oracle/admin/TGTDB/cdump
  [oracle@grid11g SRCDB:~]# cd  /u01/app/oracle/product/10.2.0/db_1/dbs
  [oracle@grid11g SRCDB:/u01/app/oracle/product/10.2.0/db_1/dbs]#  sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Tue Dec  24 16:24:51 2013
  Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
  Connected to:
  Oracle Database 10g Enterprise Edition Release 10.2.0.5.0  - 64bit Production
  With the Partitioning, OLAP, Data Mining and Real  Application Testing options

SQL> create pfile from spfile;
  File created.

SQL> exit

Crear un archivo de parámetros de inicialización en la base de datos objetivo:
[oracle@grid11g SRCDB:/u01/app/oracle/product/10.2.0/db_1/dbs]#  cp initSRCDB.ora initTGTDB.ora
  [oracle@grid11g  SRCDB:/u01/app/oracle/product/10.2.0/db_1/dbs]# vi initTGTDB.ora
  [oracle@grid11g  SRCDB:/u01/app/oracle/product/10.2.0/db_1/dbs]# cat initTGTDB.ora
  TGTDB.__db_cache_size=171966464
  TGTDB.__java_pool_size=4194304
  TGTDB.__large_pool_size=4194304
  TGTDB.__shared_pool_size=88080384
  TGTDB.__streams_pool_size=4194304
  *.audit_file_dest='/u01/app/oracle/admin/TGTDB/adump'
  *.background_dump_dest='/u01/app/oracle/admin/TGTDB/bdump'
  *.compatible='10.2.0.5.0'
  *.control_files='/u01/app/oracle/oradata/TGTDB/control01.ctl','/u01/app/oracle/oradata/TGTDB/control02.ctl',
    '/u01/app/oracle/oradata/TGTDB/control03.ctl'
  *.core_dump_dest='/u01/app/oracle/admin/TGTDB/cdump'
  *.db_block_size=8192
  *.db_domain=''
  *.db_file_multiblock_read_count=16
  *.db_name='TGTDB'
  *.job_queue_processes=10
  *.log_archive_dest='/u01/app/oracle/oradata/TGTDB/arch/'
  *.open_cursors=300
  *.pga_aggregate_target=92274688
  *.processes=150
  *.recyclebin='OFF'
  *.remote_login_passwordfile='EXCLUSIVE'
  *.sga_target=278921216
  *.undo_management='AUTO'
  *.undo_tablespace='UNDOTBS1'
  *.user_dump_dest='/u01/app/oracle/admin/TGTDB/udump'
  [oracle@grid11g  SRCDB:/u01/app/oracle/product/10.2.0/db_1/dbs]#

Realizar un Backup en línea desde la base de datos origen (Oracle 10g):
[oracle@grid11g SRCDB:~]# sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Tue Dec  24 16:27:30 2013
  Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
  Oracle Database 10g Enterprise Edition Release 10.2.0.5.0  - 64bit Production
  With the Partitioning, OLAP, Data Mining and Real  Application Testing options

SQL> alter system switch logfile;
  System altered.

SQL> alter database begin backup;
  Database altered.

SQL> host
  [oracle@grid11g ~]$ cp /u01/app/oracle/oradata/SRCDB/system01.dbf    /u01/app/oracle/oradata/TGTDB/system01.dbf
  [oracle@grid11g ~]$ cp  /u01/app/oracle/oradata/SRCDB/undotbs01.dbf  /u01/app/oracle/oradata/TGTDB/undotbs01.dbf
  [oracle@grid11g ~]$ cp  /u01/app/oracle/oradata/SRCDB/sysaux01.dbf   /u01/app/oracle/oradata/TGTDB/sysaux01.dbf
  [oracle@grid11g ~]$ cp  /u01/app/oracle/oradata/SRCDB/users01.dbf    /u01/app/oracle/oradata/TGTDB/users01.dbf
  [oracle@grid11g ~]$ exit

SQL> alter database end backup;
  Database altered.

SQL> select current_scn from v$database;

CURRENT_SCN
  --------------------
  230362

Nota: Es importante anotar este SCN.
SQL> alter system switch logfile;
  System altered.

SQL> alter system switch logfile;
  System altered.

SQL> !cp /u01/app/oracle/oradata/SRCDB/arch/*  /u01/app/oracle/oradata/TGTDB/arch/.
  SQL> exit

Iniciar la base de datos en estado “NOMOUNT” y crear el “control file” en la base de datos objetivo:
[oracle@grid11g TGTDB:~]# sqlplus / as sysdba
  SQL*Plus: Release 10.2.0.5.0 - Production on Tue Dec  24 16:30:35 2013
  Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
  Connected to an idle instance.

SQL> STARTUP NOMOUNT
  ORACLE instance started.
  Total System Global Area       281018368  bytes
  Fixed Size                           2095672 bytes
  Variable Size                        100664776  bytes
  Database Buffers               171966464  bytes
  Redo Buffers                         6291456 bytes

SQL> CREATE CONTROLFILE SET DATABASE  "TGTDB" RESETLOGS FORCE LOGGING ARCHIVELOG
  2      MAXLOGFILES 16
  3      MAXLOGMEMBERS 3
  4      MAXDATAFILES 100
  5      MAXINSTANCES 8
  6      MAXLOGHISTORY 292
  7  LOGFILE
  8    GROUP 1  '/u01/app/oracle/oradata/TGTDB/redo01.log'   SIZE 100M,
  9    GROUP 2  '/u01/app/oracle/oradata/TGTDB/redo02.log'   SIZE 100M,
  10    GROUP 3  '/u01/app/oracle/oradata/TGTDB/redo03.log'   SIZE 100M
  11  DATAFILE
  12     '/u01/app/oracle/oradata/TGTDB/system01.dbf',
  13     '/u01/app/oracle/oradata/TGTDB/undotbs01.dbf',
  '/u01/app/oracle/oradata/TGTDB/sysaux01.dbf',
  14   15     '/u01/app/oracle/oradata/TGTDB/users01.dbf'
  16  CHARACTER SET AL32UTF8;

Control file created.

Iniciar el proceso de recuperación en la base de datos objetivo:
SQL> recover database using backup controlfile  until change 230362;
  ORA-00279: change 230221 generated at 12/24/2013  16:27:43 needed for thread 1
  ORA-00289: suggestion :  /u01/app/oracle/oradata/TGTDB/arch/1_22_759613235.dbf
  ORA-00280: change 230221 for thread 1 is in sequence  #22
  Specify log: {<RET>=suggested | filename | AUTO  | CANCEL}
  AUTO
  Log applied.
  Media recovery complete.

SQL> alter database open resetlogs;
  Database altered.

SQL> ALTER TABLESPACE TEMP 
  ADD TEMPFILE  '/u01/app/oracle/oradata/TGTDB/temp01.dbf' SIZE 300m;
  Tablespace altered.

SQL> exit

Eliminar el usuario  “oggmgr” en la base de datos objetivo:
[oracle@grid11g TGTDB:/u01/app/ogg/10g]# sqlplus / as  sysdba
  SQL*Plus: Release 10.2.0.5.0 - Production on Tue Dec  24 16:33:05 2013
  Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
  Connected to:
  Oracle Database 10g Enterprise Edition Release  10.2.0.5.0 - 64bit Production
  With the Partitioning, OLAP, Data Mining and Real  Application Testing options

SQL> @ddl_disable
  Trigger altered.

SQL> @ddl_remove
  DDL replication removal script.
  WARNING: this script removes all DDL replication  objects and data.
  You will be prompted for the name of a schema for the  GoldenGate database objects.
  NOTE: The schema must be created prior to running this  script.

Enter GoldenGate schema name:oggmgr
  Working, please wait ...
  Spooling to file ddl_remove_spool.txt
  Script complete.

SQL> drop user oggmgr cascade;
  User dropped.

SQL> shutdown immediate
  Database closed.
  Database dismounted.
  ORACLE instance shut down.
  SQL> exit

Migrar la base de datos objetivo desde la version 10.2.0.5.0 a la versión 12.1.0.1.0:
[oracle@grid11g TGTDB:~]# vi /etc/oratab
  [oracle@grid11g TGTDB:~]# cat /etc/oratab

# This file is used by ORACLE utilities.  It is created by root.sh
  # and updated by the Database Configuration Assistant  when creating a database.
  # A colon, ':', is used as the field terminator.  A new line terminates
  # the entry.   Lines beginning with a pound sign, '#', are comments.
  # Entries are of the form:
  #    $ORACLE_SID:$ORACLE_HOME:<N|Y>:
  # The first and second fields are the system  identifier and home
  # directory of the database respectively.  The third filed indicates
  # to the dbstart utility that the database should ,  "Y", or should not,
  # "N", be brought up at system boot time.
  #
  # Multiple entries with the same $ORACLE_SID are not  allowed.
  #
  #SRCDB:/u01/app/oracle/product/10.2.0/db_1:N
  TGTDB:/u01/app/oracle/product/10.2.0/db_1:N















Configurar el replicado en la base de datos objetivo (Oracle database 12c):
[oracle@grid11g TGTDB:/u01/app/ogg/12c]# sqlplus / as  sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Tue Dec 24  17:26:11 2013
  Copyright (c) 1982, 2013, Oracle.  All rights reserved.
  Connected to:
  Oracle Database 12c Enterprise Edition Release  12.1.0.1.0 - 64bit Production
  With the Partitioning, OLAP, Advanced Analytics and  Real Application Testing options

SQL> create user oggmgr identified by oracle  default tablespace users;
  User created.

SQL> @role_setup
  GGS Role setup script

This script will drop and recreate the role  GGS_GGSUSER_ROLE
To use a different role name, quit this script and  then edit the params.sql script to change the gg_role parameter to the  preferred name. 
(Do not run the script.)

You will be prompted for the name of a schema for the  GoldenGate database objects.
  NOTE: The schema must be created prior to running this  script.
  NOTE: Stop all DDL replication before starting this  installation.
Enter GoldenGate schema name:oggmgr
  Wrote file role_setup_set.txt
  PL/SQL procedure successfully completed.
  Role setup script complete

Grant this role to each user assigned to the Extract,  
GGSCI, and Manager processes, by using the following SQL command:

GRANT GGS_GGSUSER_ROLE TO <loggedUser>
  where <loggedUser> is the user assigned to the  GoldenGate processes.

SQL> grant ggs_ggsuser_role , connect, resource,  dba to oggmgr;
  Grant succeeded.

SQL> exit

Crear una tabla “checkpoint” en la base de datos objetivo (Oracle database 12c)
[oracle@grid11g TGTDB:/u01/app/ogg/12c]# ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
  Version 12.1.2.0.0 17185003  OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316_FBO
  Linux, x64, 64bit (optimized), Oracle 12c on Sep 25  2013 02:33:54
  Operating system character set identified as UTF-8.
  Copyright (C) 1995, 2013, Oracle and/or its  affiliates. All rights reserved.

GGSCI (grid11g.kr.oracle.com) 1> edit params  ./GLOBALS
  GGSCI (grid11g.kr.oracle.com) 2> view params  ./GLOBALS

-- GoldenGate GLOBALS parameter file
  CHECKPOINTTABLE oggmgr.ggschkpt
  GGSCHEMA oggmgr

GGSCI (grid11g.kr.oracle.com) 3> exit

[oracle@grid11g TGTDB:/u01/app/ogg/12c]# ./ggsci
  Oracle GoldenGate Command Interpreter for Oracle
  Version 12.1.2.0.0 17185003  OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316_FBO
  Linux, x64, 64bit (optimized), Oracle 12c on Sep 25  2013 02:33:54
  Operating system character set identified as UTF-8.
  Copyright (C) 1995, 2013, Oracle and/or its  affiliates. All rights reserved.

GGSCI (grid11g.kr.oracle.com) 1> dblogin userid  oggmgr, password oracle
  Successfully logged into database.

GGSCI (grid11g.kr.oracle.com) 2> add  checkpointtable

No checkpoint table specified. Using GLOBALS  specification (oggmgr.ggschkpt)...
  Successfully created checkpoint table oggmgr.ggschkpt.

GGSCI (grid11g.kr.oracle.com) 3> add replicat  repla, exttrail ./dirdat/TB
  REPLICAT added.

GGSCI (grid11g.kr.oracle.com) 4> edit params repla
  GGSCI (grid11g.kr.oracle.com) 5> view params repla

-- Change Delivery parameter file to apply
  REPLICAT REPLA
  USERID oggmgr, PASSWORD oracle
  ASSUMETARGETDEFS
  DISCARDFILE ./dirrpt/REPLA.DSC, APPEND
  REPORTCOUNT EVERY 5 MINUTES, RATE

-- Configure DDL replication
  DDL INCLUDE MAPPED
  DDLOPTIONS REPORT

-- Table/Sequence List
  MAP SCOTT.*              , TARGET SCOTT.*;

GGSCI (grid11g.kr.oracle.com) 6> exit
  [oracle@grid11g TGTDB:/u01/app/ogg/12c]# sqlplus / as  sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Tue Dec 24  17:29:14 2013
  Copyright (c) 1982, 2013, Oracle.  All rights reserved.
  Connected to:
  Oracle Database 12c Enterprise Edition Release  12.1.0.1.0 - 64bit Production
  With the Partitioning, OLAP, Advanced Analytics and  Real Application Testing options

SQL> @sequence
  Please enter the name of a schema for the GoldenGate  database objects:
  oggmgr
  Setting schema name to OGGMGR
  UPDATE_SEQUENCE STATUS:
  Line/pos
  ----------------------------------------
  Error
  -----------------------------------------------------------------
  No errors
  No errors

GETSEQFLUSH
  Line/pos
  ----------------------------------------
  Error
  -----------------------------------------------------------------
  No errors
  No errors

SEQTRACE
  Line/pos
  ----------------------------------------
  Error
  -----------------------------------------------------------------
  No errors
  No errors

REPLICATE_SEQUENCE STATUS:
  Line/pos
  ----------------------------------------
  Error
  -----------------------------------------------------------------
  No errors
  No errors

STATUS OF SEQUENCE SUPPORT
  --------------------------------------------------------------
  SUCCESSFUL installation of Oracle Sequence Replication  support
  SQL> exit

[oracle@grid11g TGTDB:/u01/app/ogg/12c]# ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
  Version 12.1.2.0.0 17185003 OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316_FBO
  Linux, x64, 64bit (optimized), Oracle 12c on Sep 25  2013 02:33:54
  Operating system character set identified as UTF-8.
  Copyright (C) 1995, 2013, Oracle and/or its  affiliates. All rights reserved.

GGSCI (grid11g.kr.oracle.com) 1> start replicat  repla aftercsn 230362
  Sending START request to MANAGER ...
  REPLICAT REPLA starting

GGSCI (grid11g.kr.oracle.com) 2> info replicat  repla

REPLICAT    REPLA     Last Started 2013-12-24  17:29   Status RUNNING
  Checkpoint Lag        01:00:49 (updated 00:00:10 ago)
  Process ID            11195
  Log Read Checkpoint   File ./dirdat/TB000000
  2013-12-24 16:29:07.000335  RBA  78224

GGSCI (grid11g.kr.oracle.com) 3> lag replicat repla

Sending GETLAG request to REPLICAT REPLA ...
  Last record lag 2,107 seconds.
  GGSCI (grid11g.kr.oracle.com) 4> exit

[oracle@grid11g TGTDB:/u01/app/ogg/12c]# ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
  Version 12.1.2.0.0 17185003  OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316_FBO
  Linux, x64, 64bit (optimized), Oracle 12c on Sep 25  2013 02:33:54
  Operating system character set identified as UTF-8.
  Copyright (C) 1995, 2013, Oracle and/or its  affiliates. All rights reserved.
  GGSCI (grid11g.kr.oracle.com) 1>

GGSCI (grid11g.kr.oracle.com) 1> lag replicat repla
  Sending GETLAG request to REPLICAT REPLA ...
  Last record lag 7 seconds.
  At EOF, no more records to process.

GGSCI (grid11g.kr.oracle.com) 2> exit

Verificar la sincronización de los cambios entre la base de datos origen y la base de datos destino:
Nota: Realizar transacciones y realizar “commit”
Verificar la base de datos objetivo (Oracle Database 12c):

Comentarios

Entradas populares de este blog

Installing Oracle GoldenGate for Oracle 12c

Replicación de datos con múltiples procesos "Extract" y "Replicat" con el modo de captura integrada utilizando Oracle GoldenGate 12c

How To Rename ASM Diskgroup With RAC Database