Oracle Zero Downtime Migration (com Golden Gate)



Documentos relacionados
Oracle Zero Downtime Migration

Oracle Maximum Availability Architecture

Oracle Maximum Availability Architecture

PROCEDIMENTO OBRIGATÓRIO ANTES DO INICIO DOS CICLOS DA PRODUÇÃO PARARELA

MySQL para DBAs Oracle

DBA Júnior Laboratórios Extra

Quando se seleciona os modos OS ou XML, arquivos são criados com os registros de auditoria, eles se localizam parâmetro audit_file_dest.

Guia de procedimentos de backups

SQL Introdução ao Oracle

Gerência de Banco de Dados

Pedro F. Carvalho Analista de Sistemas RMAN: Ambiente de backup

Sumário. Capítulo 2 Conceitos Importantes Tópicos Relevantes Instance Base de Dados Conclusão... 37

Instalando e Configurando o Oracle XE

Administração de Usuários e Privilégios no Banco de Dados

Banco de Dados. Prof. Antonio

INSTALAR O SQL SERVER NO SERVIDOR. (É o caso da Zervan, que existe o servidor da Fernanda e queremos instalar um outro na máquina de Lilian)

Solutions for Information Technologies. BIS-Navegador. IBM DB2 UDB v8.x

P R E F Á C I O A UNIÃO FAZ A FORÇA

Instalando o SharePoint 2010 no Windows 7

INICIAL. Guia de Criação da Base Produção Paralela IMPORTANTE: MESMO QUE SEJAM EXECUTADOS

A criação de utilizadores no MySQL pode passar pela utilização de dois comandos: - Create user; - Grant;

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

Solutions for Information Technologies. BIS-Navegador. Oracle

Manual de Instalação e Configuração MySQL

Aplicabilidade: visão geral

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Oracle Manual KM&M Engenharia de Sistemas

MSN-Proxy v0.7 no Debian 5 (Atualizado)

LOJA ELETRÔNICA MANUAL DE INSTALAÇÃO

IoT-FND: Incapaz de verificar a Conexão ao base de dados. Exceção: java.sql.sqlexception: ORA-28001: a senha expirou

Carga Horária 40 horas. Requisitos Servidor Oracle 10G Ferramenta para interação com o banco de dados

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

INSTALAÇÃO DO LOGIX COM BANCO ORACLE

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

Guia de administração para a integração do Portrait Dialogue 6.0. Versão 7.0A

Crash recovery é similar ao instance recovery, onde o primeiro referencia ambientes de instância exclusiva e o segundo ambientes parallel server.

INSTALANDO SQL SERVER 2008

Conteúdo O que é?... 4 Histórico... 4 Onde Baixar?... 4 Diferença entre Firebird e o Interbase... 4 Como instalar?... 4 Instalando o Ibexpert...

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Bases de Dados 2005/2006. Aula 1

Bases de Dados 2007/2008. Aula 1. Referências

*O RDBMS Oracle é um sistema de gerenciamento de banco de dados relacional.

Conversão de ambientes

Instalação RAC10g em Linux

SISTEMA/MÓDULO: SYSMO S1 / CONFIGURACOES CORRUPÇÃO DE BASE DE DADOS VERSÃO: 1.01 DATA: 11/06/2007

Guia de Referência Rápida Administração de Bancos de Dados Oracle - Abstratos Tecnologia

PROCEDIMENTOS PARA ATUALIZAÇÃO DE VERSÃO DO APLICATIVO

- O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de ferramentas gráficas.

Backup e Restauração Banco de Dados. Evandro Deliberal

Configurando DDNS no Stand Alone

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução ao Sistema. Características

Manual de Instalação e Configuração

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

UNINOVE Tec. Adm. e Des. de Sistemas. Administracão de Banco de Dados. ORACLE Backup / Recovery AULA 11

INSTALAÇÃO BASE TESTE AUTOSERVIÇO. 1-Instalação usando emulador de impressora fiscal.

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.

1. Índice. Setor: Infraestrutura Arquivo físico: Upgrade_SQL.doc Atualizado em: 23/09/ :59:00 Aplica-se para: Migração SQL Server

COORDENAÇÃO DE TECNOLOGIA (COTEC) MAIO/2010

NetEye Guia de Instalação

Como instalar o sistema operacional pfsense no Citrix Xen Server

Autor: Hernandes Martins. Março de Zabbix 2.4 CentOS 7 Tutorial Instalação

PostgreSQL. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

Advanced IT S/A. EM10g Grid Control. Introdução. Introdução. Agenda. Como alcança estes objetivos Grid Control Home Page Pode gerenciar:

Universidade Federal de Mato Grosso-UFMT Sistemas de Informação Laboratório de Banco de Dados Prof. Clóvis Júnior. Áreas de Trabalho (Tablespace)

GUIA LAB I - REDES DE COMPUTADORES / ECO008 PROF. ISAÍAS LIMA INICIANDO O ROTEADOR MODO DE SETUP

Structured Query Language (SQL)

Real Application Cluster (RAC)

ESET Remote Administrator ESET EndPoint Solutions ESET Remote Adminstrator Workgroup Script de Logon

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

Manual de Instalação Corporate

Instalação e Configuração do QualproxWeb, ProxControle, ProxAtendente, ControladorSerial e Banco de Dados

Autorizador WEB Roteiro de Instalação e Configuração

Documentação Symom. Agente de Monitoração na Plataforma Windows

Sumário Agradecimentos Sobre.o.autor Prefácio Capítulo.1..Bem-vindo.ao.MySQL... 22

Controle de congestionamento em TCP

MANUAL INSTALAÇÃO WEB SERVICE

Manual de Instalação do Oracle Client

Escrito por Sex, 14 de Outubro de :12 - Última atualização Seg, 26 de Março de :33

Procedimentos para Instalação do SISLOC

Linguagem de Consulta Estruturada SQL- DML

1. Índice. Setor: Infraestrutura Arquivo físico: Upgrade_SQL.doc Atualizado em: 04/09/ :10:00 Aplica-se para: Migração SQL Server

Lendas do Oracle. Ricardo Portilho Proni TITLE Speaker

Backup Exec 2014: Guia de Atualização

TUTORIAL DE INSTALAÇÃO Windows Server Bits. Rua Maestro Cardim, cj. 121 CEP São Paulo - SP (11)

INSTALANDO E CONFIGURANDO O MY SQL

MANUAL DE INSTALAÇÃO. LSoft Ponto Eletrônico

Manual de Instalação Atendimento 3.4

PostgreSQL 8.0. Diogo Biazus

PROGRAMA DE PÓS-GRADUAÇÃO POSEAD. Curso Banco de Dados. Resenha Crítica: Backup e Recovery Aluno: Wilker Dias Maia

Transcrição:

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