Slide 1 - Sucesu-RS

Propaganda
Oracle GoldenGate
Title of Presentation
Presenter’s Name
Presenter’s Title
Gustavo Brito
Gustavo Brito
OCP - Database 10g/11g Administrator Certified Professional
OCE - Oracle Database 11g Performance Tuning Certified Expert
OCE - Oracle Database 10g: Real Application Clusters Administrator Certified Expert
OCP - Oracle Application Server 10g Administrator: Certified Professional
OCE - Oracle Service Oriented Architecture Infrastructure Certified Expert
OCE - Oracle GoldenGate 10 Certified Implementation Specialist
OCE - Oracle Certified Associate, Oracle WebLogic Server 11g System Administrator
OCE - Oracle Database 11g Security Certified Implementation Specialist
Title of Presentation
Presenter’s Name
Presenter’s Title
Gustavo Brito
Projetos envolvidos:
• Webcenter
• Webcenter Content
• SOA
• Service Bus
• Banco de Dados
• Database Vault
of Presentation
• Title
Goldengate
• Weblogic
• BPM
Agenda
•
•
•
•
•
•
•
Overview
Produtos
Arquitetura
Casos de Uso
Implementação
Mapeamento de Transformação de Dados
Opções de Configuração
GoldenGate Overview
O que é Golden Gate
• “Oracle Golden Gate fornece baixo impacto para
capturar, rotacionar, transformar e entregar transações
de banco de dados através de heterogêneas
plataformas em tempo real.”
Performance
Flexível/Extensível
Confiança
Não-Intrusivo, baixo impacto
Arquitetura modular, Heterogeneos targets e sources
Mantém a integridade das transações – segunraça
contra falhas e interrupções
6
Topologias possíveis com o Golden Gate
Integridade Transacional
• Arquivos trails são gravados pelo Golden Gate referente as
transações
•
Transações ordenadas pela sequencia dos commits
•
Integridade das Transações
•
Original sequencia do commit é mantida pelo processo de entrega
Confiabilidade
•
Os processos são individuais podem ser reiniciado
automaticamente
•
Tolerância a falhas de rede (configurável)
•
Recuperação garante que nenhuma operação é ignorada ou
repetido após o fracasso de qualquer tipo
•
Embora os processos são completamente dissociados (Captura
e Replicat), o processo de entrega deve estar ciente de um
cobrança realizada pelo processo de captura ou pelo data pump
Vantagens do GoldenGate
Movimento
Gerenciamento
Integração
Eficiente IO
Volume de TPS
Captura baseada em log
Integridade das transações
Captura transparente
Garantia de entrega
Incremental
Carga de dados
criptografia
Heterogeneos Banco de Dados
Mapeamento
Transformação
Integração com ETL
Java/JMS Integração
Eficiente uso de banda
Bidirecional
Grupo de Transações
Compresão
Um para Muitos
Muitos para um
Cascata
Valores Proporcionados com Goldengate
Oferece operações contínuas para aplicações de missão crítica
para eliminar interrupções não planejadas e reduzir o custo de
paralisações planejadas.
Reduz os custos de TI através de suporte heterogêneo para
múltiplas plataformas para alavancar infra-estrutura de menor
custo para execução de consultas
Reduz riscos, garantindo a integridade dos dados e
confiabilidade entre origem e de destino.
Permite ter um BI em tempo Real e permite a execução de consultas
for a da base de produção
Reduz barreiras para compartilhar dados visto que nenhum impacto
será agregado a base transacional
Oracle GoldenGate Produtos
Produtos
• Oracle GoldenGate Transactional Data Management (TDM)
• Oracle GoldenGate Director
• Oracle GoldenGate Veridata
O que é Oracle Golden Gate Veridata
• “Oracle Golden Gate Veridata tem alta velocidade, baixo
impacto para comparação entre dados para identificar
discrepâncias entre dois banco de dados, sem interromper
sistemas ou negócios.”
Por que usar o Veridata
Erros de Usuários
• Entrada errada
• Utilização Indevida
• Intenção Maliciosa
Erros de Infraestrutura
• Falhas do Sistema
• Corrupção de Disco
• Falhas de Rede
Confirmação de Migração
• Upgrade de Banco de Dados
• Migração de Banco de Dados
O que é Oracle Golden Director
• “Uma interface gráfica que oferece fácil uso para administrar
gerenciar e que simplica a implantação e administração geral
dos processos do Golden Gate.”
Director Client
Director Web
Oracle GoldenGate Overview da Arquitetura
Como o Goldengate Trabalha?
Capture: committed transactions are captured (and can be
filtered) as they occur by reading the transaction logs.
Trail: stages and queues data for routing.
Pump: distributes data for routing to target(s).
Route: data is compressed,
encrypted for routing to target(s).
Delivery: applies data with transaction
integrity, transforming the data as required.
Capture
Trail
Trail
Pump
Delivery
LAN/WAN
Internet
TCP/IP
Source
Delivery
Oracle & Non-Oracle
Database(s)
Target Trail
Source Trail
Pump
Bi-directional
Target
Oracle & Non-Oracle
Database(s)
Capture
Heterogeneas Plataformas
Banco de Dados
Captura:
• Oracle
• DB2
• SQL Server
• Teradata
Entrega
• Todos acima
• Produtos ETL
• JMS
• Mysql
• TimesTen
Sistemas Operacionais
Windows 2000, 2003, XP
Linux
Sun Solaris
HP NonStop
HP-UX
HP TRU64
HP OpenVMS
IBM AIX
IBM z/OS
Oracle Goldengate Casos de Uso
Integração de Dados em Tempo Real
Beneficio: utilizando o Odi com Golden
Gate podemos carregar os dados para
um datawarehouse e após rodar os ETL
com isso eliminamos a carga nos bancos
de origem, reduzimos a latencia e
trabalhamos com o dado em tempo real
Beneficio: Habilitar relatórios para tomada
de decisões removendo o impacto nos
bancos de origem.
Golden Gate com ODI
Quando utilizar Golden Gate com ODI
•
•
•
•
Quando a consulta do ODI impactar no banco de dados de
origem
Quando muita latencia de rede é crítica
Quando a integridade dos dados no datawarehouse é
importante
Quando se precisam dos dados online.
Zero Downtime em migrações e Upgrade
•
•
•
Reduz o risco do negócio e sem downtime
Sem manual intervenção para reduzir a possibilidade de erros
Assegura a consistência de dados
Consolidação
Oracle
Oracle
Oracle
Oracle Data Mart
SQL Server
Reporting:
Business Objects,
Crystal
Oracle GoldenGate Implementação
Implementando Oracle GoldenGate
1. Prepare the Environment
Source
Database
3. Initial Load (various methods)
Capture
Target
Database
Delivery
Trail
Transaction
Logs
2. Change Capture
Target Trail
4. Change Delivery
Exemplo Extract Oracle Configuration
Source
Database
Transaction
Log
Capture
Network
(TCP/IP)
Trail
GGSCI> EDIT PARAMS ODS
EXTRACT ODS
USERID GoldenUser, PASSWORD password
RMTHOST 162.111.23.49, MGRPORT 7809
RMTTRAIL /ggs/dirdat/rt
TABLE SALES.ORDERS;
TABLE SALES.INVENTORY;
GGSCI> ADD EXTRACT ODS, TRANLOG, BEGIN NOW
GGSCI> ADD RMTTRAIL /ggs/dirdat/rt, EXTRACT ODS
GGSCI> START EXTRACT ODS
Note: The remote trail is created on the target system
/ggs/dirdat/rt000000
/ggs/dirdat/rt000001
Exemplo Initial Load: Oracle GoldenGate
Manager
Manager
Manager
Manager
Source
Database
Target
Database
Extract
Capture
ADD EXTRACT <name>, SOURCEISTABLE
Extract parameters:
RMTTASK REPLICAT, GROUP <name>
Delivery
ADD REPLICAT <name>, SPECIALRUN
Exemplo Initial Load Oracle GoldenGate
File
Manager
Source
Database
File
File
File
Capture
Trails
ADD EXTRACT <name>
Extract parameters:
SOURCEISTABLE
RMTFILE <name>
FORMATASCII BCP or SQLLOADER
SQL*
Loader
BCP
SSIS
Delivery
Target
Database
Exemplo Replicat – Oracle Configuration
Trails
Trail
Delivery
GGSCI> DBLOGIN SOURCEDB mydb USERID login PASSWORD pw
GGSCI> ADD CHECKPOINTTABLE ggs.checkpt
GGSCI> EDIT PARAMS REPORD
REPLICAT REPORD
TARGETDB dsn USERID ggsuser PASSWORD ggspass
-- USERID ggsuser, PASSWORD ggspass
ASSUMETARGETDEFS
DISCARDFILE /ggs/dirrpt/REPORT.dsc, APPEND
MAP SALES.ORDERS, TARGET SALES.ORDERS;
MAP SALES.INVENTORY, TARGET SALES.INVENTORY;
GGSCI> ADD REPLICAT REPORD, EXTTRAIL /ggs/dirdat/rt
GGSCI> START REPLICAT REPORD
Target
Database
Data Pumps
Primary
Capture
Data Pump
Target Trail
Target Trail
Target Trail
Target Trail
Data Pumps
Data Pump 1
Primary
Capture
Target Trail
Data Pump 2
Target Trail
Data Pump 3
Target Trail
Target Trail
Formatos de Trails
• O goldengate pode gerar os formatos abaixos:
• FORMATASCII
• FORMATSQL
• FORMATXML
Exemplo - FORMATASCII
• The transaction that is the subject of the examples:
INSERT INTO CUSTOMER VALUES ("Eric", "San Fran", 550);
UPDATE CUSTOMER SET BALANCE = 100 WHERE CUSTNAME = "Eric";
COMMIT;
• Example 1. FORMATASCII without options produces the following:
B,1997-02-17:14:09:46.421335,8,1873474,
I,A,TEST.CUSTOMER,CUSTNAME,'Eric',LOCATION,
'San Fran',BALANCE,550,
V,A,TEST.CUSTOMER,CUSTNAME,'Eric',BALANCE,100,
C,
• Example 2. FORMATASCII, NONAMES, DELIMITER '|' produces the following:
B|1997-02-17:14:09:46.421335|8|1873474|
I|A|CUSTOMER|'Eric'|'San Fran'|550|
V|A|CUSTOMER|CUSTNAME|'Eric'|BALANCE|100|
C|
Note: The last record returns column names for the CUSTNAME and
BALANCE columns because the record is a compressed update and
PLACEHOLDERS was not used.
Exemplo: FORMATSQL
B,2008-11-11:13:48:49.000000,1226440129,155,
DELETE FROM TEST.TCUSTMER WHERE CUST_CODE='JANE';
DELETE FROM TEST.TCUSTMER WHERE CUST_CODE='WILL';
DELETE FROM TEST.TCUSTORD WHERE CUST_CODE='JANE' AND
ORDER_DATE='1995-11-11:13:52:00' AND PRODUCT_CODE='PLANE' AND
ORDER_ID='256';
DELETE FROM TEST.TCUSTORD WHERE CUST_CODE='WILL' AND
ORDER_DATE='1994-09-30:15:33:00' AND PRODUCT_CODE='CAR' AND
ORDER_ID='144';
INSERT INTO TEST.TCUSTMER (CUST_CODE,NAME,CITY,STATE) VALUES
('WILL','BG SOFTWARE CO.','SEATTLE','WA');
INSERT INTO TEST.TCUSTMER (CUST_CODE,NAME,CITY,STATE) VALUES
('JANE','ROCKY FLYER INC.','DENVER','CO');
INSERT INTO TEST.TCUSTORD
(CUST_CODE,ORDER_DATE,PRODUCT_CODE,ORDER_ID,PRODUCT_PRICE,P
RODUCT_AMOUNT,TRANSACTION_ID) VALUES ('WILL','1994-0930:15:33:00','CAR','144',17520.00,3,'100');
INSERT INTO TEST.TCUSTORD
(CUST_CODE,ORDER_DATE,PRODUCT_CODE,ORDER_ID,PRODUCT_PRICE,P
RODUCT_AMOUNT,TRANSACTION_ID) VALUES ('JANE','1995-1111:13:52:00','PLANE','256',133300.00,1,'100');
C,
Exemplo: FORMATXML
<transaction timestamp="2008-11-11:14:33:12.000000">
<dbupdate table="TEST.TCUSTMER" type="insert">
<columns>
<column name="CUST_CODE" key="true">ZEKE</column>
<column name="NAME">ZEKE'S MOTION INC.</column>
<column name="CITY">ABERDEEN</column>
<column name="STATE">WA</column>
</columns>
</dbupdate>
<dbupdate table="TEST.TCUSTMER" type="insert">
<columns>
<column name="CUST_CODE" key="true">ZOE</column>
<column name="NAME">ZOE'S USED BICYCLES</column>
<column name="CITY">ABERDEEN</column>
<column name="STATE">WA</column>
</columns>
</dbupdate>
<dbupdate table="TEST.TCUSTMER" type="insert">
<columns>
<column name="CUST_CODE" key="true">VAN</column>
<column name="NAME">VAN'S BICYCLESS</column>
<column name="CITY">ABERDEEN</column>
<column name="STATE">WA</column>
</columns>
</dbupdate>
</transaction>
Processo de Reversão
Source Transaction
Log or
GoldenGate Trails
Capture
Write to a
single file or a
series of files
Reverse
input
SPECIALRUN TRANLOG
BEGIN
END
GETUPDATEBEFORES
NOCOMPRESSDELETES
Filter criteria (if any)
EXTFILE or RMTFILE
(Table statements)
Delivery
Source
Database
output





Operation sequence is reversed
Inserts become deletes
Deletes become inserts
Update Before Images become After Images
Begin and end transaction indicators are
reversed
 If input is a series of files, reverses file sequence
Oracle GoldenGate Mapeamento e
Transformação
Mapeamento e Transformação
• Where e Filtros
• Mapeamento de colunas
• Funções
• SQLEXEC
• Macros
• User tokens
• User exits
• Sequences
Oracle GoldenGate Opções de Configuração
Opções de Configurações
• BATCHSQL
• Compression
• Encryption
• Bidirectional
• Event actions
• DDL replication
Criptografia
Capture
Delivery
Network
(TCP/IP)
Server Collector
Target Trail
Message Encryption
(Blowfish)
Trail or Extract File Encryption
(Oracle GoldenGate)
Parameters
Parameters
Database Password Encryption
Eventos
INSERT / UPDATE / DELETE Values(…) in an event table
INSERT / UPDATE / DELETE Values(…) in a data table
Reports
Logs
Discards Chkpts
Reports
EVENT
PROCESSING
Logs
EVENT
PROCESSING
TCP/IP
Network
Transaction
Log
Target Trail
Capture
Discards Chkpts
Delivery
Bidirectional
Transaction
Log
Capture
Delivery
TCP/IP
Network
Target Trail
Source
Target
Source
Target
TCP/IP
Network
Delivery
Target Trail
Capture
Transaction
Log
Segurança para execução de comandos no
GGSCI
Sample CMDSEC File:
#Command
Object
Group
User
STATUS
STATUS
START
START
*
STOP
STOP
*
*
REPLICAT
*
REPLICAT
REPLICAT
EXTRACT
*
*
*
*
ggsgroup
ggsgroup
root
*
200
ggsgroup
ggsgroup
root
*
ggsuser
*
*
*
*
*
ggsuser
root
*
Can you see the error with the two STOP lines?
Access Allowed?
NO
YES
YES
NO
NO
NO
YES
YES
NO
Gustavo Brito
[email protected]
Download