Oracle Zero Downtime Migration (com Golden Gate) Ricardo Portilho Proni ricardo@nervinformatica.com.br 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/. 1
Ambiente Origem - 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
Estratégia de Migração 3
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
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
Lab 1 Instalação Golden Gate Hands On! 6 6
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
Lab 1.2: Instalação Golden Gate 8
Lab 1.3: Instalação Golden Gate 9
Lab 1.4: Instalação Golden Gate 10
Lab 1.5: Instalação Golden Gate 11
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
Lab 1.7: Instalação Golden Gate 13
Lab 1.8: Instalação Golden Gate 14
Lab 1.9: Instalação Golden Gate 15
Lab 1.10: Instalação Golden Gate 16
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./ggsci GGSCI (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./ggsci GGSCI (nerv11.localdomain) 1> info all 17
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/ogg SQL> CREATE TABLESPACE OGG DATAFILE '/u01/oradata/orcl/ogg01.dbf' SIZE 1G AUTOEXTEND ON; SQL> CREATE USER OGG IDENTIFIED BY Nerv2015 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
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/ogg SQL> CREATE TABLESPACE OGG DATAFILE '/u01/oradata/orcl/ogg01.dbf' SIZE 1G AUTOEXTEND ON; SQL> CREATE USER OGG IDENTIFIED BY Nerv2015 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
Lab 2 Configuração Carga Inicial Hands On! 20 20
Lab 2.1: Configuração Carga Inicial Na máquina nerv01, verifique os comandos DDL para criação do SCHEMA. SQL> SET PAGESIZE 1000 SQL> SET LINESIZE 300 SQL> SET LONG 9000 SQL> 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 nerv11, execute os comandos DDL para criação do SCHEMA. 21
Lab 2.2: Configuração Carga Inicial Na máquina nerv11, copie os objetos (exceto CONSTRAINT e INDEX) da máquina nerv01. 22
Lab 2.3: Configuração Carga Inicial 23
Lab 2.4: Configuração Carga Inicial 24
Lab 2.5: Configuração Carga Inicial 25
Lab 2.6: Configuração Carga Inicial 26
Lab 2.7: Configuração Carga Inicial 27
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 ext1 EXTRACT ext1 userid OGG@ORCL, password Nerv2015 rmthost nerv11, mgrport 7809 RMTTASK replicat, GROUP rep1 table 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 rep1 replicat rep1 ASSUMETARGETDEFS userid OGG@ORCL, password Nerv2015 map SCOTT.*, target SCOTT.*; GGSCI (nerv11.localdomain) 1> info all 28
Lab 3 Configuração Carga Incremental Hands On! 29 29
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 now GGSCI (nerv01.localdomain) 1> add exttrail /u01/app/oracle/ogg/dirdat/lt, extract ext2 GGSCI (nerv01.localdomain) 1> edit params ext2 extract ext2 userid OGG@ORCL, password Nerv2015 rmthost nerv11, mgrport 7809 rmttrail /u01/app/oracle/ogg/dirdat/lt TRANLOGOPTIONS EXCLUDEUSER OGG ddl include mapped objname SCOTT.*; table SCOTT.*; GGSCI (nerv01.localdomain) 1> info all Os dois processos EXTRACT são exibidos por este comando? GGSCI (nerv01.localdomain) 1> info extract ext1 GGSCI (nerv01.localdomain) 1> info extract ext2 GGSCI (nerv01.localdomain) 1> info extract ext1, detail GGSCI (nerv01.localdomain) 1> info extract ext2, detail GGSCI (nerv01.localdomain) 1> stats extract ext1 GGSCI (nerv01.localdomain) 1> stats extract ext2 30
Lab 3.2: Config. Carga Incremental Na máquina nerv11, configure o processo REPLICAT de Carga Incremental. GGSCI (nerv11.localdomain) 1> edit params./global GGSCHEMA OGG CHECKPOINTTABLE OGG.checkpoint GGSCI (nerv11.localdomain) 1> dblogin userid OGG, password Nerv2015 GGSCI (nerv11.localdomain) 1> add checkpointtable OGG.checkpoint GGSCI (nerv11.localdomain) 1> add replicat rep2, exttrail /u01/app/oracle/ogg/dirdat/lt, checkpointtable OGG.checkpoint GGSCI (nerv11.localdomain) 1> edit params rep2 replicat rep2 HANDLECOLLISIONS ASSUMETARGETDEFS userid OGG@ORCL, password Nerv2015 discardfile /u01/app/oracle/ogg/dircrd/rep2_discard.txt, append, megabytes 10 DDL map SCOTT.*, target SCOTT.*; GGSCI (nerv11.localdomain) 1> info replicat rep1, detail GGSCI (nerv11.localdomain) 1> info replicat rep2, detail GGSCI (nerv11.localdomain) 1> stats replicat rep1 GGSCI (nerv11.localdomain) 1> stats replicat rep2 31
Lab 4 Executar Carga Inicial Hands On! 32 32
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.log GGSCI (nerv01.localdomain) 1> start extract ext2 GGSCI (nerv01.localdomain) 1> info all GGSCI (nerv01.localdomain) 1> info extract ext2 GGSCI (nerv01.localdomain) 1> info extract ext2, detail GGSCI (nerv01.localdomain) 1> stats extract ext2 Na máquina nerv01, executa uma alteração de dados. $ sqlplus SCOTT/TIGER SQL> SET PAGES 1000 SQL> SET LINES 200 SQL> 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
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.log GGSCI (nerv01.localdomain) 1> start extract ext1 GGSCI (nerv01.localdomain) 1> info all GGSCI (nerv01.localdomain) 1> info extract ext1 GGSCI (nerv01.localdomain) 1> info extract ext1, detail GGSCI (nerv01.localdomain) 1> stats extract ext1 Na máquina nerv11, acompanhe o progresso do REPLICAT Inicial. $ tail -f /u01/app/oracle/ogg/ggserr.log GGSCI (nerv11.localdomain) 1> info all GGSCI (nerv11.localdomain) 1> info replicat rep1 GGSCI (nerv11.localdomain) 1> info replicat rep1, detail GGSCI (nerv11.localdomain) 1> stats replicat rep1 34
Lab 5 Executar Carga Incremental Hands On! 35 35
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
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.log GGSCI (nerv11.localdomain) 1> info all GGSCI (nerv11.localdomain) 1> info replicat rep2 GGSCI (nerv11.localdomain) 1> info replicat rep2, detail GGSCI (nerv11.localdomain) 1> stats replicat rep2 Na máquina nerv01, acompanhe o progresso do EXTRACT Incremental. $ tail -f /u01/app/oracle/ogg/ggserr.log GGSCI (nerv01.localdomain) 1> info all GGSCI (nerv01.localdomain) 1> info extract ext2 GGSCI (nerv01.localdomain) 1> info extract ext2, detail GGSCI (nerv01.localdomain) 1> stats extract ext2 Compare os dados entre as máquinas nerv01 e nerv11. SQL> SELECT * FROM SCOTT.EMP; 37
Lab 6 Finalizar Replicação Hands On! 38 38
Lab 6.1: Finalizar Replicação Na máquina nerv01, pare o EXTRACT Incremental. GGSCI (nerv01.localdomain) 1> info all GGSCI (nerv01.localdomain) 1> stop extract ext2 GGSCI (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.log GGSCI (nerv11.localdomain) 1> info all GGSCI (nerv11.localdomain) 1> info replicat rep2 GGSCI (nerv11.localdomain) 1> info replicat rep2, detail GGSCI (nerv11.localdomain) 1> stats replicat rep2 GGSCI (nerv11.localdomain) 1> send replicat rep2 getlag GGSCI (nerv11.localdomain) 1> stop replicat rep2 GGSCI (nerv11.localdomain) 1> info all Compare os dados entre as máquinas nerv01 e nerv11. SQL> SELECT * FROM SCOTT.EMP; 39
Lab 6.2: Finalizar Replicação Na máquina nerv11, migre as CONSTRAINTs da máquina nerv01. 40
Lab 7 Agora com um SCHEMA maior... Hands On! 41 41
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 1000 SQL> SET LINESIZE 300 SQL> SET LONG 9000 SQL> 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 nerv11, execute os comandos DDL para criação do SCHEMA. 42
Lab 7.2: Configuração Carga Inicial Na máquina nerv11, copie os objetos (exceto CONSTRAINTS e INDEX) da máquina nerv01. 43
Lab 7.3: Configuração Carga Inicial 44
Lab 7.4: Configuração Carga Inicial 45
Lab 7.5: Configuração Carga Inicial 46
Lab 7.6: Configuração Carga Inicial 47
Lab 7.7: 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 ext3 EXTRACT ext3 userid OGG@ORCL, password Nerv2015 rmthost nerv11, mgrport 7809 RMTTASK replicat, GROUP rep3 table 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
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 rep3 replicat rep3 ASSUMETARGETDEFS userid OGG@ORCL, password Nerv2015 map SOE.*, target SOE.*; GGSCI (nerv11.localdomain) 1> info all 50
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 now GGSCI (nerv01.localdomain) 1> add exttrail /u01/app/oracle/ogg/dirdat/in, extract ext4 GGSCI (nerv01.localdomain) 1> edit params ext4 extract ext4 userid OGG@ORCL, password Nerv2015 rmthost nerv11, mgrport 7809 rmttrail /u01/app/oracle/ogg/dirdat/in TRANLOGOPTIONS EXCLUDEUSER OGG ddl include mapped objname SOE.*; table SOE.*; GGSCI (nerv01.localdomain) 1> info all GGSCI (nerv01.localdomain) 1> info extract ext3, detail GGSCI (nerv01.localdomain) 1> info extract ext4, detail GGSCI (nerv01.localdomain) 1> stats extract ext3 GGSCI (nerv01.localdomain) 1> stats extract ext4 51
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 rep4 replicat rep4 HANDLECOLLISIONS ASSUMETARGETDEFS userid OGG@ORCL, password Nerv2015 discardfile /u01/app/oracle/ogg/dircrd/rep4_discard.txt, append, megabytes 10 DDL map SOE.*, target SOE.*; GGSCI (nerv11.localdomain) 1> info all GGSCI (nerv11.localdomain) 1> info replicat rep3, detail GGSCI (nerv11.localdomain) 1> info replicat rep4, detail GGSCI (nerv11.localdomain) 1> stats replicat rep3 GGSCI (nerv11.localdomain) 1> stats replicat rep4 52
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> dblogin userid OGG, password Nerv2015 GGSCI (nerv01.localdomain) 1> ADD TRANDATA SOE.ORDERENTRY_METADATA ALLCOLS GGSCI (nerv01.localdomain) 1> ADD TRANDATA SOE.PRODUCT_DESCRIPTIONS ALLCOLS GGSCI (nerv01.localdomain) 1> ADD TRANDATA SOE.LOGON ALLCOLS GGSCI (nerv01.localdomain) 1> ADD TRANDATA SOE.PRODUCT_INFORMATION ALLCOLS GGSCI (nerv01.localdomain) 1> ADD TRANDATA SOE.INVENTORIES ALLCOLS GGSCI (nerv01.localdomain) 1> ADD TRANDATA SOE.ORDERS ALLCOLS GGSCI (nerv01.localdomain) 1> ADD TRANDATA SOE.ORDER_ITEMS ALLCOLS GGSCI (nerv01.localdomain) 1> ADD TRANDATA SOE.WAREHOUSES ALLCOLS GGSCI (nerv01.localdomain) 1> ADD TRANDATA SOE.CARD_DETAILS ALLCOLS GGSCI (nerv01.localdomain) 1> ADD TRANDATA SOE.ADDRESSES ALLCOLS GGSCI (nerv01.localdomain) 1> ADD TRANDATA SOE.CUSTOMERS ALLCOLS 53
Lab 7.13: 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.log GGSCI (nerv01.localdomain) 1> info all GGSCI (nerv01.localdomain) 1> info extract ext4 GGSCI (nerv01.localdomain) 1> info extract ext4, detail GGSCI (nerv01.localdomain) 1> stats extract ext4 Na máquina nerv01, mantenha a aplicação funcionando. $ cd /home/oracle/swingbench/bin $./charbench -uc 10 -cs //nerv01/orcl -min 500 -max 1000 54
Lab 7.14: 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.log GGSCI (nerv01.localdomain) 1> info all GGSCI (nerv01.localdomain) 1> info extract ext3 GGSCI (nerv01.localdomain) 1> info extract ext3, detail GGSCI (nerv01.localdomain) 1> stats extract ext3 Na máquina nerv11, acompanhe o progresso do REPLICAT Inicial. $ tail -f /u01/app/oracle/ogg/ggserr.log GGSCI (nerv11.localdomain) 1> info all GGSCI (nerv11.localdomain) 1> info replicat rep3 GGSCI (nerv11.localdomain) 1> info replicat rep3 GGSCI (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'; 55
Lab 7.15: Exec. Carga Incremental Na máquina nerv11, após o término da da execução do REPLICAT Inicial, crie os INDEX. 56
Lab 7.16: 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.log GGSCI (nerv11.localdomain) 1> info all GGSCI (nerv11.localdomain) 1> info replicat rep4 GGSCI (nerv11.localdomain) 1> info replicat rep4, detail GGSCI (nerv11.localdomain) 1> stats replicat rep4 Na máquina nerv01, acompanhe o progresso do EXTRACT Incremental. $ tail -f /u01/app/oracle/ogg/ggserr.log GGSCI (nerv01.localdomain) 1> info all GGSCI (nerv01.localdomain) 1> info extract ext4 GGSCI (nerv01.localdomain) 1> info extract ext4, detail GGSCI (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. GGSCI (nerv01.localdomain) 1> info all GGSCI (nerv01.localdomain) 1> stop extract ext4 GGSCI (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.log GGSCI (nerv11.localdomain) 1> info all GGSCI (nerv11.localdomain) 1> stats replicat rep4 GGSCI (nerv11.localdomain) 1> send replicat rep4 getlag GGSCI (nerv11.localdomain) 1> stop replicat rep4 GGSCI (nerv11.localdomain) 1> info all 58
Lab 7.18: Finalizar Replicação Na máquina nerv11, migre as CONSTRAINTs da máquina nerv01. 59
Lab 7.19: 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 -cs //nerv11/orcl -uc 10 -min 500 -max 1000 60