Replicação de Dados com Múltiplos processos de Extração e Replicação em Modo de Captura Integrada no Oracle GoldenGate 12c
Por Yenugula Venkata RaviKumar e Alex Zaballa ,
Postado em Abril 2016
Revisado por Marcelo Pivovar - Solution Architect
Introdução
O Oracle GoldenGate 12c permite que sejam configurados múltiplos processos Replicat em paralelo para aumentar a performance na aplicação dos dados no banco de destino. Configurar o Oracle GoldenGate Extract no modo de captura integrado, traz a vantagem da utilização do LogMiner server e a simplificação no gerenciamento.
Neste artigo você irá aprender a configurar o software do Oracle GoldenGate12c para executar DMLs e DDLs entre o banco de origem (Oracle Database 12c), com múltiplos processos Extract, múltiplos processos Replicat, múltiplos processos Pump e o banco de destino (Oracle Database 12c).
O banco “srcdb” (Oracle 12cR1) será o banco de dados de origeme o “tardb” (Oracle 12cR1) será o banco de dados de destino.
Banco de Origem (srcdb) |
Banco de Destino (tardb) |
|
|
Processos do OGG no banco de origem (srcdb) |
Processos do OGG no banco de destino (tardb) |
|
|
Passos a serem executados no banco de dados de origem (srcdb):
- Instalação software do banco de dados 12c do Oracle R1 com o usuário “oracle” no seguinte diretório - ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1;
- Instalação software do Oracle GoldenGate 12c com o usuário “oracle” no seguinte
diretório - GOLDENGATE_HOME=/u01/app/ogg/12g;
- Criar os subdiretórios para Oracle GoldenGate 12c no banco de dados de origem (srcdb)
- Criar e configurar múltiplos processos Extract e Pump para replicação bidirecional entre o Oracle Database 12c (srcdb) e o Oracle Database 12c (tardb)
- Colocar o banco de dados em ARCHIVELOG mode
- Habilitar o force logging mode
- Habilitar o supplemental logging
- Configurar o Streams pool size para o modo de captura integrada.
Passo 1: Logar com o usuário oracle no servidor do banco de dados de origem (srcdb) e instalar o software. Após isso, logar como ogguser e configurar os subdiretórios para o Oracle GoldenGate 12c.
Oracle GoldenGate Command Interpreter for Oracle
Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1_FBO
Linux, x64, 64bit (optimized), Oracle 12c on Aug 7 2014 10:21:34
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
GGSCI (ggnode1.oracle.com) 1> create subdirs
Creating subdirectories under current directory /u01/app/ogg/12g
Parameter files /u01/app/ogg/12g/dirprm: already exists
Report files /u01/app/ogg/12g/dirrpt: created
Checkpoint files /u01/app/ogg/12g/dirchk: created
Process status files /u01/app/ogg/12g/dirpcs: created
SQL script files /u01/app/ogg/12g/dirsql: created
Database definitions files /u01/app/ogg/12g/dirdef: created
Extract data files /u01/app/ogg/12g/dirdat: created
Temporary files /u01/app/ogg/12g/dirtmp: created
Credential store files /u01/app/ogg/12g/dircrd: created
Masterkey wallet files /u01/app/ogg/12g/dirwlt: created
Dump files /u01/app/ogg/12g/dirdmp: created
Logar no banco de dados de origem (srcdb) como sysdba
[oracle@ggnode1 ~]$ source 12c.env
[oracle@ggnode1 ~]$ sqlplus /nolog
SQL*Plus: Release 12.1.0.1.0 Production on Sat Jun 20 13:46:03 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> connect sys/oracle@srcdb as sysdba
Connected.
SQL> set lines 200 pages 1000
SQL> CREATE TABLESPACE GOLDENGATE DATAFILE '/u01/app/oracle/oradata/srcdb/goldengate01.dbf' SIZE 100M AUTOEXTEND ON;
Tablespace created.
SQL> CREATE USER ogguser IDENTIFIED BY oracle DEFAULT TABLESPACE GOLDENGATE TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK;
User created.
SQL> GRANT CONNECT TO ogguser;
Grant succeeded.
SQL> GRANT DBA TO ogguser;
Grant succeeded.
SQL> GRANT UNLIMITED TABLESPACE TO ogguser;
Grant succeeded.
SQL> GRANT SELECT ANY DICTIONARY TO ogguser;
Grant succeeded.
SQL> alter database force logging;
Database altered.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
Database altered.
SQL> ALTER SYSTEM SWITCH LOGFILE;
System altered.
SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN,LOG_MODE FROM V$DATABASE;
SUPPLEME LOG_MODE
--------------- -----------------
YES ARCHIVELOG
SQL> alter user scott identified by oracle account unlock;
User altered.
Quando utilizamos o Extract no modo de captura integrada, é necessário configurar a área de memória do Oracle chamada Streams Poolm, que faz parte da System Global Area (SGA).
SQL> show parameter streams
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
streams_pool_size big integer 0
SQL> alter system set streams_pool_size=256M scope=both;
System altered.
SQL> show parameter streams
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
streams_pool_size big integer 256M
SQL> connect scott/oracle@srcdb
Connected.
SQL> select tname from tab;
TNAME
------------------------------------------------------------------------------------------
DEPT
EMP
BONUS
SALGRADE
Logar no Oracle GoldenGate 12c no banco de dados de origem (srcdb)
GGSCI (ggnode1.oracle.com) 2> dblogin userid ogguser, password oracle
Successfully logged into database.
Registre os processos Extract ES1a, ES1 e ES1c com trail files individuais. Crie múltiplos processos Pump PS1a, PS1b e PS1c para transformar os trail files para o banco de destino (tardb).
GGSCI (ggnode1.oracle.com) 2> dblogin userid ogguser, password oracle
Successfully logged into database.
Registre os processos Extract ES1a, ES1 e ES1c com trail files individuais.
Crie múltiplos processos Pump PS1a,
PS1b e PS1c para transformar os trail files para o banco de destino (tardb).
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 4> register extract es1a database
Extract ES1A successfully registered with database at SCN 4341495.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 5> add extract es1a, integrated tranlog, begin now
EXTRACT added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 6> add exttrail ./dirdat/ya, extract es1a, megabytes 10
EXTTRAIL added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 7> register extract es1b database
Extract ES1B successfully registered with database at SCN 4360660.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 8> add extract es1b, integrated tranlog, begin now
EXTRACT added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 9> add exttrail ./dirdat/yb, extract es1b, megabytes 10
EXTTRAIL added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 10> register extract es1c database
Extract ES1C successfully registered with database at SCN 4374333.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 11> add extract es1c, integrated tranlog, begin now
EXTRACT added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 12> add exttrail ./dirdat/yc, extract es1c, megabytes 10
EXTTRAIL added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 13> add extract ps1a, exttrailsource ./dirdat/ya
EXTRACT added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 14> add rmttrail ./dirdat/ya, extract ps1a, megabytes 10
RMTTRAIL added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 15> add extract ps1b, exttrailsource ./dirdat/yb
EXTRACT added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 16> add rmttrail ./dirdat/yb, extract ps1b, megabytes 10
RMTTRAIL added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 17> add extract ps1c, exttrailsource ./dirdat/yc
EXTRACT added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 18> add rmttrail ./dirdat/yc extract ps1c, megabytes 10
RMTTRAIL added.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 19> edit param es1a
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 20> view param es1a
extract es1a
exttrail ./dirdat/ya
userid ogguser, password oracle
cachemgr cachesize 512M
ddl include all
ddloptions report
statoptions resetreportstats
tranlogoptions excludeuser ogguser
tranlogoptions integratedparams (max_sga_size 1024, parallelism 1)
table scott.dept;
Verifique se o Extract ES1A está configurado no modo de captura Integrado (o Log Read Checkpoint mostrará Oracle Integrated Redo Logs)
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 49> info extract es1a
EXTRACT ES1A Last Started 2015-06-21 22:51 Status RUNNING
Checkpoint Lag 00:00:01 (updated 00:00:05 ago)
Process ID 23996
Log Read Checkpoint Oracle Integrated Redo Logs
2015-06-22 11:06:55
SCN 0.5652891 (5652891)
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 50>
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 21> edit param es1b
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 22> view param es1b
extract es1b
exttrail ./dirdat/yb
userid ogguser, password oracle
cachemgr cachesize 512M
ddl include all
ddloptions report
statoptions resetreportstats
tranlogoptions excludeuser ogguser
tranlogoptions integratedparams (max_sga_size 1024, parallelism 1)
table scott.dept;
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 23> edit param es1c
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 24> view param es1c
extract es1c
exttrail ./dirdat/yc
userid ogguser, password oracle
cachemgr cachesize 512M
ddl include all
ddloptions report
statoptions resetreportstats
tranlogoptions excludeuser ogguser
tranlogoptions integratedparams (max_sga_size 1024, parallelism 1)
table scott.dept;
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 25> edit param ps1a
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 26> view param ps1a
extract ps1a
userid ogguser, password oracle
rmthost ggnode2, mgrport 15200, compress
rmttrail ./dirdat/ya
table scott.dept, filter (@range (1,3));
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 27> edit param ps1b
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 28> view param ps1b
extract ps1b
userid ogguser, password oracle
rmthost ggnode2, mgrport 15200, compress
rmttrail ./dirdat/yb
table scott.dept, filter (@range (2,3));
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 29> edit param ps1c
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 30> view param ps1c
extract ps1c
userid ogguser, password oracle
rmthost ggnode2, mgrport 15200, compress
rmttrail ./dirdat/yc
table scott.dept, filter (@range (3,3));
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 31> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
EXTRACT STOPPED ES1A 00:00:00 00:05:04
EXTRACT STOPPED ES1B 00:00:00 00:04:28
EXTRACT STOPPED ES1C 00:00:00 00:03:52
EXTRACT STOPPED PS1A 00:00:00 00:03:17
EXTRACT STOPPED PS1B 00:00:00 00:03:11
EXTRACT STOPPED PS1C 00:00:00 00:03:07
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 32> edit param mgr
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 33> view param mgr
PORT 15100
DYNAMICPORTLIST 15510-15520
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS
O Oracle Golden Gate requer que os valores de colunas chaves sejam registradas no redo, para permitir que os registros atualizados ou deletados no banco de origem sejam encontrados no banco de destino. Adicione o supplemental logging a nível de schema utilizando o comando do Oracle Golden Gate ADD SCHEMATRANDATA.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 34> add schematrandata scott
2015-06-21 22:25:22 INFO OGG-01788 SCHEMATRANDATA has been added on schema scott.
2015-06-21 22:25:22 INFO OGG-01976 SCHEMATRANDATA for scheduling columns has been added on schema scott.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 35> edit param ./GLOBALS
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 36> view param ./GLOBALS
GGSCHEMA OGGUSER
ENABLEMONITORING
CHECKPOINTTABLE GGS_CHECKPOINT
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 39> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
EXTRACT STOPPED ES1A 00:00:00 00:14:26
EXTRACT STOPPED ES1B 00:00:00 00:13:50
EXTRACT STOPPED ES1C 00:00:00 00:13:14
EXTRACT STOPPED PS1A 00:00:00 00:12:39
EXTRACT STOPPED PS1B 00:00:00 00:12:34
EXTRACT STOPPED PS1C 00:00:00 00:12:29
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 38> start mgr
Manager started.
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 48> info mgr
Manager is running (IP port ggnode1.oracle.com.15100, Process ID 23542).
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 40> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT STOPPED ES1A 00:00:00 00:17:02
EXTRACT STOPPED ES1B 00:00:00 00:16:26
EXTRACT STOPPED ES1C 00:00:00 00:15:50
EXTRACT STOPPED PS1A 00:00:00 00:15:15
EXTRACT STOPPED PS1B 00:00:00 00:15:10
EXTRACT STOPPED PS1C 00:00:00 00:15:05
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 45> info exttrail ./dirdat/ya
Extract Trail: ./dirdat/ya
Extract: ES1A
Seqno: 8
RBA: 8881941
File Size: 10M
Extract Trail: ./dirdat/ya
Extract: PS1A
Seqno: 2
RBA: 6898892
File Size: 10M
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 46> info exttrail ./dirdat/yb
Extract Trail: ./dirdat/yb
Extract: ES1B
Seqno: 8
RBA: 9172543
File Size: 10M
Extract Trail: ./dirdat/yb
Extract: PS1B
Seqno: 2
RBA: 6978307
File Size: 10M
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 47> info exttrail ./dirdat/yc
Extract Trail: ./dirdat/yc
Extract: ES1C
Seqno: 8
RBA: 5718157
File Size: 10M
Extract Trail: ./dirdat/yc
Extract: PS1C
Seqno: 2
RBA: 7041522
File Size: 10M
GGSCI (ggnode1.oracle.com as ogguser@srcdb) 48>
Passos a serem executados no banco de dados de destino (tardb):
- Instalação software do banco de dados 12c do Oracle R1 com o usuário “oracle” no seguinte diretório - ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1;
- Instalação software do Oracle GoldenGate 12c com o usuário “oracle” no seguinte diretório - GOLDENGATE_HOME=/u01/app/ogg/12g;
- Criar os subdiretórios para Oracle GoldenGate 12c no banco de dados de destino (tardb);
- Criar e configurar múltiplos processos Replicat no banco de dados de destino (tardb);
- Colocar o banco de dados em ARCHIVELOG mode;
- Habilitar o force logging mode;
- Habilitar o supplemental logging;
- Configurar o Streams pool size.
Passo 2: Logar com o usuário oracle no servidor do banco de dados de destino (tardb) e instalar o software. Após isso, logar como ogguser e configurar os subdiretórios para o Oracle GoldenGate 12c.
[oracle@ggnode2 ~]$ source 12c.env
[oracle@ggnode2 ~]$ cd $GG
[oracle@ggnode2 12g]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1_FBO
Linux, x64, 64bit (optimized), Oracle 12c on Aug 7 2014 10:21:34
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
GGSCI (ggnode2.oracle.com) 1> create subdirs
Creating subdirectories under current directory /u01/app/ogg/12g
Parameter files /u01/app/ogg/12g/dirprm: already exists
Report files /u01/app/ogg/12g/dirrpt: created
Checkpoint files /u01/app/ogg/12g/dirchk: created
Process status files /u01/app/ogg/12g/dirpcs: created
SQL script files /u01/app/ogg/12g/dirsql: created
Database definitions files /u01/app/ogg/12g/dirdef: created
Extract data files /u01/app/ogg/12g/dirdat: created
Temporary files /u01/app/ogg/12g/dirtmp: created
Credential store files /u01/app/ogg/12g/dircrd: created
Masterkey wallet files /u01/app/ogg/12g/dirwlt: created
Dump files /u01/app/ogg/12g/dirdmp: created
Logar no banco de dados de destino (tabdb) como sysdba
[oracle@ggnode2 ~]$ sqlplus /nolog
SQL*Plus: Release 12.1.0.1.0 Production on Sat Jun 20 13:49:28 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> connect sys/oracle@tardb as sysdba
Connected.
SQL> CREATE TABLESPACE GOLDENGATE DATAFILE '/u01/app/oracle/oradata/tardb/goldengate01.dbf' SIZE 100M AUTOEXTEND ON;
Tablespace created.
SQL> CREATE USER ogguser IDENTIFIED BY oracle DEFAULT TABLESPACE GOLDENGATE TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK;
User created.
SQL> GRANT CONNECT TO ogguser;
Grant succeeded.
SQL> GRANT DBA TO ogguser;
Grant succeeded.
SQL> GRANT UNLIMITED TABLESPACE TO ogguser;
Grant succeeded.
SQL> GRANT SELECT ANY DICTIONARY TO ogguser;
Grant succeeded.
SQL> alter database force logging;
Database altered.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
Database altered.
SQL> ALTER SYSTEM SWITCH LOGFILE;
System altered.
SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN,LOG_MODE FROM V$DATABASE;
SUPPLEME LOG_MODE
-------------- ------------
YES ARCHIVELOG
SQL> alter user scott identified by oracle account unlock;
User altered.
SQL> sho parameter streams
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
streams_pool_size big integer 0
SQL> alter system set streams_pool_size=256M scope=both;
System altered.
SQL> sho parameter streams
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
streams_pool_size big integer 256M
SQL> connect scott/oracle@tardb
Connected.
SQL> select tname from tab;
TNAME
--------------------------------------------------------------------------------------------
DEPT
EMP
BONUS
SALGRADE
Logar no Oracle GoldenGate 12c no banco de dados de destino (srcdb)
[oracle@ggnode2 12g]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1_FBO
Linux, x64, 64bit (optimized), Oracle 12c on Aug 7 2014 10:21:34
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
GGSCI (ggnode2.oracle.com) 2> dblogin userid ogguser, password oracle
Successfully logged into database.
GGSCI (ggnode2.oracle.com as ogguser@tardb) 4> edit param ./GLOBALS
GGSCI (ggnode2.oracle.com as ogguser@tardb) 5> view param ./GLOBALS
GGSCHEMA OGGUSER
ENABLEMONITORING
CHECKPOINTTABLE GGS_CHECKPOINT
GGSCI (ggnode2.oracle.com as ogguser@tardb) 6> exit
[oracle@ggnode2 12g]$ ./ggsci
GGSCI (ggnode2.oracle.com) 1> dblogin userid ogguser, password oracle
Successfully logged into database.
GGSCI (ggnode2.oracle.com as ogguser@tardb) 1> add checkpointtable
No checkpoint table specified. Using GLOBALS specification (GGS_CHECKPOINT)...
Successfully created checkpoint table GGS_CHECKPOINT.
GGSCI (ggnode2.oracle.com as ogguser@tardb) 2> add replicat rs1a, exttrail ./dirdat/ya
REPLICAT added.
GGSCI (ggnode2.oracle.com as ogguser@tardb) 3> add replicat rs1b, exttrail ./dirdat/yb
REPLICAT added.
GGSCI (ggnode2.oracle.com as ogguser@tardb) 4> add replicat rs1c, exttrail ./dirdat/yc
REPLICAT added.
GGSCI (ggnode2.oracle.com as ogguser@tardb) 5> edit param rs1a
GGSCI (ggnode2.oracle.com as ogguser@tardb) 6> view param rs1a
replicat rs1a
userid ogguser, password oracle
assumetargetdefs
ddloptions report
discardfile ./dirout/rs1a.dsc, purge
map scott.dept, target scott.dept, filter (@range (1,3));
GGSCI (ggnode2.oracle.com as ogguser@tardb) 47> info replicat rs1a
REPLICAT RS1A Last Started 2015-06-21 22:37 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:10 ago)
Process ID 23194
Log Read Checkpoint File ./dirdat/ya000002
2015-06-21 22:58:13.060948 RBA 6898892
GGSCI (ggnode2.oracle.com as ogguser@tardb) 7> edit param rs1b
GGSCI (ggnode2.oracle.com as ogguser@tardb) 8> view param rs1b
replicat rs1b
userid ogguser, password oracle
assumetargetdefs
ddloptions report
discardfile ./dirout/rs1b.dsc, purge
map scott.dept, target scott.dept, filter (@range (2,3));
GGSCI (ggnode2.oracle.com as ogguser@tardb) 11> edit param rs1c
GGSCI (ggnode2.oracle.com as ogguser@tardb) 12> view param rs1c
replicat rs1c
userid ogguser, password oracle
assumetargetdefs
ddloptions report
discardfile ./dirout/rs1c.dsc, purge
map scott.dept, target scott.dept, filter (@range (3,3));
GGSCI (ggnode2.oracle.com as ogguser@tardb) 13> edit param mgr
GGSCI (ggnode2.oracle.com as ogguser@tardb) 14> view param mgr
PORT 15200
DYNAMICPORTLIST 15510-15520
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS
GGSCI (ggnode2.oracle.com as ogguser@tardb) 15> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
REPLICAT STOPPED RS1A 00:00:00 00:03:44
REPLICAT STOPPED RS1B 00:00:00 00:03:37
REPLICAT STOPPED RS1C 00:00:00 00:03:26
GGSCI (ggnode2.oracle.com as ogguser@tardb) 24> start mgr
Manager started.
GGSCI (ggnode2.oracle.com as ogguser@tardb) 46> info mgr
Manager is running (IP port ggnode2.oracle.com.15200, Process ID 23184).
GGSCI (ggnode2.oracle.com as ogguser@tardb) 25> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT STOPPED RS1A 00:00:00 00:08:45
REPLICAT STOPPED RS1B 00:00:00 00:08:38
REPLICAT STOPPED RS1C 00:00:00 00:08:27
GGSCI (ggnode2.oracle.com as ogguser@tardb) 26> start er *
Sending START request to MANAGER ...
REPLICAT RS1A starting
Sending START request to MANAGER ...
REPLICAT RS1B starting
Sending START request to MANAGER ...
REPLICAT RS1C starting
GGSCI (ggnode2.oracle.com as ogguser@tardb) 27> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING RS1A 00:00:00 00:00:01
REPLICAT RUNNING RS1B 00:00:00 00:00:01
REPLICAT RUNNING RS1C 00:00:00 00:00:01
Logar no Oracle GoldenGate 12c no banco de dados de destino (srcdb) e utilizar o usuário scott para realizar transações na tabela dept.
SQL> select count(*) from dept;
COUNT(*)
----------
99913
SQL> declare
deptno number(6);
dname varchar2(14);
loc varchar2(13);
begin
for i in 100000..500000 loop
insert into dept values (i,'ORACLE','REDWOOD');
commit;
end loop;
end;
/
PL/SQL procedure successfully completed.
SQL> select count(*) from dept;
COUNT(*)
----------
499914
Verificando a sincronização das operações do banco de dados de origem (srcdb) com banco de dados de destino (tardb)
Verificando a localização dos Trail files com os seus tamanhos no banco de origem (srcdb)
Verificando a localização dos Trail files com os seus tamanhos no banco de destino (tardb). Nós utilizamos a opção de compressão de Trail files no banco de destino.
Verificando as estatísticas dos múltiplos processos Extract no banco de dados de origem (srcdb)
Verificando as estatisticas do processo Extract ES1a
Verificando as estatisticas do processo Extract ES1b
Verificando as estatisticas do processo Extract ES1c
Verificando as estatísticas dos múltiplos processos Extract no banco de dados de destino (tardb)
Verificando as estatísticas dos múltiplos processos Replicat no banco de dados de destino (tardb)
Resumo
Configurados múltiplos processos Replicat no banco de destino para melhorar a performance da aplicação das transações. Também foi configurado o Oracle Golden Gate Extract em modo integrado para se ter vantagem da utilização do LogMiner server e simplificação no gerenciamento. A Oracle recomenda primeiro configurar um único processo Replicat e monitorar a aplicação e performance. A adição de mais processos Replicat só deve ser realizada quando o desempenho de um único Replicat causa uma latência inaceitável.
Yenugula Venkata Ravikumar é um DBA com mais de 15 anos de experiencia com Oracle e em ambientes de alta disponibilidade (RAC, Data Guard, dentre outros), tuning e desempenho, migrações, backup e recover, Oracle Exadata X2 e X3, é Expert em sistemas operacionais tais como como AIX, HP-UX e Linux. Já participou como conferencista de Oracle pela India, onde mora atualmente. Obteve o título de "Oracle Certified Master (OCM 10g)" em 2009.
Alex Zaballa, formado em Análise de Sistemas, é especialista em Banco de Dados Oracle com sólidos conhecimentos em Servidores de Aplicação e Sistemas Operacionais; trabalha com Oracle há 15 anos, é Oracle ACE Director, certificado OCM Database 11G/Cloud e conta com mais de 190 outras certificações em produtos da Oracle. Alex também é fundador do Grupo de Usuários Oracle de Angola (GUOA) e membro do time OraWorld.
Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.