Top Banner
Oracle Zero Downme Migraon com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4 e 12.2.0.1 Oracle GoldenGate 12.3.0.1 Ricardo Porlho Proni [email protected] Esta obra está licenciada sob a licença Creave Commons Atribuição-SemDerivados 3.0 Brasil. Para ver uma cópia desta licença, visite hp://creavecommons.org/licenses/by-nd/3.0/br/.
60

Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

Dec 26, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

Oracle Zero Downtime Migrationcom Golden Gate

Oracle Enterprise Linux 7.5Oracle Database 11.2.0.4 e 12.2.0.1

Oracle GoldenGate 12.3.0.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: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

2

Comandos no Treinamento

Comando com o usuário root:# ls -lh

Comando com um usuário oracle:$ ls -lh

Comando no Oracle Database:SQL> SELECT STATUS FROM V$INSTANCE;

Comando no Oracle Golden Gate:GGSCI (nerv01.localdomain) 1> INFO ALL

Algo deve ser alterado de acordo com sua máquina:Hostname: nerv01.localdomain

Quando algo dá errado propositalmente:O que aconteceu?

Page 3: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

3

rlwrap# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm# yum -y install epel-release-latest-7.noarch.rpm# yum -y install rlwrap

$ rlwrap sqlplus / AS SYSDBA$ rlwrap rman TARGET /$ rlwrap lsnrctl$ rlwrap dgmgrl SYS/Nerv2017@ORCL

$ cd $ORACLE_BASE/ogg-11g$ rlwrap ./ggsci

Page 4: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

4

glogin.sql$ cat $ORACLE_HOME/sqlplus/admin/glogin.sql…SET PAGESIZE 1000SET LINESIZE 220SET TIMING ONSET TIME ONSET SQLPROMPT '&_user@&_connect_identifier> 'DEFINE _EDITOR=vi…

09:08:44 SYS@ORCL> SELECT 1 FROM DUAL;

1---------- 1

Elapsed: 00:00:00.0009:09:00 SYS@ORCL>

Page 5: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

5

AmbienteOrigem - HOSTNAME nerv01 - Oracle Enterprise Linux 7.5 - Oracle Enterprise Edition 11.2.0.4 - ORACLE_HOME: /u01/app/oracle/product/11.2.0.4/db_1 - Listener: Porta 1522 - Banco de Dados: LEGADO - Banco de Dados em Filesystem - Variáveis de ambiente: source /home/oracle/.bash_profile-11gR2

Destino - HOSTNAME nerv02 - Oracle Enterprise Linux 7.5 - Oracle Standard Edition 2 12.2.0.1 - ORACLE_HOME: /u01/app/oracle/product/12.2.0.1/db_2 - Listener: Porta 1523 - Banco de Dados: ORCLSE2, PDB NOVO - Banco de Dados em Filesystem - Banco de Dados em OMF - Variáveis de ambiente: source /home/oracle/.bash_profile-12cR2-SE2

Page 6: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

6

Estratégia de Migração

Page 7: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

7

Estratégia de Migração

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

- Instalar Oracle Golden Gate 12.3.0.1 (para Oracle Database 11g) no servidor nerv01; - Instalar Oracle Golden Gate 12.3.0.1 (para Oracle Database 12c) no servidor nerv02; - Iniciar Oracle Golden Gate no servidor nerv01; - Iniciar Oracle Golden Gate no servidor nerv02; - Criar TABLESPACEs no servidor nerv02; - Criar SCHEMAs no servidor nerv02; - 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 nerv02;

Page 8: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

8

Estratégia de Migração

- Configurar EXTRACT de Extração INITIAL LOAD (EXT1) no servidor nerv01; - Configurar REPLICAT de SPECIAL RUN (REP1) no servidor nerv02; - Configurar EXTRACT de Extração de Redo Logs (EXT2) no servidor nerv01; - Configurar REPLICAT (REP2) no servidor nerv02; - 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 nerv02; - 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 nerv02; - Direcionar a Aplicação para o servidor nerv02.

Page 9: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

9

Lab 1 – Instalação Golden Gate

Hands On !

9

Page 10: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

10

Lab 1.1: Instalação Golden GateNa máquina nerv01, inicie a instalação do Golden Gate.$ cd /home/oracle/$ source .bash_profile-11gR2$ unzip -q 123014_fbo_ggs_Linux_x64_shiphome.zip$ cd fbo_ggs_Linux_x64_shiphome/Disk1$ ./runInstaller

Page 11: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

11

Lab 1.2: Instalação Golden Gate

Page 12: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

12

Lab 1.3: Instalação Golden Gate

Page 13: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

13

Lab 1.4: Instalação Golden Gate

Page 14: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

14

Lab 1.5: Instalação Golden Gate

Page 15: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

15

Lab 1.6: Instalação Golden GateNa máquina nerv02, inicie a instalação do Golden Gate.$ cd /home/oracle/$ source .bash_profile-12cR2-SE2$ unzip -q 123014_fbo_ggs_Linux_x64_shiphome.zip$ cd fbo_ggs_Linux_x64_shiphome/Disk1$ ./runInstaller

Page 16: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

16

Lab 1.7: Instalação Golden Gate

Page 17: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

17

Lab 1.8: Instalação Golden Gate

Page 18: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

18

Lab 1.9: Instalação Golden Gate

Page 19: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

19

Lab 1.10: Instalação Golden Gate

Page 20: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

20

Lab 1.11: Instalação Golden Gate

Na máquina nerv01, verifique se o MANAGER do Golden Gate está ativo.$ cd $ORACLE_BASE/ogg-11g$ rlwrap ./ggsciGGSCI (nerv01.localdomain) 1> INFO ALLGGSCI (nerv01.localdomain) 1> EXIT

Na máquina nerv02, verifique se o MANAGER do Golden Gate está ativo.$ cd $ORACLE_BASE/ogg-12c$ rlwrap ./ggsciGGSCI (nerv02.localdomain) 1> INFO ALLGGSCI (nerv02.localdomain) 1> EXIT

Page 21: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

21

Lab 1.12: Instalação Golden Gate

Na máquina nerv01, habilite os pré-requisitos do Golden Gate.$ rlwrap sqlplus / AS SYSDBASQL> 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/ogg-11gSQL> CREATE TABLESPACE OGG DATAFILE '/u01/app/oracle/oradata/LEGADO/ogg01.dbf' SIZE 1G;SQL> CREATE USER OGG IDENTIFIED BY Nerv2018 DEFAULT TABLESPACE OGG TEMPORARY TABLESPACE TEMP;SQL> GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE TO OGG;SQL> GRANT EXECUTE ON UTL_FILE TO OGG;SQL> @marker_setup.sql

OGG <enter>SQL> @ddl_setup.sql

OGG <enter>SQL> @role_setup.sql

OGG <enter>SQL> @ddl_enable.sql

Page 22: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

22

Lab 1.13: Instalação Golden GateNa máquina nerv02, habilite os pré-requisitos do Golden Gate.$ rlwrap sqlplus / AS SYSDBASQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;SQL> ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE SCOPE=BOTH;SQL> ALTER SYSTEM SET RECYCLEBIN=OFF SCOPE=SPFILE;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP;SQL> ALTER SESSION SET CONTAINER = NOVO;SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

Na máquina nerv02, crie o SCHEMA para o Golden Gate.$ cd $ORACLE_BASE/ogg-12c$ rlwrap sqlplus / AS SYSDBASQL> ALTER SESSION SET CONTAINER = NOVO;SQL> CREATE TABLESPACE OGG;SQL> CREATE USER OGG IDENTIFIED BY Nerv2018 DEFAULT TABLESPACE OGG TEMPORARY TABLESPACE TEMP;SQL> GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE TO OGG;SQL> GRANT EXECUTE ON UTL_FILE TO OGG;SQL> @marker_setup.sql

OGG <enter>SQL> @role_setup.sql

OGG <enter>

Page 23: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

23

Lab 2 – Configuração Carga Inicial

Hands On !

23

Page 24: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

24

Lab 2.1: Configuração Carga Inicial

Na máquina nerv01, verifique os comandos DDL para criação do SCHEMA.SQL> 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> SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','SCOTT') FROM DUAL;

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

Page 25: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

25

Lab 2.2: Configuração Carga Inicial

Na máquina nerv01, copie os objetos (exceto CONSTRAINTs e INDEX) para a máquina nerv02.

Page 26: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

26

Lab 2.3: Configuração Carga Inicial

Page 27: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

27

Lab 2.4: Configuração Carga Inicial

Page 28: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

28

Lab 2.5: Configuração Carga Inicial

Page 29: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

29

Lab 2.6: Configuração Carga Inicial

Page 30: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

30

Lab 2.7: Configuração Carga Inicial

Confira o log ao término da execução.O que aconteceu?

Page 31: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

31

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@LEGADO, PASSWORD Nerv2018RMTHOST nerv02, mgrport 7810RMTTASK REPLICAT, GROUP rep1TABLE SCOTT.*;

GGSCI (nerv01.localdomain) 1> INFO ALL

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

GGSCI (nerv02.localdomain) 1> EDIT PARAMS rep1REPLICAT rep1ASSUMETARGETDEFSUSERID OGG@NOVO, PASSWORD Nerv2018MAP SCOTT.*, TARGET SCOTT.*;

GGSCI (nerv02.localdomain) 1> INFO ALL

Page 32: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

32

Lab 3 – Configuração Carga Incremental

Hands On !

32

Page 33: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

33

Lab 3.1: Config. Carga IncrementalNa 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-12c/dirdat/lt, EXTRACT ext2

GGSCI (nerv01.localdomain) 1> EDIT PARAMS ext2EXTRACT ext2USERID OGG@LEGADO, PASSWORD Nerv2018RMTHOST nerv02, MGRPORT 7810RMTTRAIL /u01/app/oracle/ogg-12c/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

Page 34: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

34

Lab 3.2: Config. Carga IncrementalNa máquina nerv02, configure o processo REPLICAT de Carga Incremental.GGSCI (nerv02.localdomain) 1> EDIT PARAMS ./GLOBALGGSCHEMA OGG CHECKPOINTTABLE OGG.CHECKPOINT

GGSCI (nerv02.localdomain) 1> DBLOGIN USERID OGG@NOVO, PASSWORD Nerv2018GGSCI (nerv02.localdomain) 1> ADD CHECKPOINTTABLE OGG.CHECKPOINTGGSCI (nerv02.localdomain) 1> ADD REPLICAT REP2, EXTTRAIL /u01/app/oracle/ogg-12c/dirdat/lt, CHECKPOINTTABLE OGG.CHECKPOINT

GGSCI (nerv02.localdomain) 1> EDIT PARAMS rep2REPLICAT rep2HANDLECOLLISIONSASSUMETARGETDEFSUSERID OGG@NOVO, PASSWORD Nerv2018DISCARDFILE /u01/app/oracle/ogg-12c/dircrd/rep2_discard.txt, APPEND, MEGABYTES 10DDLmap SCOTT.*, target SCOTT.*;

GGSCI (nerv02.localdomain) 1> INFO REPLICAT rep1, DETAILGGSCI (nerv02.localdomain) 1> INFO REPLICAT rep2, DETAILGGSCI (nerv02.localdomain) 1> STATS REPLICAT rep1GGSCI (nerv02.localdomain) 1> STATS REPLICAT rep2

Page 35: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

35

Lab 4 – Executar Carga Inicial

Hands On !

35 35

Page 36: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

36

Lab 4.1: Executar Carga InicialNa máquina nerv01, inicie o EXTRACT Incremental, e acompanhe o Log do Golden Gate.$ tail -f /u01/app/oracle/ogg-11g/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

O que aconteceu?

Na máquina nerv01, execute uma alteração de dados.$ rlwrap sqlplus SCOTT/TIGERSQL> 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

Page 37: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

37

Lab 4.2: Executar Carga InicialNa máquina nerv01, inicie o EXTRACT Inicial, e acompanhe o Log do Golden Gate.$ tail -f /u01/app/oracle/ogg-11g/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 nerv02, acompanhe o progresso do REPLICAT Inicial.$ tail -f /u01/app/oracle/ogg-12c/ggserr.logGGSCI (nerv02.localdomain) 1> INFO ALLGGSCI (nerv02.localdomain) 1> INFO REPLICAT rep1GGSCI (nerv02.localdomain) 1> INFO REPLICAT rep1, DETAILGGSCI (nerv02.localdomain) 1> STATS REPLICAT rep1

O que aconteceu?

Page 38: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

38

Lab 5 – Executar Carga Incremental

Hands On !

38

Page 39: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

39

Lab 5.1: Executar Carga Incremental

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

Page 40: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

40

Lab 5.2: Executar Carga Incremental

Na máquina nerv02, inicie o REPLICAT Incremental.$ tail -f /u01/app/oracle/ogg-12c/ggserr.logGGSCI (nerv02.localdomain) 1> START REPLICAT rep2GGSCI (nerv02.localdomain) 1> INFO ALLGGSCI (nerv02.localdomain) 1> INFO REPLICAT rep2GGSCI (nerv02.localdomain) 1> INFO REPLICAT rep2, DETAILGGSCI (nerv02.localdomain) 1> STATS REPLICAT rep2

Na máquina nerv01, acompanhe o progresso do EXTRACT Incremental.$ tail -f /u01/app/oracle/ogg-11g/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 nerv02.nerv01:$ rlwrap sqlplus SCOTT/TIGER@LEGADOSQL> SELECT * FROM SCOTT.EMP;

nerv02:$ rlwrap sqlplus SCOTT/TIGER@NOVOSQL> SELECT * FROM SCOTT.EMP;

Page 41: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

41

Lab 6 – Finalizar Replicação

Hands On !

41

Page 42: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

42

Lab 6.1: Finalizar ReplicaçãoNa máquina nerv01, pare o EXTRACT Incremental.$ tail -f /u01/app/oracle/ogg-11g/ggserr.logGGSCI (nerv01.localdomain) 1> INFO ALLGGSCI (nerv01.localdomain) 1> STOP EXTRACT ext2GGSCI (nerv01.localdomain) 1> INFO ALL

Na máquina nerv02, pare o REPLICAT incremental.$ tail -f /u01/app/oracle/ogg-12c/ggserr.logGGSCI (nerv02.localdomain) 1> INFO ALLGGSCI (nerv02.localdomain) 1> INFO REPLICAT rep2GGSCI (nerv02.localdomain) 1> INFO REPLICAT rep2, DETAILGGSCI (nerv02.localdomain) 1> STATS REPLICAT rep2GGSCI (nerv02.localdomain) 1> SEND REPLICAT rep2 GETLAGGGSCI (nerv02.localdomain) 1> STOP REPLICAT rep2GGSCI (nerv02.localdomain) 1> INFO ALL

Compare os dados entre as máquinas nerv01 e nerv02.nerv01:$ rlwrap sqlplus SCOTT/TIGER@LEGADOSQL> SELECT * FROM SCOTT.EMP;

nerv02:$ rlwrap sqlplus SCOTT/TIGER@NOVOSQL> SELECT * FROM SCOTT.EMP;

Page 43: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

43

Lab 6.2: Finalizar Replicação

Na máquina nerv01, migre as CONSTRAINTs da máquina nerv02.Confira o log ao término da execução.

Page 44: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

44

Lab 7 – Agora com um SCHEMA maior...

Hands On !

44

Page 45: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

45

Lab 7.1: Configuração Carga Inicial

Na máquina nerv02, crie a tablespace SOE.$ rlwrap sqlplus / AS SYSDBASQL> ALTER SESSION SET CONTAINER = NOVO;SQL> CREATE TABLESPACE SOE;

Na máquina nerv01, verifique os comandos DDL para criação do SCHEMA.$ rlwrap sqlplus / AS SYSDBASQL> 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> SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','SOE') FROM DUAL;

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

Page 46: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

46

Lab 7.2: Configuração Carga Inicial

Na máquina nerv01, copie os objetos (exceto CONSTRAINTS e INDEX) do SCHEMA SOE para a máquina nerv02.Confira o log ao término da execução.

Page 47: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

47

Lab 7.3: Configuração Carga Inicial

Page 48: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

48

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@LEGADO, PASSWORD Nerv2018RMTHOST nerv02, MGRPORT 7810RMTTASK 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 (nerv01.localdomain) 1> INFO ALL

Page 49: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

49

Lab 7.9: Configuração Carga Inicial

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

GGSCI (nerv02.localdomain) 1> EDIT PARAMS rep3REPLICAT rep3ASSUMETARGETDEFSUSERID OGG@NOVO, PASSWORD Nerv2018map SOE.*, target SOE.*;

GGSCI (nerv02.localdomain) 1> INFO ALL

Page 50: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

50

Lab 7.10: Configuração Carga IncrementalNa 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-12c/dirdat/in, EXTRACT ext4

GGSCI (nerv01.localdomain) 1> EDIT PARAMS ext4EXTRACT ext4USERID OGG@LEGADO, PASSWORD Nerv2018RMTHOST nerv02, MGRPORT 7810RMTTRAIL /u01/app/oracle/ogg-12c/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

Page 51: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

51

Lab 7.11: Configuração Carga Incremental

Na máquina nerv02, configure o processo REPLICAT de Carga Incremental.GGSCI (nerv02.localdomain) 1> ADD REPLICAT rep4, EXTTRAIL /u01/app/oracle/ogg-12c/dirdat/in, CHECKPOINTTABLE OGG.CHECKPOINT

GGSCI (nerv02.localdomain) 1> EDIT PARAMS rep4REPLICAT rep4HANDLECOLLISIONSASSUMETARGETDEFSUSERID OGG@NOVO, PASSWORD Nerv2018DISCARDFILE /u01/app/oracle/ogg-12c/dircrd/rep4_discard.txt, append, MEGABYTES 10DDLMAP SOE.*, TARGET SOE.*;

GGSCI (nerv02.localdomain) 1> INFO ALLGGSCI (nerv02.localdomain) 1> INFO REPLICAT rep3, DETAILGGSCI (nerv02.localdomain) 1> INFO REPLICAT rep4, DETAILGGSCI (nerv02.localdomain) 1> STATS REPLICAT rep3GGSCI (nerv02.localdomain) 1> STATS REPLICAT rep4

Page 52: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

52

Lab 7.12: Executar Carga InicialNa máquina nerv01, habilite o TRANDATA.GGSCI (nerv01.localdomain as OGG@LEGADO) 1> DBLOGIN USERID OGG@LEGADO, PASSWORD Nerv2018GGSCI (nerv01.localdomain as OGG@LEGADO) 1> ADD TRANDATA SOE.ORDERENTRY_METADATA ALLCOLSGGSCI (nerv01.localdomain as OGG@LEGADO) 1> ADD TRANDATA SOE.PRODUCT_DESCRIPTIONS ALLCOLSGGSCI (nerv01.localdomain as OGG@LEGADO) 1> ADD TRANDATA SOE.LOGON ALLCOLSGGSCI (nerv01.localdomain as OGG@LEGADO) 1> ADD TRANDATA SOE.PRODUCT_INFORMATION ALLCOLSGGSCI (nerv01.localdomain as OGG@LEGADO) 1> ADD TRANDATA SOE.INVENTORIES ALLCOLSGGSCI (nerv01.localdomain as OGG@LEGADO) 1> ADD TRANDATA SOE.ORDERS ALLCOLSGGSCI (nerv01.localdomain as OGG@LEGADO) 1> ADD TRANDATA SOE.ORDER_ITEMS ALLCOLSGGSCI (nerv01.localdomain as OGG@LEGADO) 1> ADD TRANDATA SOE.WAREHOUSES ALLCOLSGGSCI (nerv01.localdomain as OGG@LEGADO) 1> ADD TRANDATA SOE.CARD_DETAILS ALLCOLSGGSCI (nerv01.localdomain as OGG@LEGADO) 1> ADD TRANDATA SOE.ADDRESSES ALLCOLSGGSCI (nerv01.localdomain as OGG@LEGADO) 1> ADD TRANDATA SOE.CUSTOMERS ALLCOLS

Page 53: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

53

Lab 7.13: Executar Carga InicialNa máquina nerv01, inicie o EXTRACT Incremental, e acompanhe o Log do Golden Gate.$ tail -f /u01/app/oracle/ogg-11g/ggserr.logGGSCI (nerv01.localdomain) 1> START EXTRACT ext4GGSCI (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 10 -cs //nerv02:1522/LEGADO -c ../configs/SOE_Server_Side_V2.xml -u SOE -p SOE -min 500 -max 1000

Na máquina nerv01, acompanhe o EXTRACT Incremental.GGSCI (nerv02.localdomain) 1> STATS EXTRACT ext4

Page 54: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

54

Lab 7.14: Executar Carga InicialNa máquina nerv01, inicie o EXTRACT Inicial, e acompanhe o Log do Golden Gate.$ tail -f /u01/app/oracle/ogg-11g/ggserr.logGGSCI (nerv01.localdomain) 1> START EXTRACT ext3GGSCI (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 nerv02, acompanhe o progresso do REPLICAT Inicial.$ tail -f /u01/app/oracle/ogg-12c/ggserr.logGGSCI (nerv02.localdomain) 1> INFO ALLGGSCI (nerv02.localdomain) 1> INFO REPLICAT rep3GGSCI (nerv02.localdomain) 1> INFO REPLICAT rep3, DETAILGGSCI (nerv02.localdomain) 1> STATS REPLICAT rep3

Nas máquinas nerv01 e nerv02, acompanhe o processamento pelo top.

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

Page 55: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

55

Lab 7.15: Exec. Carga Incremental

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

Page 56: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

56

Lab 7.16: Exec. Carga Incremental

Na máquina nerv02, inicie o REPLICAT Incremental.$ tail -f /u01/app/oracle/ogg-12c/ggserr.logGGSCI (nerv02.localdomain) 1> START REPLICAT rep4GGSCI (nerv02.localdomain) 1> INFO ALLGGSCI (nerv02.localdomain) 1> INFO REPLICAT rep4GGSCI (nerv02.localdomain) 1> INFO REPLICAT rep4, DETAILGGSCI (nerv02.localdomain) 1> STATS REPLICAT rep4

Na máquina nerv01, acompanhe o progresso do EXTRACT Incremental.$ tail -f /u01/app/oracle/ogg-11g/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

Page 57: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

57

Lab 7.17: Finalizar Replicação

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

Na máquina nerv01, pare o EXTRACT Incremental.$ tail -f /u01/app/oracle/ogg-11g/ggserr.logGGSCI (nerv01.localdomain) 1> INFO ALLGGSCI (nerv01.localdomain) 1> STOP EXTRACT ext4GGSCI (nerv01.localdomain) 1> INFO ALL

Na máquina nerv02, espere a replicação finalizar, e pare o REPLICAT Incremental.$ tail -f /u01/app/oracle/ogg-12c/ggserr.logGGSCI (nerv02.localdomain) 1> INFO ALLGGSCI (nerv02.localdomain) 1> STATS REPLICAT rep4GGSCI (nerv02.localdomain) 1> SEND REPLICAT rep4 GETLAGGGSCI (nerv02.localdomain) 1> STOP REPLICAT rep4GGSCI (nerv02.localdomain) 1> INFO ALL

Page 58: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

58

Lab 7.18: Finalizar Replicação

Na máquina nerv01, migre as CONSTRAINTs da máquina nerv02.Confira o log ao término da execução.

Page 59: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

59

Lab 7.19: Finalizar Replicação

Na máquina nerv02, recompile as PACKAGES da aplicação.$ rlwrap sqlplus / AS SYSDBASQL> ALTER SESSION SET CONTAINER = NOVO;SQL> GRANT EXECUTE ON DBMS_LOCK TO SOE;SQL> ALTER PACKAGE SOE.ORDERENTRY COMPILE;SQL> ALTER PACKAGE SOE.ORDERENTRY COMPILE BODY;

Na máquina nerv02, teste a execução da aplicação.$ cd /home/oracle/swingbench/bin$ ./charbench -uc 10 -cs //nerv02:1523/NOVO -c ../configs/SOE_Server_Side_V2.xml -u SOE -p SOE -min 500 -max 1000

Page 60: Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero Downtime Migration com Golden Gate Oracle Enterprise Linux 7.5 Oracle Database 11.2.0.4

60

Perguntas?

Ricardo Portilho [email protected]