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

Workshop Oracle Zero Downtime Migration (com Golden Gate)

Embed Size (px)

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.

Citation preview

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