Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero...
Transcript of Oracle Zero Downtime Migrationnervinformatica.com.br/Downloads/Materiais/OZERO.pdf · Oracle Zero...
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
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.
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
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
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>
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.
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
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
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?
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;
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.
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.
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