Workshop Oracle Zero Downtime Migration (com Golden Gate)

59
Oracle Zero Downtime Migration (com Golden Gate) 1 Ricardo Portilho Proni [email protected] Esta obra está licenciada sob a licença Creative Commons Atribuição-SemDerivados 3.0 Brasil. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nd/3.0/br/.

description

Em ambientes heterogêneos, com sistemas operacionais diferentes, ou até mesmo versões do Oracle Database diferentes, uma das poucas opções para uma migração com baixíssima indisponibilidade é via Oracle Golden Gate. Esta é exatamente a situação que iremos simular neste Workshop (uma migração entre 11gR2 e 12cR1), de abordagem rápida e precisa, executando uma migração entre plataformas diferentes. Você irá aprender de maneira totalmente prática o procedimento para preparar, configurar, executar e otimizar este tipo de operação. Este tipo de situação é uma das mais avançadas em termos de Alta Disponibilidade, e todo DBA Sênior precisa domina-la.

Transcript of Workshop Oracle Zero Downtime Migration (com Golden Gate)

Page 1: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Oracle Zero Downtime Migration(com Golden Gate)

1

Ricardo Portilho [email protected]

Esta obra está licenciada sob a licençaCreative Commons Atribuição-SemDerivados 3.0 Brasil.

Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nd/3.0/br/.

Page 2: Workshop Oracle Zero Downtime Migration (com Golden Gate)

AmbienteOrigem - HOSTNAME nerv01 - Oracle Enterprise Linux 6.5 - Oracle Standard Edition One 11.2.0.4 - ORACLE_HOME: /u01/app/oracle/product/11.2.0.4/db_1 - Banco de Dados: ORCL - Banco de Dados em Filesystem

Destino - HOSTNAME nerv11 - Oracle Enterprise Linux 6.5 - Oracle Enterprise Edition 12.1.0.2 - ORACLE_HOME: /u01/app/oracle/product/12.1.0.2/db_1 - Banco de Dados: ORCL - Banco de Dados em Filesystem

2

Page 3: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Estratégia de Migração

3

Page 4: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Estratégia de Migração

- Manter a Aplicação funcionando; - Instalar Oracle Database Software no servidor nerv11; - Criar Instância e Banco de Dados no servidor nerv11; - Criar LISTENER no servidor nerv11;

- Instalar Oracle Golden Gate 12.1.2.1 (para Oracle Database 11g) no servidor nerv01; - Instalar Oracle Golden Gate 12.1.2.1 (para Oracle Database 12c) no servidor nerv11; - Iniciar Oracle Golden Gate no servidor nerv01; - Iniciar Oracle Golden Gate no servidor nerv11; - Criar TABLESPACEs no servidor nerv11; - Criar SCHEMAs no servidor nerv11; - Exportar DDL dos objetos (exceto INDEX e CONSTRAINT) do SCHEMA no servidor nerv01; - Importar DDL dos objetos (exceto INDEX e CONSTRAINT) do SCHEMA no servidor nerv11;

4

Page 5: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Estratégia de Migração

- Configurar EXTRACT de Extração INITIAL LOAD (EXT1) no servidor nerv01; - Configurar REPLICAT de SPECIAL RUN (REP1) no servidor nerv11; - Configurar EXTRACT de Extração de Redo Logs (EXT2) no servidor nerv01; - Configurar REPLICAT (REP2) no servidor nerv11; - Iniciar EXTRACT EXT2 no servidor nerv01; - Iniciar EXTRACT EXT1 no servidor nerv01; - Aguardar o EXTRACT EXT1 e o REPLICAT REP1 finalizarem; - Exportar DDL (apenas INDEX) dos objetos do SCHEMA no servidor nerv01; - Importar DDL (apenas INDEX) dos objetos do SCHEMA no servidor nerv11; - Iniciar o REP2; - Aguardar o REP2 estar com baixo DELAY; - Parar a Aplicação; - Aguardar o REP2 finalizar; - Parar EXTRACT EXT2; - Parar REPLICAT REP2; - Exportar DDL (só CONSTRAINTs) dos objetos do SCHEMA no servidor nerv01; - Importar DDL (só CONSTRAINTs) dos objetos do SCHEMA no servidor nerv11; - Direcionar a Aplicação para o servidor nerv11.

5

Page 6: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1 – Instalação Golden Gate

Hands On !

6 6

Page 7: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.1: Instalação Golden Gate

Na máquina nerv01, inicie a instalação do Golden Gate.[oracle@nerv01 ~]$ unzip -q 121210_fbo_ggs_Linux_x64_shiphome.zip[oracle@nerv01 ~]$ cd fbo_ggs_Linux_x64_shiphome/Disk1[oracle@nerv01 Disk1]$ ./runInstaller

7

Page 8: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.2: Instalação Golden Gate

8

Page 9: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.3: Instalação Golden Gate

9

Page 10: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.4: Instalação Golden Gate

10

Page 11: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.5: Instalação Golden Gate

11

Page 12: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.6: Instalação Golden Gate

Na máquina nerv12, inicie a instalação do Golden Gate.[oracle@nerv01 ~]$ ssh -CX oracle@nerv11[oracle@nerv11 ~]$ unzip -q 121210_fbo_ggs_Linux_x64_shiphome.zip[oracle@nerv11 ~]$ cd fbo_ggs_Linux_x64_shiphome/Disk1[oracle@nerv11 Disk1]$ ./runInstaller

12

Page 13: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.7: Instalação Golden Gate

13

Page 14: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.8: Instalação Golden Gate

14

Page 15: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.9: Instalação Golden Gate

15

Page 16: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.10: Instalação Golden Gate

16

Page 17: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.11: Instalação Golden Gate

Na máquina nerv01, verifique se o MANAGER do Golden Gate está ativo.[oracle@nerv01 Disk1]$ cd $ORACLE_BASE/ogg[oracle@nerv01 ogg]$ rlwrap ./ggsciGGSCI (nerv01.localdomain) 1> info all

Na máquina nerv11, verifique se o MANAGER do Golden Gate está ativo.[oracle@nerv11 Disk1]$ cd $ORACLE_BASE/ogg[oracle@nerv11 ogg]$ rlwrap ./ggsciGGSCI (nerv11.localdomain) 1> info all

17

Page 18: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.12: Instalação Golden Gate

Na máquina nerv01, habilite os pré-requisitos do Golden Gate.SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;SQL> ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE;SQL> ALTER SYSTEM SET RECYCLEBIN=OFF SCOPE=SPFILE;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP;

Na máquina nerv01, crie o SCHEMA para o Golden Gate.cd $ORACLE_BASE/oggSQL> CREATE TABLESPACE OGG DATAFILE '/u01/oradata/ORCL/ogg01.dbf' SIZE 1G AUTOEXTEND ON;SQL> CREATE USER OGG IDENTIFIED BY Nerv2014 DEFAULT TABLESPACE OGG TEMPORARY TABLESPACE TEMP;SQL> GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE TO OGG;SQL> GRANT EXECUTE ON UTL_FILE TO OGG;@marker_setup.sql OGG <enter>@ddl_setup.sql OGG <enter>@role_setup.sql OGG <enter>@ddl_enable.sql

18

Page 19: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 1.13: Instalação Golden Gate

Na máquina nerv11, habilite os pré-requisitos do Golden Gate.SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;SQL> ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE;SQL> ALTER SYSTEM SET RECYCLEBIN=OFF SCOPE=SPFILE;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP;

Na máquina nerv11, crie o SCHEMA para o Golden Gate.cd $ORACLE_BASE/oggSQL> CREATE TABLESPACE OGG DATAFILE '/u01/oradata/ORCL/ogg01.dbf' SIZE 1G AUTOEXTEND ON;SQL> CREATE USER OGG IDENTIFIED BY Nerv2014 DEFAULT TABLESPACE OGG TEMPORARY TABLESPACE TEMP;SQL> GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE TO OGG;SQL> GRANT EXECUTE ON UTL_FILE TO OGG;@marker_setup.sql OGG <enter>@ddl_setup.sql OGG <enter>@role_setup.sql OGG <enter>@ddl_enable.sql

19

Page 20: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 2 – Configuração Carga Inicial

Hands On !

20 20

Page 21: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 2.1: Configuração Carga Inicial

Na máquina nerv01, verifique os comandos DDL para criação do SCHEMA.SQL> SET PAGESIZE 1000SQL> SET LINESIZE 300SQL> SET LONG 9000SQL> SELECT

DBMS_METADATA.GET_DDL('USER','SCOTT') FROM DUAL;SQL> SELECT

DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','SCOTT') FROM DUAL;

SQL> SELECTDBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','SCOTT') FROM DUAL;

Na máquina nerv11, execute os comandos DDL para criação do SCHEMA.

21

Page 22: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 2.2: Configuração Carga Inicial

Na máquina nerv11, copie os objetos (exceto CONSTRAINT e INDEX) da máquina nerv01.

22

Page 23: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 2.3: Configuração Carga Inicial

23

Page 24: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 2.4: Configuração Carga Inicial

24

Page 25: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 2.5: Configuração Carga Inicial

25

Page 26: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 2.6: Configuração Carga Inicial

26

Page 27: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 2.7: Configuração Carga Inicial

27

Page 28: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 2.8: Configuração Carga Inicial

Na máquina nerv01, configure o processo EXTRACT de Carga Inicial.GGSCI (nerv01.localdomain) 1> ADD EXTRACT ext1, SOURCEISTABLE

GGSCI (nerv01.localdomain) 1> edit params ext1EXTRACT ext1userid OGG@ORCL, password Nerv2014rmthost nerv11, mgrport 7809RMTTASK replicat, GROUP rep1table SCOTT.*;

GGSCI (nerv01.localdomain) 1> info all

Na máquina nerv11, execute o processo REPLICAT de Carga inicial.GGSCI (nerv11.localdomain) 1> add replicat rep1, SPECIALRUN

GGSCI (nerv11.localdomain) 1> edit params rep1replicat rep1ASSUMETARGETDEFSuserid OGG@ORCL, password Nerv2014map SCOTT.*, target SCOTT.*;

GGSCI (nerv11.localdomain) 1> info all

28

Page 29: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 3 – Configuração Carga Incremental

Hands On !

29 29

Page 30: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 3.1: Config. Carga Incremental

Na máquina nerv01, configure o processo EXTRACT de Carga Incremental.GGSCI (nerv01.localdomain) 1> add extract ext2, tranlog, begin nowGGSCI (nerv01.localdomain) 1> add exttrail /u01/app/oracle/ogg/dirdat/lt, extract ext2

GGSCI (nerv01.localdomain) 1> edit params ext2extract ext2userid OGG@ORCL, password Nerv2014rmthost nerv11, mgrport 7809rmttrail /u01/app/oracle/ogg/dirdat/ltTRANLOGOPTIONS EXCLUDEUSER OGGddl include mapped objname SCOTT.*;table SCOTT.*;

GGSCI (nerv01.localdomain) 1> info allOs dois processos EXTRACT são exibidos por este comando?

GGSCI (nerv01.localdomain) 1> info extract ext1GGSCI (nerv01.localdomain) 1> info extract ext2GGSCI (nerv01.localdomain) 1> info extract ext1, detailGGSCI (nerv01.localdomain) 1> info extract ext2, detailGGSCI (nerv01.localdomain) 1> stats extract ext1GGSCI (nerv01.localdomain) 1> stats extract ext2

30

Page 31: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 3.2: Config. Carga Incremental

Na máquina nerv11, configure o processo REPLICAT de Carga Incremental.GGSCI (nerv11.localdomain) 1> edit params ./GLOBALGGSCHEMA OGG CHECKPOINTTABLE OGG.checkpoint

GGSCI (nerv11.localdomain) 1> dblogin userid OGG, password Nerv2014GGSCI (nerv11.localdomain) 1> add checkpointtable OGG.checkpointGGSCI (nerv11.localdomain) 1> add replicat rep2, exttrail /u01/app/oracle/ogg/dirdat/lt, checkpointtable OGG.checkpoint

GGSCI (nerv11.localdomain) 1> edit params rep2replicat rep2HANDLECOLLISIONSASSUMETARGETDEFSuserid OGG@ORCL, password Nerv2014discardfile /u01/app/oracle/ogg/dircrd/rep2_discard.txt, append, megabytes 10DDLmap SCOTT.*, target SCOTT.*;

GGSCI (nerv11.localdomain) 1> info replicat rep1, detailGGSCI (nerv11.localdomain) 1> info replicat rep2, detailGGSCI (nerv11.localdomain) 1> stats replicat rep1GGSCI (nerv11.localdomain) 1> stats replicat rep2

31

Page 32: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 4 – Executar Carga Inicial

Hands On !

32 32

Page 33: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 4.1: Executar Carga Inicial

Na máquina nerv01, inicie o EXTRACT Incremental, e acompanhe o Log do Golden Gate.$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv01.localdomain) 1> start extract ext2GGSCI (nerv01.localdomain) 1> info allGGSCI (nerv01.localdomain) 1> info extract ext2GGSCI (nerv01.localdomain) 1> info extract ext2, detailGGSCI (nerv01.localdomain) 1> stats extract ext2

Na máquina nerv01, executa uma alteração de dados.$ sqlplus SCOTT/TIGERSQL> SET PAGES 1000SQL> SET LINES 200SQL> SELECT * FROM EMP;SQL> DELETE FROM EMP WHERE EMPNO IN (7369, 7499);SQL> COMMIT;SQL> SELECT * FROM EMP;GGSCI (nerv01.localdomain) 1> stats extract ext2

33

Page 34: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 4.2: Executar Carga Inicial

Na máquina nerv01, inicie o EXTRACT Inicial, e acompanhe o Log do Golden Gate.$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv01.localdomain) 1> start extract ext1GGSCI (nerv01.localdomain) 1> info allGGSCI (nerv01.localdomain) 1> info extract ext1GGSCI (nerv01.localdomain) 1> info extract ext1, detailGGSCI (nerv01.localdomain) 1> stats extract ext1

Na máquina nerv11, acompanhe o progresso do REPLICAT Inicial.$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv01.localdomain) 1> info allGGSCI (nerv01.localdomain) 1> info replicat rep1GGSCI (nerv01.localdomain) 1> info replicat rep1GGSCI (nerv01.localdomain) 1> stats replicat rep1

34

Page 35: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 5 – Executar Carga Incremental

Hands On !

35 35

Page 36: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 5.1: Executar Carga Incremental

Na máquina nerv11, após o término da da execução do REPLICAT Inicial, crie os INDEX.

36

Page 37: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 5.2: Executar Carga Incremental

Na máquina nerv11, inicie o REPLICAT Incremental.GGSCI (nerv11.localdomain) 1> start replicat rep2$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv11.localdomain) 1> info allGGSCI (nerv11.localdomain) 1> info replicat rep2GGSCI (nerv11.localdomain) 1> info replicat rep2, detailGGSCI (nerv11.localdomain) 1> stats replicat rep2

Na máquina nerv01, acompanhe o progresso do EXTRACT Incremental.$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv01.localdomain) 1> info allGGSCI (nerv01.localdomain) 1> info extract ext2GGSCI (nerv01.localdomain) 1> info extract ext2, detailGGSCI (nerv01.localdomain) 1> stats extract ext2

Compare os dados entre as máquinas nerv01 e nerv11.SQL> SELECT * FROM SCOTT.EMP;

37

Page 38: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 6 – Finalizar Replicação

Hands On !

38 38

Page 39: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 6.1: Finalizar Replicação

Na máquina nerv01, pare o EXTRACT Incremental.GGSCI (nerv01.localdomain) 1> info allGGSCI (nerv01.localdomain) 1> stop extract ext2GGSCI (nerv01.localdomain) 1> info all$ tail -f /u01/app/oracle/ogg/ggserr.log

Na máquina nerv11, pare o REPLICAT incremental.$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv11.localdomain) 1> info allGGSCI (nerv11.localdomain) 1> info replicat rep2GGSCI (nerv11.localdomain) 1> info replicat rep2, detailGGSCI (nerv11.localdomain) 1> stats replicat rep2GGSCI (nerv11.localdomain) 1> send replicat rep2 getlagGGSCI (nerv11.localdomain) 1> stop replicat rep2GGSCI (nerv11.localdomain) 1> info all

Compare os dados entre as máquinas nerv01 e nerv11.SQL> SELECT * FROM SCOTT.EMP;

39

Page 40: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 6.2: Finalizar Replicação

Na máquina nerv11, migre as CONSTRAINTs da máquina nerv01.

40

Page 41: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7 – Agora com um SCHEMA maior...

Hands On !

41 41

Page 42: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.1: Configuração Carga Inicial

Na máquina nerv11, crie a tablespace SOE.SQL> CREATE TABLESPACE SOE DATAFILE '/u01/oradata/ORCL/soe01.dbf' SIZE 1G AUTOEXTEND ON;

Na máquina nerv01, verifique os comandos DDL para criação do SCHEMA.SQL> SET PAGESIZE 1000SQL> SET LINESIZE 300SQL> SET LONG 9000SQL> SELECT

DBMS_METADATA.GET_DDL('USER','SOE') FROM DUAL;SQL> SELECT

DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','SOE') FROM DUAL;

SQL> SELECTDBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','SOE') FROM DUAL;

Na máquina nerv11, execute os comandos DDL para criação do SCHEMA.

42

Page 43: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.2: Configuração Carga Inicial

Na máquina nerv11, copie os objetos (exceto CONSTRAINTS e INDEX) da máquina nerv01.

43

Page 44: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.3: Configuração Carga Inicial

44

Page 45: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.4: Configuração Carga Inicial

45

Page 46: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.5: Configuração Carga Inicial

46

Page 47: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.6: Configuração Carga Inicial

47

Page 48: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.7: Configuração Carga Inicial

48

Page 49: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.8: Configuração Carga Inicial

Na máquina nerv01, configure o processo EXTRACT de Carga Inicial.GGSCI (nerv01.localdomain) 1> ADD EXTRACT ext3, SOURCEISTABLE

GGSCI (nerv01.localdomain) 1> edit params ext3EXTRACT ext3userid OGG@ORCL, password Nerv2014rmthost nerv11, mgrport 7809RMTTASK replicat, GROUP rep3table SOE.ORDERENTRY_METADATA;table SOE.PRODUCT_DESCRIPTIONS;table SOE.LOGON;table SOE.PRODUCT_INFORMATION;table SOE.INVENTORIES;table SOE.ORDERS;table SOE.ORDER_ITEMS;table SOE.WAREHOUSES;table SOE.CARD_DETAILS;table SOE.ADDRESSES;table SOE.CUSTOMERS;GGSCI> info all

49

Page 50: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.9: Configuração Carga Inicial

Na máquina nerv11, configure o processo REPLICAT de Carga Inicial.GGSCI (nerv11.localdomain) 1> add replicat rep3, SPECIALRUN

GGSCI (nerv11.localdomain) 1> edit params rep3replicat rep3ASSUMETARGETDEFSuserid OGG@ORCL, password Nerv2014map SOE.*, target SOE.*;

GGSCI (nerv11.localdomain) 1> info all

50

Page 51: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.10: Config. Carga Incremental

Na máquina nerv01, configure o processo EXTRACT de Carga Incremental.GGSCI (nerv01.localdomain) 1> add extract ext4, tranlog, begin nowGGSCI (nerv01.localdomain) 1> add exttrail /u01/app/oracle/ogg/dirdat/in, extract ext4

GGSCI (nerv01.localdomain) 1> edit params ext4extract ext4userid OGG@ORCL, password Nerv2014rmthost nerv11, mgrport 7809rmttrail /u01/app/oracle/ogg/dirdat/inTRANLOGOPTIONS EXCLUDEUSER OGGddl include mapped objname SOE.*;table SOE.*;

GGSCI (nerv01.localdomain) 1> info allGGSCI (nerv01.localdomain) 1> info extract ext3, detailGGSCI (nerv01.localdomain) 1> info extract ext4, detailGGSCI (nerv01.localdomain) 1> stats extract ext3GGSCI (nerv01.localdomain) 1> stats extract ext4

51

Page 52: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.11: Config. Carga Incremental

Na máquina nerv11, configure o processo REPLICAT de Carga Incremental.GGSCI (nerv11.localdomain) 1> add replicat rep4, exttrail /u01/app/oracle/ogg/dirdat/in, checkpointtable OGG.checkpoint

GGSCI (nerv11.localdomain) 1> edit params rep4replicat rep4HANDLECOLLISIONSASSUMETARGETDEFSuserid OGG@ORCL, password Nerv2014discardfile /u01/app/oracle/ogg/dircrd/rep4_discard.txt, append, megabytes 10DDLmap SOE.*, target SOE.*;

GGSCI (nerv11.localdomain) 1> info allGGSCI (nerv11.localdomain) 1> info replicat rep3, detailGGSCI (nerv11.localdomain) 1> info replicat rep4, detailGGSCI (nerv11.localdomain) 1> stats replicat rep3GGSCI (nerv11.localdomain) 1> stats replicat rep4

52

Page 53: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.12: Executar Carga Inicial

Na máquina nerv01, inicie o EXTRACT Incremental, e acompanhe o Log do Golden Gate.GGSCI (nerv01.localdomain) 1> start extract ext4$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv01.localdomain) 1> info allGGSCI (nerv01.localdomain) 1> info extract ext4GGSCI (nerv01.localdomain) 1> info extract ext4, detailGGSCI (nerv01.localdomain) 1> stats extract ext4

Na máquina nerv01, mantenha a aplicação funcionando.$ cd /home/oracle/swingbench/bin$ ./charbench -uc 2 -cs //nerv01/ORCL

53

Page 54: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.13: Executar Carga Inicial

Na máquina nerv01, inicie o EXTRACT Inicial, e acompanhe o Log do Golden Gate.GGSCI (nerv01.localdomain) 1> start extract ext3$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv01.localdomain) 1> info allGGSCI (nerv01.localdomain) 1> info extract ext3GGSCI (nerv01.localdomain) 1> info extract ext3, detailGGSCI (nerv01.localdomain) 1> stats extract ext3

Na máquina nerv11, acompanhe o progresso do REPLICAT Inicial.$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv11.localdomain) 1> info allGGSCI (nerv11.localdomain) 1> info replicat rep3GGSCI (nerv11.localdomain) 1> info replicat rep3GGSCI (nerv11.localdomain) 1> stats replicat rep3

Na máquina nerv01, verifique o tamanho das tabelas so SCHEMA.SQL> SELECT TO_CHAR(SUM(BYTES)) FROM DBA_SEGMENTS WHERE OWNER = 'SOE' AND SEGMENT_TYPE = 'TABLE';

Na máquina nerv11, verifique o tamanho das tabelas so SCHEMA.SQL> SELECT TO_CHAR(SUM(BYTES)) FROM DBA_SEGMENTS WHERE OWNER = 'SOE' AND SEGMENT_TYPE = 'TABLE';

54

Page 55: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.14: Exec. Carga Incremental

Na máquina nerv11, após o término da da execução do REPLICAT Inicial, crie os INDEX.

55

Page 56: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.15: Exec. Carga Incremental

Na máquina nerv11, inicie o REPLICAT Incremental.GGSCI (nerv11.localdomain) 1> start replicat rep4$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv11.localdomain) 1> info allGGSCI (nerv11.localdomain) 1> info replicat rep4GGSCI (nerv11.localdomain) 1> info replicat rep4, detailGGSCI (nerv11.localdomain) 1> stats replicat rep4

Na máquina nerv01, acompanhe o progresso do EXTRACT Incremental.$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv01.localdomain) 1> info allGGSCI (nerv01.localdomain) 1> info extract ext4GGSCI (nerv01.localdomain) 1> info extract ext4, detailGGSCI (nerv01.localdomain) 1> stats extract ext4

56

Page 57: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.16: Finalizar Replicação

Na máquina nerv01, pare a aplicação.

Na máquina nerv01, pare o EXTRACT Incremental.GGSCI (nerv01.localdomain) 1> info allGGSCI (nerv01.localdomain) 1> stop extract ext4GGSCI (nerv01.localdomain) 1> info all$ tail -f /u01/app/oracle/ogg/ggserr.log

Na máquina nerv11, espere a replicação finalizar, e pare o REPLICAT Incremental.$ tail -f /u01/app/oracle/ogg/ggserr.logGGSCI (nerv11.localdomain) 1> info allGGSCI (nerv11.localdomain) 1> stats replicat rep4GGSCI (nerv11.localdomain) 1> send replicat rep4 getlagGGSCI (nerv11.localdomain) 1> stop replicat rep4GGSCI (nerv11.localdomain) 1> info all

57

Page 58: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.17: Finalizar Replicação

Na máquina nerv11, migre as CONSTRAINTs da máquina nerv01.

58

Page 59: Workshop Oracle Zero Downtime Migration (com Golden Gate)

Lab 7.18: Finalizar Replicação

Na máquina nerv11, recompile as PACKAGES da aplicação.SQL> GRANT EXECUTE ON DBMS_LOCK TO SOE;SQL> ALTER PACKAGE SOE.ORDERENTRY COMPILE;SQL> ALTER PACKAGE SOE.ORDERENTRY COMPILE BODY;

Na máquina nerv11, teste a execução da aplicação.$ cd /home/oracle/swingbench/bin$ ./charbench -uc 2 -cs //nerv11/ORCL

59