460 likes | 474 Views
Apresentação Pessoal. 12 anos de experiência na área de TI. 10 anos focado em administração de banco de dados e tecnologias Oracle. Consultor Oracle e Instrutor de GoldenGate. Escritor na revista SQL Magazine Alta disponibilidade com Grid Infrastructure, RAC, Data Guard e GoldenGate.
E N D
Apresentação Pessoal • 12 anos de experiência na área de TI. • 10 anos focado em administração de banco de dados e tecnologias Oracle. • Consultor Oracle e Instrutor de GoldenGate. • Escritor na revista SQL Magazine • Alta disponibilidade com Grid Infrastructure, RAC,Data Guard e GoldenGate. • Exadata Machine (DMA). • Migração e replicação de dados. • Certificações OCP 10g / 11g / 12c - Oracle GoldenGate Implementation Specialist 12c - Oracle GoldenGate Implementation Specialist 11g
Agenda - O que é Oracle GoldenGate? - Formas de Implementação - Arquitetura e Componentes - Novidades da versão 12c ( New Features ) - GoldenGatenaprática (hands-on) - Perguntas e Respostas
O que é Oracle GoldenGate? OGG OGG ORIGEM DESTINO DATE DATETIME Migração Plataformas Heterogêneas LONG TEXT Replicação de dados NUMBER INTEGER Transformação de dados ( ETL: Extract-Transform-Load )
Formas de Implementação • # Níveis (Oracle) : • Banco de Dados completo • Um ou mais Schemas (Owners) • Uma ou mais Tabelas • Uma ou mais Colunas de uma tabela ( +PK ) • Um ou mais registros (FILTER / WHERE) • Apenas a estrutura dos objetos ( DDL )
Arquitetura e Componentes 12c - Usado para armazenamento comum e seguro de usuários e senhas. - Opcional mas altamente recomendado.
Arquitetura e Componentes COMMITTED TRANSACTIONS
Arquitetura Carga Inicial :OGG Direct Load X LAG X TrailFiles
Arquitetura Migração Zero Downtime Carga Inicial :OGG Direct Load 1. Ativar captura (EXTRACT) 2. Ativar transferência (PUMP) 3. Realizar carga Inicial (vários métodos) 4. Aguardar consumo de LAG1 e LAG2 (REPLICAT) X • Parar aplicação e apontar para o novo ambiente ZERO • DOWNTIME Aplicação Replicação em tempo REAL Carga Inicial : LAG 2 LAG 1 - OGG Direct Load - Export/Import flashback_scn X - Backup & Restore TrailFiles - BCV
Arquitetura e Componentes X SRV / DB 01 SRV / DB 03 SRV / DB 02
Banco de Dados Suportados * CAPTURE suportadonovamentenaversãoOGG 12.3
Versões Suportadas: Oracle DB x OGG * SEMPREverifiquenadocumentação as versões e suascombinaçõespossíveis de implementação (SO, DB e OGG).
Novidades da versão 12c ( New Featues )
Features: Integrated Capture xxx IntegratedReplicat
Feature: IntegratedReplicatMode • Comparação: REPLICAT “Modo Não-Integrado”
Feature: IntegratedReplicatMode • Comparação: REPLICAT “Modo Integrado”
Feature: Multitenant Container Database (CDB) Utiliza “Three-part object name” CONTAINER.SCHEMA.OBJECT Exemplo: PDB1.HR.EMPLOYEES
Feature: CoordinatedReplicat • Antes da versão 12c (12.1.2) • 1. Dividindo VÁRIAS tabelasem diferentes replicadores • (Modo sem coordenação) Quando ocorre problemas de performance no Destino, por exemplo, demora na replicação, LAG aumentando constantemente, muitas transações em apenas uma única tabela, etc., uma das melhores práticas é distribuira carga de dados para vários processos replicadores. Para isso existem duas formas. replicat Reportc ount replicat Reportc ount replicat Reportc ount REP1.prm MAP SIEBEL.*, TARGET SIEBEL.*; REP2.prm MAP SALES.ACCT1, TARGET SALES.ACCT1; REP3.prmMAP SALES.ACCT2, TARGET SALES.ACCT2; MAP HR.EMPLOYEE, TARGET HR.EMPLOYEE; MAP HR.JOB_HIST, TARGET HR.JOB_HIST;
Feature: CoordinatedReplicat • Antes da versão 12c (12.1.2) • 2. Dividindo tabelas GRANDES em diferentes replicadores replicat Reportc ount replicat Reportc ount replicat Reportc ount REP1.prm MAP SIEBEL.S_ESCL_REQ, TARGET SIEBEL.S_ESCL_REQ, FILTER(@RANGE (1,3)); REP2.prm MAP SIEBEL.S_ESCL_REQ, TARGET SIEBEL.S_ESCL_REQ, FILTER(@RANGE (2,3)); REP3.prm MAP SIEBEL.S_ESCL_REQ, TARGET SIEBEL.S_ESCL_REQ, FILTER(@RANGE (3,3));
Feature: CoordinatedReplicat • A partir da versão 12c (12.1.2) • 1. Dividindo VÁRIAS tabelasem diferentes replicadores • (Modo coordenado) REP.prm MAP SIEBEL.* ,TARGET SIEBEL.* , THREAD(1); MAP SALES.ACCT1,TARGET SALES.ACCT1, THREAD(2); MAP SALES.ACCT2,TARGET SALES.ACCT2,THREAD(3); MAP HR.EMPLOYEE,TARGET HR.EMPLOYEE, THREAD(3); MAP HR.JOB_HIST,TARGET HR.JOB_HIST,THREAD(3);
Feature: CoordinatedReplicat • A partir da versão 12c (12.1.2) • 1. Dividindo tabelas GRANDESem diferentes replicadores • (Modo coordenado) REP.prm MAP SIEBEL.S_ESCL_REQ, TARGET SIEBEL.S_ESCL_REQ, THREADRANGE(1-3, ID));
Feature: Instalação gráfica ( OUI ) Duas opções de intalação: - Instalação Interativa. - Instalação Silenciosa. Na versão 12c não utiliza mais os comandos “tar” ou ”unzip” ( instalação manual ).
Feature: Mais algumas News Features - Criação automática do Discard File (*.dsc) - Trailfile default size ( ANTES: 10M, 100M / AGORA=500M ) - SUPRESSTRIGGERS ( Default, não ativa trigger no destino ) - DEFGEN+SOURCEDEFS / ASSUMETARGETDEFS (Self describe trailfiles) - Native DDL Capture(Não é mais necessário: marker_setup/ddl_setup/DDL trigger)
Oracle GoldenGate 12c Na Prática
EXTRACT EXTDB11G SETENV (ORACLE_SID="ORADB11G") SETENV (ORACLE_HOME="/u01/app/oracle/product/11.2/db") USERID GGUSER_11G password GGUSER_11G TRANLOGOPTIONS DBLOGREADER, DBLOGREADERBUFSIZE 2597152, ASMBUFSIZE 28000 Exttrail ./dirdat/e0 DISCARDFILE ./dirrpt/discard_EXTDB11G.dsc, APPEND megabytes 20 BR BRINTERVAL 1H DDL INCLUDE MAPPED DDLOPTIONS ADDTRANDATA DDLOPTIONS REPORT GETTRUNCATES TABLE REP_DATA_OGG.*;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- GOLDENGATE REPLICATION - SOURCE DB (EXTRACT) ------------------------------------------------------------------------------------------------- -- Client.....: GUOB TECH DAY -- Author.....: Gilson Martins -- File.......: extdb11g.prm -- Description: Extractconfiguration file for sourcedatabase ORADB11G. -- History....: 10/jul/2018, Gilson Martins: File creation. -- 15/jul/2018, Gilson Martins: AddedBounded Recovery parameter. ------------------------------------------------------------------------------------------------- EXTRACT EXTDB11G --# DB environment settings SETENV (ORACLE_SID="ORADB11G") SETENV (ORACLE_HOME="/u01/app/oracle/product/11.2/db") --# OGG databaseuserlogin USERID GGUSER_11G PASSWORD GGUSER_11G --# Classic CAPTURE ModeParams -- TRANLOGOPTIONS ASMUSER sys@ASM, ASMPASSWORD #PassSYS2018 <<<< ACESSAR O ASM UTILIZANDO SYS/PASS@TNS TRANLOGOPTIONS DBLOGREADER TRANLOGOPTIONS DBLOGREADERBUFSIZE 4096K --# Local trailinfo Exttrail ./dirdat/e0 DISCARDFILE ./dirrpt/discard_EXTDB11G.dsc, APPEND megabytes 20 --# ErrorHandling --# Listofmappedtables for replication TABLE REP_OGG_SOURCE11G.*;
EXTRACT EXTDB11G --# DB environment settings SETENV (ORACLE_SID="ORADB12C") SETENV (ORACLE_HOME="/u01/app/oracle/product/12.2/db") --# OGG databaseuserlogin USERID GGUSER_12C PASSWORD GGUSER_12C MACRO #setdb_golden12c BEGIN SETENV (ORACLE_SID="ORADB12C") SETENV (ORACLE_HOME="/u01/app/oracle/product/12.2/db") END; MACRO #dblogin BEGIN USERID GGUSER_12C PASSWORD GGUSER_12C END; EXTRACT EXTDB12C --# DB environment settings #setdb_golden12c() --# OGG databaseuserlogin #dblogin()
MACROS: alterando senha/parâmetros EXTRACT EXT_11G --# OGG databaseuserlogin USERID GGUSER_11G PASSWORD GGUSER_11G EXTRACT PUMP_11G --# OGG databaseuserlogin USERID GGUSER_11G PASSWORD GGUSER_11G EXTRACT EXT_12G --# OGG databaseuserlogin USERID GGUSER_12G PASSWORD GGUSER_12G EXTRACT PUMP_12G --# OGG databaseuserlogin USERID GGUSER_12G PASSWORD GGUSER_12G
MACROS: alterando senha/parâmetros EXTRACT EXT_XX --# OGG databaseuserlogin #dblogin() EXTRACT PUMP_XX --# OGG databaseuserlogin #dblogin() MACRO #dblogin BEGIN USERID GGUSER_11G PASSWORD GUOB_TECHDAY END; EXTRACT EXT_YY --# OGG databaseuserlogin #dblogin() EXTRACT PUMP_YY --# OGG databaseuserlogin #dblogin()
EXTRACT EXTxxxx --#=============================================== --# MACRO (Default Includes) --#=============================================== nolist include ./dirmac/setlogin.mac include ./dirmac/setdb.mac include ./dirmac/settings.mac list --#=============================================== --# DB environment settings --#=============================================== #setdb_golden12c() --#=============================================== --# Databaselogin --#=============================================== #dblogin() --#=============================================== --# EnvironmentConfiguration --#=============================================== #setenv() --#=============================================== --# Local trailinfo --#=============================================== #encrypttrail() exttrail ./dirdat/xx --#=============================================== --# DDL Replication --#=============================================== #ddl_rep() --#=============================================== --# Listofmappedtables for capture andreplication --#=============================================== TABLE REP_OGG_SOURCE12C.TAB_REPLICA_12C_01; TABLE REP_OGG_SOURCE12C.TAB_REPLICA_12C_02; TABLE REP_OGG_SOURCE12C.TAB_REPLICA_12C_03 , COLS (EMPNO, ENAME, JOB, SAL);
Cenários de Replicação TRAIL e0 TRAIL dx TRAIL dx TRAIL e0 OGG 11.2.21 OGG 12.3.0.1.4 EXTDB11G DB11G REPDB11G PMPDB11G CollectorMGR7811 DB12C OGG 12.3.0.1.4 EXTDB12C REPDB12C DB12C PMPDB12C
GGSCI> GoldenGate Software Command-line Interface
Perguntas? PALESTRA: Desvendando o Oracle GoldenGate 12c OBRIGADO pela participação! Gilson Martinsgilson.pmartins@gmail.com