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

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

  • Upload
    others

  • View
    21

  • Download
    0

Embed Size (px)

Citation preview

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

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?

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

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>

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

6

Estratégia de Migração

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;

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.

9

Lab 1 – Instalação Golden Gate

Hands On !

9

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

11

Lab 1.2: Instalação Golden Gate

12

Lab 1.3: Instalação Golden Gate

13

Lab 1.4: Instalação Golden Gate

14

Lab 1.5: Instalação Golden Gate

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

16

Lab 1.7: Instalação Golden Gate

17

Lab 1.8: Instalação Golden Gate

18

Lab 1.9: Instalação Golden Gate

19

Lab 1.10: Instalação Golden Gate

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

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

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>

23

Lab 2 – Configuração Carga Inicial

Hands On !

23

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.

25

Lab 2.2: Configuração Carga Inicial

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

26

Lab 2.3: Configuração Carga Inicial

27

Lab 2.4: Configuração Carga Inicial

28

Lab 2.5: Configuração Carga Inicial

29

Lab 2.6: Configuração Carga Inicial

30

Lab 2.7: Configuração Carga Inicial

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

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

32

Lab 3 – Configuração Carga Incremental

Hands On !

32

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

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

35

Lab 4 – Executar Carga Inicial

Hands On !

35 35

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

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?

38

Lab 5 – Executar Carga Incremental

Hands On !

38

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.

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;

41

Lab 6 – Finalizar Replicação

Hands On !

41

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;

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.

44

Lab 7 – Agora com um SCHEMA maior...

Hands On !

44

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.

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.

47

Lab 7.3: Configuração Carga Inicial

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

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

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

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

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

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

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';

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.

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

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

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.

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

60

Perguntas?

Ricardo Portilho [email protected]