Sei sulla pagina 1di 384

www.it-ebooks.

info
Primeiros passos com o Oracle
Data Integrator 11g:
A Hands-On Tutorial

Combine alto volume de movimentação de dados, complexo


transformações e integração em tempo real de dados com
as capacidades robustas de ODI neste guia prático

Peter C. Boyd-Bowman

Christophe Dupupet

Denis Cinza

David Hecksel

Julien Testut

Bernard Wheeler

experiência profissional destilado


HPLBLISING

BIRMINGHAM - MUMBAI

www.it-ebooks.info
Introdução ao Oracle Data Integrator 11g:
A Hands-On Tutorial

Copyright © 2012 Packt Publishing

Todos os direitos reservados. Nenhuma parte deste livro pode ser reproduzida, armazenada em um
sistema, ou transmitida de qualquer forma ou por qualquer meio, sem a prévia por escrito
permissão da editora, exceto no caso de breves citações embutidas em
artigos críticos ou revisões.

Todos os esforços foram feitos na preparação deste livro para garantir a precisão
da informação apresentada. No entanto, a informação contida neste livro é
vendidos sem garantia, expressa ou implícita. Nem os autores, nem Packt
Publicar, e os seus revendedores e distribuidores serão responsáveis por quaisquer danos
causado ou alegadamente causado direta ou indiretamente por este livro.

Packt Publishing tem se esforçado para fornecer informações sobre a marca registrada de todos os
empresas e produtos mencionados neste livro através da utilização adequada de capitais.
No entanto, Packt Publishing não pode garantir a precisão das informações.

Data de publicação: maio 2012

Referência Produção: 1180512

Publicado por Packt Publishing Ltd.


Lugar Livery
35 Street Livery
Birmingham B3 2PB, Reino Unido.

ISBN 978-1-84968-068-4

www.packtpub.com

Imagem da capa por David Gutierrez (bilbaorocker@yahoo.co.uk)

www.it-ebooks.info
Créditos

Autores Editores técnicos


Peter C. Boyd-Bowman Veronica Fernandes

Christophe Dupupet Joyslita D'Souza

Denis Cinza

David Hecksel Coordenador de Projetos


Joel Goveya
Julien Testut

Bernard Wheeler Revisor


Katherine Tarr
Revisores
Uli Bethke Indexador
Kevin Glenny Hemangini Bari

Maciej Kocon
Gráficos
Suresh Lakshmanan Valentina D'silva
Ronald Rood Manu Joseph

Editor de aquisição Coordenador de Produção


Stephanie Moss Prachali Bhiwandkar

Levar Editor Técnico Cubra Trabalho


Hyacintha D'Souza Prachali Bhiwandkar

www.it-ebooks.info
www.it-ebooks.info
Prefácio

A 26 de maio de 2011 edição da revista The Economist cita um relatório da McKinsey a


Global Institute (MGI) sobre os dados tornando-se um fator de produção, como a física
ou capital humano. Em toda a indústria, as empresas estão investindo recursos significativos
no valor de aproveitamento de grandes quantidades de dados para inovar, competir, e reduzir
custos operacionais.

À luz desse enfoque global sobre explosão de dados, a revolução de dados e análise de dados
os autores deste livro não poderia ter escolhido um momento mais apropriado para
partilhar a sua visão única e ampla experiência técnica em alavancar o Oracle Data
Integrator (ODI) para entregar principais iniciativas de integração de dados em empresas globais.

Oracle Data Integrator constitui um produto fundamental na integração de dados Oracle produto
carteira. ODI arquitetura do produto é construído em alto desempenho ELT, com orientação
princípios que são: facilidade de uso, evitando caros servidores mid-tier de transformação,
e flexibilidade de integração com plataformas heterogêneas.

Estou muito contente que os autores, seis dos principais especialistas em Oracle Data Integrator
11g decidiram partilhar o seu conhecimento profundo do ODI em uma maneira fácil de seguir
que cobre o material sujeito tanto de um conceitual e uma implementação
aspecto. Eles cobrem como ODI aproveita próxima geração Extract-Load-Transformação
tecnologia para proporcionar desempenho extremo para permitir estado da arte das soluções
que ajudam a oferecer análises ricas e inteligência de negócios superior em dados modernos
ambientes de armazenamento. Usando um fácil de seguir abordagem prática, os autores
orientar o leitor através sucessivamente complexa e desafiadora integração de dados
tarefas a partir do bloqueio de base e combater de criar interfaces utilizam uma multiplicidade de
tecnologias de origem e de destino, para tópicos mais avançados ODI como fluxos de trabalho de
dados,
gestão e monitoramento, agendamento de análise de impacto, ea interface com a ODI
Web Services. Se o seu objetivo é o de alavancar o seu conhecimento ODI 11g e produtividade
para entregar rapidamente o valor do negócio, você está no caminho certo. Cavar, e Integrar.

Alok Pareek
Vice-presidente de Integração do produto / Gestão de Dados
A Oracle

www.it-ebooks.info
Sobre os Autores

Peter C. Boyd-Bowman é Diretor de Consultoria Técnica com o Oracle


Corporation. Ele tem mais de 30 anos de engenharia de software e banco de dados
experiência de gestão, incluindo 12 anos de interesse focada em armazenamento de dados
e inteligência de negócios. Capitalizando sua extensa experiência em Oracle
tecnologias de banco de dados que remonta a 1985, ele passou os últimos anos especializada
em migração de dados. Depois de muitas implementações de projetos bem sucedidos usando o Oracle
Warehouse Builder e logo após a aquisição da Oracle do Sunopsis
Corporation, ele mudou sua área de foco ao longo de produto da Oracle emblemática ETL:
O Oracle Data Integrator. Ele é graduado em Administração Industrial e
Ciência da Computação da Universidade de Purdue e atualmente reside na Carolina do Norte.

Christophe Dupupet é Diretor de Gerenciamento de Produtos para ODI da Oracle. Em


Nessa função, ele se concentra no programa de atendimento ao cliente onde ele trabalha em estreita
colaboração com
clientes estratégicos execução ODI. Antes da Oracle, ele fez parte da equipe que
iniciou as operações para Sunopsis em os EUA (Sunopsis criou o produto e ODI
foi adquirida pela Oracle em 2006).
Ele possui um grau de Pesquisa Operacional EISTI na França, um mestrado
em Pesquisa Operacional da Florida Tech, e um Certificado em Gestão de
Universidade de Harvard.

Ele escreve blogs (entradas principalmente técnicas) em http://blogs.oracle.com/


dataintegration bem como white papers.

Um agradecimento especial a minha esposa, Viviane, e três filhos, Quentin,


Audrey, e Inês, pela sua paciência e apoio ao longo
noites e fins de semana passou sobre este livro.

www.it-ebooks.info
David Hecksel é um Arquiteto de Integração de Dados da Oracle principal. Residente em
Dallas, Texas, ele se juntou a Oracle em 2006, como um arquiteto de Pré-vendas do Oracle Fusion
Middleware. Seis meses depois de entrar, ele se ofereceu para adicionar pré-venda cobertura para
um produto adquirido recentemente chamado Oracle Data Integrator eo resto (incluindo
a escrita deste livro) tem sido um trabalho de amor trabalhar com uma plataforma
ea solução que fornece simultaneamente a produtividade do usuário e fenomenal
sistema de ganhos de desempenho para as tradicionalmente separadas reinos TI carreira de Dados
Warehousing, arquitetos Orientadas a Serviços, e os desenvolvedores de Business Intelligence.
Antes de ingressar na Oracle, ele passou seis anos com a Sun Microsystems em seu dom.
Java Center e foi CTO durante quatro anos na Axtive Software, arquitetura e
desenvolvimento do marketing um-para-um e vários plataformas web de personalização tais
como e.Monogram. Em 1997, ele também inventou, arquitetado, desenvolvido e comercializado o
premiado JCertify produto on-line da indústria eletrônica de primeira entrega
estudar o conteúdo e simulação do exame para a certificação exame Programador Java. Prévio
Software para Axtive, ele estava com a IBM por 12 anos como desenvolvedor de software e trabalha
no sistema operacional, gestão, armazenamento e produtos de software de rede. Ele
detém uma B.S. em Ciência da Computação da Universidade de Wisconsin-Madison e um
Mestrado em Administração de Empresas pela Universidade de Duke.

Julien Testut é gerente de produto no grupo Integração de dados Oracle com foco
em Oracle Data Integrator. Ele tem uma extensa experiência em integração de dados
Dados e tecnologias de qualidade e soluções. Antes de ingressar na Oracle, ele era um
Aplicações Engenheiro Sunopsis que depois foi adquirida pela Oracle. Ele possui um
Mestrado em Engenharia de Software.

Eu gostaria de agradecer a minha esposa Emilie por seu apoio e paciência


enquanto eu estava trabalhando neste livro. Um agradecimento especial a minha
família e
amigos também.

Eu também quero agradecer Christophe Dupupet para a condução de todo o


caminho
em toda a França em um dia de verão para se encontrar comigo e me dar a
oportunidade de se juntar Sunopsis. Obrigado também aos meus colegas que
trabalhar e ter trabalhado em Oracle Data Integrator no Oracle e
Sunopsis!

www.it-ebooks.info
Bernard Wheeler é um cliente Diretor de Soluções da Oracle no Reino Unido, onde
ele se concentra em Gestão da Informação. Ele tem sido na Oracle desde 2005, trabalhando
em pré-venda funções técnicas cobrindo Business Process Management, SOA, e Dados
Tecnologias de integração e soluções. Antes de ingressar na Oracle, ele ocupou vários pré-
vendas, consultoria e de marketing com fornecedores como a Sun Microsystems,
Forte Software, Borland, e Sybase, bem como trabalhado por um certo número de sistemas
integradores. Ele é formado em Engenharia pela Universidade de Cambridge.

www.it-ebooks.info
Sobre os Revisores

Uli Bethke tem mais de 12 anos de experiência em várias áreas de dados


gestão, tais como análise de dados, arquitetura de dados, modelagem de dados, migração de dados
e integração, ETL, qualidade de dados, limpeza de dados, inteligência de negócios de banco de dados,
administração, mineração de dados e data warehousing corporativo. Ele já trabalhou em
finanças, a indústria farmacêutica, educação e varejo.

Ele tem mais de três anos de experiência em ODI 10g e 11g.

Ele é um consultor de Armazém de Dados independente com sede em Dublin, na Irlanda. Tem
soluções de inteligência de negócios implementados para várias organizações blue chip
Europa e América do Norte. Ele corre um blog ODI em www.bi-q.ie.

Eu gostaria de agradecer a Helen por sua paciência comigo. O seu lugar na


o céu está garantido. Eu também gostaria de agradecer a minha bebé pequeno
Ruairí. Você é um homem de gás.

Kevin Glenny tem experiência internacional de engenharia de software, que inclui


trabalhar para Infraestrutura Grid Europeia (EGI), interligando os núcleos de CPU e 140K
25 petabytes de armazenamento em disco. Ele é altamente avaliado Consultor Oracle, com quatro
anos
de experiência em consultoria internacional para empresas blue chip. Ele é especialista
na área de OLAP escalável e sistemas OLTP, edifício em sua computação Grid
fundo. Ele também é autor de inúmeros artigos técnicos e de sua indústria
insights podem ser encontradas no blog de sua empresa em www.BigDataMatters.com.

GridwiseTech, como Oracle Partner of the Year 2011, é o especialista independente


na escalabilidade de dados e de grande porte. A empresa oferece robustas arquiteturas de TI para
dados significativos e cargas de processamento. GridwiseTech opera globalmente e serve
clientes que vão desde empresas Fortune Global 500 para o governo e academia.

www.it-ebooks.info
Maciej Kocon tem sido no setor de TI há 10 anos. Ele começou sua carreira como
Programador de banco de dados de aplicativos e rapidamente desenvolveu uma paixão pelo SQL
linguagem, processamento de dados e análise.

Ele entrou no reino de armazenagem de dados e BI e tem se especializado no design


de EL-T estruturas para a integração de grandes volumes de dados. Sua experiência abrange a
ciclo de vida do armazém cheio de dados em vários setores, incluindo serviços financeiros, varejo,
setor público, telecomunicações e pesquisa clínica.

Para relaxar, ele gosta de nada mais do que tomar ao ar livre de sua câmera para uma sessão de fotos.

Ele pode ser contatado em seu blog pessoal http://artofdi.com.

Suresh Lakshmanan está atualmente trabalhando como Consultor Sênior em Keane Inc.,
fornecimento de soluções técnicas e arquitetônicas para os seus clientes em produtos da Oracle
espaço. Ele tem sete anos de experiência técnica com alta disponibilidade do Oracle
Bancos de dados / aplicações.

Antes de ingressar na Keane Inc., ele trabalhou como consultor da Sun Microsystems em
Cluster implementações do Oracle E-Business Suite para a equipe TSO. Ele também
trabalhou com a Oracle India Pvt Ltd para EFOPS equipe especializada em Oracle DBA
Bancos de dados, o Oracle E-Business Suite, Oracle, servidores de aplicativos e Oracle
Demantra. Antes de entrar para a Oracle Índia, ele trabalhou como consultor para a GE Energy
especializada em tecnologias de núcleo da Oracle.

www.it-ebooks.info
Suas principais áreas de interesse incluem alta disponibilidade / sistema de alto desempenho
design e design de solução de recuperação de desastres para os produtos da Oracle. Ele tem um MBA
Licenciatura em Sistemas de Computação da Universidade de Madurai Kamaraj, Madurai, na Índia.
Ele fez seu Bacharelado em Engenharia em Ciência da Computação pela Faculdade de PSG
Tecnologia, Coimbatore, Índia. Ele tem escrito vários artigos relacionados com o Oracle em seu
blog que pode ser encontrada em http://applicationsdba.blogspot.com e pode ser
atingida a meet.lsuresh @ gmail.com.

Em primeiro lugar eu gostaria de agradecer a Sri Krishna, para continuamente


guiando-me e dando-me força, coragem e apoio em
todos os esforços que empreender. Eu gostaria de agradecer aos meus pais
Lakshmanan e Kalavathi por suas bênçãos e encorajamentos
apesar de eu viver 9.000 milhas longe deles. Palavras não podem expressar
a quantidade de sacrifício, a dor, e resistência a que foram submetidos
para criar e educar o meu irmão, minha irmã, e eu. Tiremos o chapéu para você tanto
por suas contribuições em nossas vidas. Gostaria de agradecer ao meu irmão
Srinivasan e minha irmã Suganthi. Eu não poderia ter feito nada
sem o seu amor, apoio e paciência. Não há nada mais
importante na minha vida do que a minha família. E isso é uma prioridade que será
nunca mudam. Eu gostaria de agradecer a autores e David Hecksel
Bernard Wheeler por me dar a oportunidade de rever este livro. E
Meus agradecimentos especiais para Reshma, Poorvi, e Joel por sua paciência
enquanto se aguarda uma resposta de mim durante os meus comentários.

Ronald Rood é um inovador DBA Oracle com mais de 20 anos de experiência em TI.
Ele tem construído e gerido bases de dados de cluster em plataforma sobre todos e cada um
que a Oracle já apoiou, desde os bancos de dados famosos OPS na versão 7
até os últimos lançamentos RAC, a versão atual sendo 11g. Ele está constantemente à procura
formas de obter o máximo de valor do banco de dados para fazer o investimento para a sua
clientes ainda mais valiosos. Ele sabe como lidar com o poder do Unix rico
ambiente muito bem e isso é o que faz dele um solucionador de problemas de primeira classe e
solução arquiteto. Além das línguas faladas tais como Holandês, Inglês, Alemão,
e francês, ele também escreve fluentemente em muitas linguagens de script.

www.it-ebooks.info
Atualmente, ele é um Consultor Principal trabalhando para Ciber na Holanda, onde
ele cooperar em muitos projetos complexos para grandes empresas, onde o tempo de inatividade não
é
uma opção. Ciber (CBR) é uma Platinum Partner Oracle e comprometidos com o limite.
Ele sempre responde em fóruns do oráculo, escreve seu próprio blog chamado Desde que os erros
aprender ... (http://ronr.blogspot.com), Escreve para várias revistas relacionados à Oracle,
e também escreveu um livro, Dominar a Oracle Scheduler em bancos de dados Oracle 11g onde
Ele preenche a lacuna entre a documentação do Oracle e dúvidas dos clientes. Ele
Também fez parte das equipas técnicas de revisão para Oracle 11g Aplicação R1/R2 real
Clusters Essentials e A Oracle Information Integration, migração e consolidação, tanto
publicada pela Packt Publishing.

Ele tem muitas certificações para o seu crédito, alguns deles são o Oracle Certified Master,
Oracle Certified Professional, Oracle Database 11g Especialista Sintonia, Banco de Dados Oracle
11g de Data Warehouse Especialista em Implementação Certificada.

Ele preenche seu tempo com a Oracle, a sua família, pára-quedismo, rádio avião modelo controlado
voando, executando um grupo de escotismo, e ter muita diversão.

Ele acredita que "Um problema é apenas um desafio que pode levar um pouco de tempo para
resolver".

www.it-ebooks.info
www.PacktPub.com

Arquivos de suporte, livros, ofertas de desconto e mais


Você pode querer visitar www.PacktPub.com para arquivos de suporte e downloads relacionados a
seu livro.

Você sabia que Packt oferece versões de eBook de cada livro publicado, com PDF e ePub
arquivos disponíveis? Você pode atualizar para a versão e-book em www.PacktPub.com e como uma impressão
cliente livro, você tem direito a um desconto na cópia eBook. Entre em contato com a gente no
service@packtpub.com para mais detalhes.

Em www.PacktPub.com, você também pode ler uma coleção de artigos técnicos livres, inscreva-se para um
série de boletins informativos gratuitos e receber descontos e ofertas exclusivas em livros Packt e eBooks.

http://PacktLib.PacktPub.com
Você precisa de soluções imediatas às suas perguntas de TI? PacktLib é o livro on-line Packt digitais
biblioteca. Aqui, você pode acessar, ler e pesquisar em toda a biblioteca de Packt de livros.

Por que assinar?


• Totalmente pesquisável através de cada livro publicado pela Packt
• Copiar e colar, imprimir e marcar conteúdo
• Na demanda e acessível via web browser

Acesso livre para correntistas Packt


Se você tem uma conta com a Packt www.PacktPub.com, você pode usar isso para acessar
Hoje PacktLib e vista nove livros totalmente gratuitos. Basta usar as suas credenciais de login para
acesso imediato.

Atualizações instantâneas sobre Livros Packt


Novas
Seja avisado! Saiba quando novos livros são publicados seguindo @ PacktEnterprise em
Twitter, ou a Packt Empresa Página do Facebook.

www.it-ebooks.info
www.it-ebooks.info
Índice analítico
Prefaciar 1
Capítulo 1: Visão geral do produto 11
ODI produto arquitetura 13
ODI repositório 15
Visão geral repositório 15
Local do repositório 16
Mestre repositório 16
Repositório de trabalho 17
Repositório de execução 17
Ciclo de gestão e repositórios 18

Estúdio 19
Agente 22
Console 24
Oracle Enterprise Manager 26
Conceitos-chave ODI 26
Contextos de execução 27
Módulos de Conhecimento 28
Modelos 30
Interfaces 31

Descrições de interface 31
Mapeamentos de interface 31
Guia o fluxo de interface 32
Controles de interface 34

Pacotes e Cenários 34
Resumo 34
Capítulo 2: Instalação do produto 35
Pré-requisitos 35
Pré-requisitos para o repositório 36
Pré-requisitos para o Oracle Universal Installer 36

www.it-ebooks.info
Índice analítico

Pré-requisitos para o Studio 36


Pré-requisitos para o Agente Autônomo 37
Instalando ODI 11g 37
Dois modos de instalação 37
Criando o repositório com controle remoto 38
Instalando o Studio ODI eo Agente ODI 50
Iniciando o Estúdio ODI pela primeira vez 67
Publicar instalação de parâmetros arquivos de revisão 69
Resumo 70

Capítulo 3: Usando variáveis 71


A definição de variáveis 71
Localização variável e escopo 71
Definições de variáveis 72
Variáveis refrescantes 73
História variável 74
Usando variáveis para informação dinâmica 74
Atribuir um valor a uma variável 75

A definição de um valor embutido 75


Variável de atualização 76
Passado como um parâmetro (Declare Variável) 76
Referenciando variáveis 77
Variáveis em interfaces 77
Variáveis em modelos 79
Variáveis em topologia 80
Usando variáveis para alterar os fluxos de 80
trabalho 80
Pacotes 82
Planos de carga 83
Resumo
Capítulo 4: Fontes ODI, metas e módulos de conhecimento 85
Definir esquemas físicos, esquemas lógicos, e Contextos 86
Definindo servidores de dados físicos 86
Definindo Esquemas físicas 90
Dados esquemas e esquemas de trabalho 90
Definição de esquemas lógicos e Contextos 92
Banco de dados não-tecnologias 94
Engenharia reversa metadados em ODI modelos 100
Padrão de engenharia reversa 101
Personalizado engenharia reversa 102
Arquivo de engenharia reversa 103
XML engenharia reversa 104

[Ii]

www.it-ebooks.info
Índice analítico

Examinar a anatomia do fluxo de interface 105


Exemplo 1: Banco de dados e arquivo de banco de dados 105
Exemplo 2: arquivo e banco de dados para o segundo 108
arquivo 110
Exemplo 3: Arquivo para Enterprise Application 112
Importar e escolher módulos de conhecimento 112
Escolher módulos de conhecimento 114
Importando um Módulo de Conhecimento 115
KMS-Uma rápida olhada sob o capô 117
Comportamento configurar com opções KM 119
Examinando Interfaces ODI 120
Guia Visão Geral 121
Guia Mapeamento 123
Guia Fluxo 125
Quick-guia Editar 126
Resumo

Capítulo 5: Trabalhando com bancos de dados 127


Descrição cenário de exemplo 128
Alvo de Integração 128
Fonte de integração 129
Mapeamentos de integração 129
Fluxo logístico de dados 130
Exercício 1: Construindo a interface Load_Customer 131
Criando a topologia 131
Engenharia reversa de metadados do modelo 141
Movendo os dados usando uma interface ODI 148
Verificação da execução com o Navegador Operador 165
Resumo 175

Capítulo 6: Trabalhando com MySQL 177


O que você pode e não pode fazer com o MySQL 178
Trabalhar com o MySQL 178
Obter e instalar o software 179
Visão geral da tarefa 179
Integrando os dados do produto 180
Produto alvo de dados, fontes e mapeamentos 180
Produtos de logística de fluxo de interface 181
Integração de dados de inventário 182
Alvo de inventário, fontes e mapeamentos 182
Inventário de logística de fluxo de interface 183
Usando MySql com ODI 183
Adicionando o driver JDBC MySQL 184

[Iii]

www.it-ebooks.info
Índice analítico

Expandir a topologia 185


Engenharia reversa revisitado 188
Preparando para mover os dados do produto 190
Usando simulação e execução 197
Movendo os dados de inventário 201
Resumo 209

Capítulo 7: Trabalhando com o Microsoft SQL Server 211


Exemplo: Trabalhar com o SQL Server 211
Visão geral da tarefa 212
Integrar os dados de vendas 212
Fonte 212
Alvo 213
Integrações 213
Cenário de exemplo 215
Expandindo a topologia ODI 215
Configurar a topologia 215
Engenharia reversa metadados do modelo 219
Criação de interfaces e mapeamentos 221
Carga interface de Vendas Pessoa 221
Carga mapeamento Vendas Pessoa 223
Índice de Gestão automática temporária 227
Carga de interface de vendas da região 229
Verificação da execução com o Navegador Operador 232

Executar a carga interface de Vendas Pessoa 232


Verificar e analisar a carga de Vendas resultados Pessoa 233
Verificar e analisar os resultados de carga da região de vendas 236
Resumo 237
Capítulo 8: Integração de dados de arquivos 239
Trabalhando com arquivos simples 240
Escopo 240
Pré-requisitos para arquivos simples 240
Integrar os dados do arquivo em uma tabela Oracle 241
Alvo parceiro de dados, fonte e mapeamentos 241
Parceiro de logística de fluxo de interface 242
Passo-a-passo exemplo 243
Expandindo a topologia para manipulação de 244
arquivos 247
Analisando o Parceirodo projeto
Criação e elaboração 255
Criando a interface para integrar os dados Parceiro 256
Executar a interface 258
Resumo 261

[Iv]

www.it-ebooks.info
Índice analítico

Capítulo 9: Trabalhando com arquivos XML 263


Introdução ao XML 263
Apresentando o ODI driver JDBC para XML 265
ODI e seus XML-driver conceitos básicos 265
Exemplo: Trabalhar com arquivos XML 268
Requisitos e fundo 268
Escopo 269
Visão geral da tarefa 269

A integração de um pedido de compra de um arquivo XML 269


Criação de modelos a partir de arquivos XML 270
Integrando os dados de uma única ordem de compra 270
Solteiro ordem fluxo logístico de interface 272

Cenário de exemplo: Integrando um arquivo simples Ordem de Compra 274


Expandindo a topologia 274
Engenharia reversa metadados 278
Criando a interface 280
Criação de procedimentos 288

Resumo 293
Capítulo 10: Criação de fluxos de trabalho pacotes e planos de carga 295
Pacotes 295
Criando um pacote 295
Incluindo as etapas em um pacote 297
Adicionar ferramentas em um pacote 299
Mudou de captura de dados 299
Detecção de eventos 299
Arquivos 299
Internet 299
Metadados 300
ODI Objetos 300
Plugins 300
SAP 300
Utilitários 300
Adição de ferramentas para um 300
pacote 300
Usando ferramentas ODI

Repetir contra falhar 301


Melhores práticas: Não loop infinito 302
Gerando um cenário de um pacote 302
Planos de carga 303
Passos serial e paralela 304
Objetos que podem ser usados em um Plano de 304
Carga 305
Manipulação de exceção 307
Usando pacotes e planos de carga 307
Resumo

[V]

www.it-ebooks.info
Índice analítico

Capítulo 11: Gestão de Erro 309


Gerenciando erros de dados 310
Detectar e desviar erros de dados 310
Qualidade de dados com restrições ODI 310
ODI prefixo da tabela de erro 313
Conteúdo de uma tabela de erros 314
Usando o controle de fluxo e controle de 314
estática 316
Utilizando os limiares de erro
Corrigindo erros de dados e reciclagem 316
Erros de reciclagem e atualização chaves ODI 318
Gerenciando erros de execução 319
Tratamento de erros esperados 319
Causando um erro deliberado benigna com OdiBeep 320
Manuseio inesperados em tempo de design erros 321
Investigação de erro mais detalhadas no Navigator Operador 322
Manipulação de erros de execução inesperados 324
Tratamento de erros operacionais 326
Resumo 327
Capítulo 12: Gerenciando e monitorando Componentes ODI 329
Agendamento com o Oracle Data Integrator 329
Visão global 330
Ilustrando a programação de interface de utilizador de gestão 332
Usando de terceiros programadores 334
Fusion Middleware console de controle 335
Lançamento e acessar o FMCC 336
Domínio 336
Agente 337
Iniciar e parar 338
Resumo do desempenho 338
Acesse a visibilidade do arquivo e 339
agregação
Visibilidade 339
Agregação 340
Visibilidade repositório 341
Estatísticas de sessão 341
Oracle Data Integrator Console 342
Lançamento e acessar ODI Console 343
Lineage dados 343
Mapa de Fluxo 346
Resumo 347

Capítulo 13: Considerações Finais 349


Índice 351

[Vi]

www.it-ebooks.info
Prefaciar

Oracle Data Integrator-fundo


e história
Oracle tem sido um fornecedor líder de banco de dados, armazenamento de dados, e outros dados
tecnologias de gestão para mais de 30 anos. Mais recentemente, também se tornou um
fornecedora líder de integração baseada em padrões, arquitetura orientada a serviços (SOA)
e Business Process tecnologias de automação (também conhecido como Middleware), Big
De dados e soluções de cloud computing. Tecnologias de integração de dados estão no coração de
todos estes
soluções. Além das soluções técnicas, adotando e utilizando ODI permite que a TI cruzar
o abismo entre os requisitos de negócios e os desafios de integração de dados.

Em julho de 2010, a versão 11gR1 do Oracle Data Integrator foi disponibilizado para
mercado. Oracle Data Integrator 11g (referido no restante do livro como
ODI) é a plataforma Oracle integração estratégica de dados. Raízes tendo desde o Oracle
aquisição da Sunopsis em outubro de 2006, ODI é um mercado de integração de dados líder
solução com recursos heterogêneos sistemas de TI. Oracle tem de forma rápida e
agressivamente investiu em ODI para proporcionar uma abordagem mais fácil de usar e abrangente
Para satisfazer os requisitos de integração de dados dentro de produtos de software da Oracle. Como
resultado, existem dezenas de produtos Oracle, como Hyperion Essbase, Agile PLM,
Processo de AIA pacotes de integração, e Business Activity Monitor (BAM), que são
a criação de um aumento explosivo do uso de ODI dentro de organizações de TI. Se você é
o uso de produtos de software da Oracle e não o ouviram ou utilizados ODI ainda, uma coisa é
Certifique-você em breve!

www.it-ebooks.info
Prefaciar

Este livro não se destina a ser utilizado como referência-livro, é um meio para acelerar
sua aprendizagem de ODI 11g. Ao conceber o livro, o nível superior seguinte
objetivos foram mantidos em mente:

• Para destacar os principais recursos do produto em relação à integração de dados


tarefas (enriquecimento, carga, qualidade e transformação) e da produtividade
alcançado por ser capaz de fazer tanto trabalho com tipos de dados heterogêneos
ao escrever SQL tão pouco

• Para selecionar um cenário de exemplo que foi variado o suficiente para fazer alguma
coisa
útil e cobrir os tipos de fontes de dados e clientes são metas
utilizar com mais freqüência (vários sabores de banco de dados relacional, arquivos
planos
e de dados XML), mantendo-o pequeno o suficiente para proporcionar uma ODI
• experiência
Para garantirdeque,
aprendizagem
sempre queacelerada
possível dentro de nossos exemplos, vamos examinar o
novo
características e funcionalidades introduzidas com a versão 11g-primeira versão
de ODI arquitetado, projetado e implementado como parte do Oracle

Cenários de uso de dados de integração


Como visto na figura a seguir, não importa o aspecto do que você trabalhar, todos temos
um elemento comum entre elas, isto é, Integração de Dados. Todo mundo quer seu
informação acessível, up-to-date, consistente e confiável.

MDM

DWH / BI

Dados Grande
Integração Dados

SOA

Apps

[2]

www.it-ebooks.info
Prefaciar

Armazéns de dados e BI
Antes que você pode montar as métricas avançadas de relatórios exigidos pelos diferentes
entidades de sua empresa, você terá que consolidar, racionalizar e organizar
os dados. Sistemas operacionais estão muito ocupados servir os seus clientes a ser sobrecarregada
por consultas de relatórios adicionais. Além disso, eles são optimizados para servir a sua
aplicações não-para fins de análise e relatórios.

Os armazéns de dados muitas vezes são projetados para suportar os requisitos de relatórios.
Integração de dados de sistemas operacionais para armazéns de dados tem tradicionalmente
sido a razão principal para o investimento em tecnologias de integração: díspares e
sistemas heterogêneos armazenar dados críticos que devem ser consolidadas; estruturas de dados
têm de ser transpostas e reorganizada. Data Integrator não é excepção à regra
e, definitivamente, tem um papel importante nestas iniciativas.

Ao longo deste livro, vamos abordar os casos de integração de dados que são típicas de
requisitos de integração encontrados em um ambiente de armazenamento de dados.

Arquitetura orientada a serviços (SOA)


Arquitetura orientada a serviços incentiva o conceito de virtualização de serviços. Como
conseqüência, a localização física real de que os pedidos de dados são resolvidos é de
menos preocupação para os consumidores de serviços baseados em SOA. As implementações SOA
dependem
em grandes quantidades de dados a ser processados de modo a que os serviços construído no topo
do
dados podem servir a informação apropriada. ODI desempenha um papel crucial em muitos SOA
implementações como Ele integra perfeitamente com serviços web. Não estamos focando
as especificidades de serviços web neste livro, mas toda a lógica de movimentação de dados e
transformações que ODI iria realizar quando se trabalha em um ambiente SOA
permaneceria a mesma que as descritas no livro.

Aplicações
Mais e mais aplicativos têm suas próprias necessidades em termos de dados
integração. Como tal, cada vez mais aplicações utilizar uma ferramenta de integração de dados
para efectuar todas estas operações: os fluxos gerados um melhor desempenho, são mais fáceis de
criar e de manter. Não deve ser nenhuma surpresa então que ODI é usado sob o
capas de dezenas de aplicações. Em alguns casos, o código ODI é visível e pode
ser modificada pelos utilizadores das aplicações. Em outros casos, o código está operando
"Por trás das cenas" e não se torna visível.

[3]

www.it-ebooks.info
Prefaciar

Em todos os casos, porém, as melhores práticas de desenvolvimento mesmo, e as regras de design


são
aplicada. Para a maior parte, os desenvolvedores de aplicativos irá usar as mesmas técnicas e
melhores práticas ao utilizar ODI. E se você tem que personalizar essas aplicações, o
lições aprendidas com este livro será igualmente útil.

Master Data Management


A justificativa para Master Data Management (MDM) é soluções para normalizar os dados
definições. Tomemos o exemplo de referências de clientes de uma empresa, por exemplo.
O aplicativo de vendas tem uma definição para os clientes. O aplicativo tem suporte
sua própria definição, assim como a aplicação financeira, bem como a aplicação de envio. O
objetivo do MDM soluções é fornecer uma definição única de informação, de modo
que todas as entidades de referência os mesmos dados (versus cada uma com sua própria definição).
Mas a troca e transformação de dados a partir de um ambiente para o outro pode
só pode ser feito com uma ferramenta como o ODI.

Big Data
A explosão de dados na era da informação está oferecendo novos desafios para a TI
organizações, muitas vezes referenciado como Big Data. As soluções para Big Data muitas vezes
dependem
no processamento distribuído para reduzir a complexidade do processamento de volumes gigantescos
de dados. Delegar e distribuir processamento é o que faz com a sua ODI ELT
arquitetura. Como projetos de implementação de novos concebido, ODI está pronto para
subscrever as novas infra-estruturas. Nós não vamos olhar para implementações de Big Data
com ODI neste livro, mas você tem que saber que está pronto para ODI Big Data
integração como de seu lançamento 11.1.1.6.

O que este livro cobre


O objetivo número um deste livro é fazer com que você familiar, confortável e bem sucedida
com o uso de Oracle Data Integrator 11gR1. Para conseguir isto, a maior parte do livro
é um conjunto de hands-on passo-a-passo tutoriais que construir um processamento de ordem não-
trivial
solução que você pode correr, testar, monitorar e gerenciar.
Capítulo 1, Visão geral do produto, você fica até a velocidade rapidamente com o produto 11g ODI
e terminologia examinando o ODI arquitetura do produto 11g e conceitos.

Capítulo 2, instalação do produto, fornece as instruções necessárias para o sucesso


download, instalação e configuração de ODI 11g.

[4]

www.it-ebooks.info
Prefaciar

Capítulo 3, utilizando variáveis, é um capítulo que pode ser lido fora de seqüência. Abrange
variáveis em ODI, um conceito que vai permitir que você tenha um código muito dinâmico. Iremos
mencionar variáveis nos capítulos posteriores, portanto, ter esta referência precoce pode ajudar.

Capítulo 4, Fontes ODI, metas e módulos de conhecimento, é uma introdução geral ao


as principais características do ODI Studio. Ele também irá explicar como eles são mapeados para
conceitos fundamentais
e atividades de tarefas de integração de dados, tais como fontes, metas e como os dados fluem
entre eles.
Capítulo 5, Trabalhando com bancos de dados, é o primeiro capítulo que vai mostrar como usar
ODI Studio para trabalhar com bancos de dados: como se conectar a bancos de dados, como
engenharia reversa de metadados, como projetar transformações, e como rever
as execuções. Este capítulo especificamente concentrar-se em conexão com o Oracle
bases de dados, e será uma linha de base para os capítulos 6-9.

Capítulo 6, Trabalhando com o MySQL, introduz os requisitos de se trabalhar com


uma tecnologia diferente: MySQL. Vamos expandir sobre as técnicas abordadas no
capítulo anterior, com uma descrição de como incorporar a junta, pesquisas, e
agregações nas transformações.

Capítulo 7, Trabalhando com o Microsoft SQL Server, irá expandir os exemplos com utilização
de ainda outro banco de dados, desta vez Microsoft SQL Server. Incidirá sobre possível
alteração de transformações: É o código executado na fonte, área de preparação ou
alvo? Ao fazer essas escolhas, onde está o código gerado no operador?
Nós também detalhará como aproveitar o editor de Expressão ODI para escrever o
transformações, e como ter ODI criar um índice temporário para melhorar ainda mais
integração de desempenho.

Capítulo 8, Integração de dados de arquivos, introduzirá a noção de arquivos simples e incidirá


sobre as diferenças entre arquivos simples e bancos de dados.

Capítulo 9, trabalhar com arquivos XML, vai se concentrar em um tipo específico de arquivo, que é
XML
arquivos. Este capítulo irá mostrar como é fácil com ODI para analisar arquivos XML com
padrão consultas SQL.
Capítulo 10, criando fluxos de trabalho-pacotes e planos de Carga, irá mostrar-lhe como
orquestrar o seu trabalho e ir além do básico de integração.

Capítulo 11, Gerenciamento de erro, vai explorar em profundidade o tema da gestão de erro:
dados de erro contra erros de processo, como prendê-los, e como lidar com eles.

Capítulo 12, gerir e monitorizar componentes ODI, terminará com a


aspecto de gestão dos processos, especialmente no que diz respeito ao agendamento para
dos postos de trabalho criados com ODI.

[5]

www.it-ebooks.info
Prefaciar

Se não é óbvio pelo tempo que você terminar de ler este livro, realmente gosto ODI
11gR1. Esses sentimentos foram ganhos por escolhas de arquitetura sólida e uma
nível de investimento que permite que a inovação floresça-de agrupamento novo agente
e recursos de gerenciamento de integração com qualquer tamanho de sistema, incluindo o
maiores armazéns de dados usando o Oracle, o Exadata, Teradata, e outros a partir de arquivos
de dados na memória cache.

O que você precisa para este livro


Se você quiser seguir os exemplos em seu próprio ambiente, você vai precisar de:
• Oracle Data Integrator 11g

• Banco de dados Oracle (10g ou 11g)


• Microsoft SQL Server (2005 ou 2008)
• MySQL 5 e superior
• RCU (Oracle Utilitário de criação de repositório) e Java 1.6
(Necessário para o Oracle Universal Installer que instala ODI)

Quem este livro é para


Este livro é destinado para aqueles que estão interessados, ou responsável, o conteúdo,
frescor, de movimento, acesso, ou a integração com os dados. Papéis de trabalho que são um provável
coincidir com os desenvolvedores incluem ETL, Especialistas de Data Warehouse, Business
Intelligence
Analistas, administradores de banco de dados, programadores de banco de dados, Enterprise ou
dados
Arquiteto, entre outros.
Os interessados em, ou responsável, data warehouses, data marts, dados operacionais
lojas, relatórios e servidores analíticos, dados em massa de carga / movimento / transformação, real-
tempo de Business Intelligence, e / ou MDM vai encontrar este material de interesse particular.

Nenhum conhecimento ou experiência prévia com o Oracle Data Integrator é necessário ou


assumido. No entanto, pessoas com experiência em programação com SQL ou desenvolvimento
Processos de ETL com outros produtos vai entender melhor como alcançar o mesmo
tarefas, espero ser mais produtivas e com melhor desempenho.

Que este livro não é para


Este livro não é para alguém que procura um tutorial sobre SQL e / ou relacionais
conceitos de banco de dados. Não é um livro sobre recursos avançados do ODI, ou avançado
técnicas de integração usando ODI.

[6]

www.it-ebooks.info
Prefaciar

Convenções
Neste livro, você vai encontrar uma série de estilos de texto que distinguir entre
diferentes tipos de informação. Aqui estão alguns exemplos desses estilos, e uma
explicação do seu significado.

Palavras de código no texto são mostrados como segue: "Nós vamos ser a integração de
dados para o
PURCHASE_ORDER tabela no data mart ".
Um bloco de código é definido da seguinte
forma:
<? Versão xml = "1.0" encoding = "UTF-8">
<Building>
<StreetAddr> 32 Lincoln Road </ StreetAddr>
<Locality> Olton </ Localidade>
<Cidade> Birmingham </ Cidade>
<StateOrProv> West Midlands </ StateOrProv>
<PostCode> B27 6PA </ código postal>
<CountryCode> 44 <CountryCode />
<Construção />

Qualquer entrada de linha de comando ou a saída é escrita da seguinte


forma:
OdiFileCopy-file = c :/ po/input/order_20001.xml
-ToFile = c :/ po / input / single_po.xml-CASESENS = yes

Novos termos e palavras importantes são mostradas em negrito. Palavras que você vê na
tela, em menus ou caixas de diálogo, por exemplo, aparecem no texto como este: "Avançar
nós clique no ícone de navegação para a direita do Url JDBC campo para abrir a URL
exemplos diálogo ".

Avisos ou notas importantes aparecem em uma caixa como esta.

Dicas e truques aparecer assim.

[7]

www.it-ebooks.info
Prefaciar

Leitor de feedback
O feedback dos nossos leitores é sempre bem vinda. Deixe-nos saber o que você pensa
Neste livro, o que você gostou ou pode ter detestado. Feedback do leitor é importante para
nos a desenvolver títulos que você realmente obter o máximo de.

Para enviar-nos um feedback geral, basta enviar um e-mail para feedback@packtpub.com,


e mencionar o título do livro através do tema da sua mensagem.

Se há um tema que você tem experiência em e você está interessado em qualquer redação
ou contribuir para um livro, consulte o nosso guia sobre autor www.packtpub.com / autores.

Suporte ao cliente
Agora que você é o orgulhoso proprietário de um livro de Packt, temos uma série de coisas para
ajudá-lo a obter o máximo de sua compra.

Errata
Apesar de ter tomado todos os cuidados para garantir a precisão do nosso conteúdo, os erros
fazer acontecer. Se você encontrar um erro em um dos nossos livros, talvez um erro no texto ou
o código-ficaríamos muito gratos se você iria relatar isso para nós. Ao fazer isso, você pode
salvar outros leitores de frustração e nos ajudar a melhorar versões posteriores deste
livro. Se você encontrar alguma errata, informe-los visitando http://www.packtpub.
com.br / apoio, A seleção de seu livro, clicando no formulário de apresentação de errata link, e
inserir os detalhes de suas errata. Uma vez que seus errata são verificados, a submissão do seu
serão aceitas e as erratas serão enviados para o nosso site, ou adicionado a qualquer lista
de errata existentes, sob a seção Errata desse título.

[8]

www.it-ebooks.info
Prefaciar

Pirataria
A pirataria de material com direitos autorais na Internet é um problema constante em todas as mídias.
No Packt, tomamos a proteção de nossos direitos autorais e licenças muito a sério. Se você
deparar com as cópias ilegais de nossos trabalhos, de qualquer forma, na internet, por favor
nos fornecer o endereço de localização ou nome do site imediatamente para que possamos
buscar uma solução.

Por favor, entre em contato conosco copyright@packtpub.com com um link para o suposto
material pirateado.

Agradecemos a sua ajuda na proteção de nossos autores, e nossa capacidade de trazer


você um conteúdo valioso.

Questões
Você pode contatar-nos em questions@packtpub.com se você está tendo um problema
com qualquer aspecto do livro, e nós faremos nosso melhor para resolver isso.

[9]

www.it-ebooks.info
www.it-ebooks.info
Visão geral do produto
O objetivo do ETL (Extract, Carregar, Transform) ferramentas é ajudar com a consolidação
de dados que está disperso por todo o sistema de informação. Os dados são armazenados na díspar
aplicações, bancos de dados, arquivos, sistemas operacionais e em formatos incompatíveis. O
consequências de uma tal dispersão de uma das informações pode ser terrível, por exemplo, diferente
unidades de negócios que operam em dados diferentes irá mostrar resultados conflitantes e informações
não pode ser compartilhado entre diferentes entidades do mesmo negócio.

Imagine o departamento de marketing de relatórios sobre o sucesso de sua última campanha


enquanto o departamento financeiro reclama de sua falta de eficiência. Ambos têm
números para fazer backup de suas afirmações, mas os números não correspondem!

O que poderia ser pior do que um departamento de expedição que se esforça para compreender
pedidos de clientes, ou de um departamento de suporte que não pode confirmar se um cliente
é atual com o seu / sua pagamento e deve realmente receber apoio? Os exemplos
são infinitas.

A única maneira de ter uma visão centralizada das informações é consolidar a


dados se está em um armazém de dados, uma série de data marts ou normalizando
os dados em aplicações com Master Data Management (MDM) soluções. ETL
ferramentas geralmente entram em jogo quando um grande volume de dados tem de ser trocado
(como
oposição a infra-estruturas Arquitetura Orientada a Serviços, por exemplo, o que faria
ser mais transação com base).

Nos primeiros dias de ETL, bancos de dados tiveram funções de transformação muito fracos. À parte
de usar uma inserção ou uma instrução select, SQL é uma linguagem relativamente limitado. Para
executar trabalhos pesados, complexos transformações, fornecedores juntos transformação
plataformas-as ferramentas de ETL.

www.it-ebooks.info
Visão geral do produto

Com o tempo, a linguagem SQL evoluiu para incluir transformação mais e mais
capacidades. Agora você pode ir tão longe como lidar com hierarquias, manipulação de XML
formatos, usando funções analíticas, e assim por diante. Não é por acaso que 50 por cento dos
as implementações de ETL existentes hoje são feitas em SQL simples scripts-SQL
torna possível.

Este é o lugar onde o ODI ELT arquitetura (Extract Transform-Load-a inversão


na sigla não é um erro) entra em jogo. O conceito é que com ELT
em vez de extrair os dados a partir de uma fonte, transformando-o com um dedicado
plataforma, e depois carregar no banco de dados alvo, você vai extrair do
carga de origem, no destino, em seguida, transformar-se em banco de dados destino, alavancando
SQL para as transformações.

Extrair
Extraia / Carregar

Fonte Fonte
Transformar
Transformar

Carregar

ETL
Fonte Plataforma Alvo Fonte
Alvo

ARQUIVOS ARQUIVOS

Em certa medida, ETL e ELT são siglas de marketing. Quando você olha para ODI
por exemplo, é possível realizar transformações no lado da fonte, bem como sobre o
lado do alvo. Você pode também dedicar algum banco de dados ou esquema para o preparo e
transformação de seus dados, e pode ter algo mais semelhante a um ETL
arquitetura. Da mesma forma, algumas ferramentas de ETL todos têm a capacidade de gerar
código SQL
e para empurrar algumas transformações ao nível base de dados.

[12]

www.it-ebooks.info
Capítulo 1

As principais diferenças, em seguida, para uma arquitectura ELT verdadeiros são


como se segue:
• A capacidade de gerenciar dinamicamente uma área de teste (localização,
conteúdo,
gerenciamento automático de alterações da tabela)
• A capacidade de gerar código em sistemas de origem e destino da mesma forma, na
mesma transformação

• A capacidade de gerar SQL nativo para qualquer banco de dados sobre o mercado mais-
Ferramentas ETL irá gerar o código para os seus próprios motores, e então traduzir isso
código para o banco de dados, daí a limitação a sua capacidade de geração de sua
capacidade de converter conceitos de propriedade

• A capacidade de gerar DML e DDL, e para orquestrar sequências de


operações sobre os sistemas heterogéneos

De certa forma, o objectivo de uma ferramenta de ELT é fornecer o conforto de uma interface gráfica
com todas as funcionalidades das tradicionais ferramentas de ETL, para manter a eficiência do SQL
codificação baseada em conjunto com o processamento de dados no banco de dados, e limitando a
sobrecarga
de mover dados de um lugar para outro.
Neste capítulo, vamos nos concentrar na arquitetura do Oracle Data Integrator 11g, como
bem como os conceitos-chave do produto. Os tópicos iremos cobrir são os seguintes:

• Os elementos da arquitetura, ou seja, o repositório, o estúdio, os


Agentes, Console, e integração do Oracle Enterprise Manager

• Uma introdução aos conceitos-chave, ou seja, contextos de execução do Conhecimento,


Módulos, Modelos, interfaces, pacotes, Cenários e Planos de carga

ODI produto arquitetura


Desde ODI é uma ferramenta de ELT, não requer nenhuma outra plataforma que a origem eo
destino
sistemas. Mas ainda são componentes ODI a serem implantados: vamos ver nesta
seção que estes componentes são e onde devem ser instalados.
Os componentes da arquitectura ODI são os seguintes:

• Repositório: Este é o lugar onde todas as informações tratadas por ODI é armazenado,
ou seja, detalhes da conectividade, metadados, regras de transformação e cenários,
código gerado, os logs de execução, e as estatísticas.

• Estúdio: O Studio é a interface gráfica do ODI. É usado por


administradores, desenvolvedores e operadores.

[13]

www.it-ebooks.info
Visão geral do produto

• Agentes: Os agentes podem ser vistos como orquestradores para o movimento de dados e
transformações. Eles são muito leves componentes java que não
exigir a sua própria servidor vamos ver em detalhes onde podem ser instalados.

• Console: O Console é uma ferramenta web que permite aos usuários navegar na ODI
repositório, mas não é uma ferramenta usada para desenvolver novas transformações. Pode
ser utilizado por operadores que rever a execução de código, e iniciar ou reiniciar
processos, conforme necessário.

• O Oracle Enterprise Manager plugin para o ODI integra o monitoramento de


Componentes ODI diretamente em OEM para que os administradores podem consolidar
o monitoramento de todos os seus produtos Oracle em uma única interface gráfica.

Em um nível alto, aqui é a forma como os diferentes componentes da arquitetura


interagir um com o outro. Os administradores, desenvolvedores e operadores
normalmente trabalham com o Estúdio ODI em sua máquina (operadores também têm a
capacidade de usar o console para um ambiente mais leve). Todos os Estúdios
geralmente se conecta a um repositório compartilhado, onde todos os metadados são
armazenados. Em
tempo de execução, o agente ODI recebe ordens de execução (a partir do Studio, ou qualquer
externa planejador, ou através de uma chamada Web Service). Neste ponto, ele se conecta ao
repositório, recupera o código para executar, acrescenta parâmetros de última hora, onde
necessária (elementos como seqüências de conexão, nomes de esquema onde os dados
reside, e assim por diante), e envia o código para as bases de dados para a execução. Uma vez
que o
bancos de dados que tenham firmado o código, o agente atualiza o repositório com o
estado da execução (com sucesso ou não, juntamente com qualquer mensagem de erro
relacionado)
e as estatísticas relevantes (número de linhas, o tempo para processar, e assim por diante).

Repositório
Fonte Enviar Código

Da Leitura / Gravação
ta
Armazenar
Agente -Metadados
-Transformação regras
Dados -Logs
Fonte Alvo
Enviar Código

ta ODI
Da Estúdio

ARQUIVOS

[14]

www.it-ebooks.info
Capítulo 1

Agora vamos olhar para os detalhes de cada componente.

ODI repositório
Para armazenar todas as suas informações, ODI requer um repositório. O repositório é por padrão um
par de esquemas (chamado Master e repositórios de trabalho) armazenados em um banco de dados.
A menos que
ODI está sendo executado de uma forma quase em tempo real, de forma contínua geração de código
SQL para
as bases de dados para executar o código, não há necessidade de dedicar um banco de dados para o
ODI repositório. A maioria dos clientes a aproveitar as instalações do banco de dados existentes,
mesmo se
eles criam uma tabela específica para ODI.
Visão geral repositório
O único elemento que você nunca vai encontrar no repositório são os dados reais processados
por ODI. Os dados estarão na origem e de destino, e será movida
diretamente da origem para o destino. Este é um elemento chave da arquitetura ELT. Todas as outras
elementos que são manipulados através de ODI são armazenados no repositório. Uma maneira fácil
lembrar-se que isto é tudo o que é visível no estúdio ODI é armazenado no
repositório (exceto, é claro, para os dados reais), e tudo o que é salvo no
ODI Studio é realmente salvos no repositório (novamente, exceto para os dados reais).

O repositório é feito de duas entidades que podem ser separadas em duas partes separadas
esquemas de banco de dados, ou seja, o repositório mestre eo repositório de Trabalho.

Topologia
Mestre Segurança

Modelos
Trabalhar Projetos Trabalhar
(Dev) Logs (Exec)
Logs

Vamos olhar para cada uma delas com mais detalhes mais tarde, mas por agora você pode considerar
que o repositório mestre irá hospedar dados confidenciais enquanto o repositório trabalho será
hospedar relacionados ao projeto de dados. Uma versão limitada do repositório de trabalho pode ser
utilizado em
ambientes de produção, onde o código fonte não é necessário para a execução.

[15]

www.it-ebooks.info
Visão geral do produto

Local do repositório
Antes de entrar nos detalhes dos repositórios de mestre e de trabalho, vamos olhar primeiro para
onde instalar o repositório.

O repositório é normalmente instalado em um banco de dados existente, muitas vezes em separado


tablespace. Mesmo que ODI é um produto da Oracle, o repositório não precisa
ser armazenado em um banco de dados Oracle (mas que não usaria o melhor banco de dados no
mundo?). De modo geral, os bancos de dados suportados para o repositório ODI são
Oracle, Microsoft SQL Server, IBM/DB2 (LUW e iSeries), Hypersonic SQL, e
Sybase ASE. Versões específicas e plataformas para cada banco de dados são publicados por
Oracle e estão disponíveis em:

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-
certificação 100350.html-.

É comum ver a parte de repositório do sistema mesmo que o banco de dados destino.

Vamos agora olhar para as especificidades de repositórios de Mestrado e Trabalho.

Mestre repositório
Como afirmado anteriormente, o repositório mestre é onde os dados sensíveis serão armazenados.
Esta informação é um dos seguintes tipos:

• Todas as informações que dizem respeito a privilégios de usuários ODI será salvo
aqui. Esta informação é controlado pelos administradores através da Segurança
Navigator of the Studio ODI. Vamos saber mais sobre este navegador quando
olharmos para os detalhes do Studio.

• Toda a informação que pertence a conectividade para os diferentes sistemas


(Origens e destinos), e em especial os nomes de usuário necessárias e
senhas, serão armazenados aqui. Esta informação será gerido por
administradores através do Navigator topologia.

• Além disso, sempre que um desenvolvedor cria várias versões de um mesmo objeto,
as novas versões dos objetos são armazenados no repositório mestre.
Controle de versão é normalmente acessada a partir do Navigator Designer.

[16]

www.it-ebooks.info
Capítulo 1

Repositório de trabalho
Repositórios de trabalho irá armazenar todos os dados que são necessários para os desenvolvedores
para projetar
suas transformações de dados. Todas as informações armazenadas no repositório de trabalho é
gerida através do Navigator Designer e Operador Navigator. A Obra
repositório contém os seguintes componentes:
• Os metadados que representa a origem eo destino mesas, arquivos, aplicações,
ônibus da mensagem. Estes serão organizados em Modelos no Navegador Designer.

• As regras de transformação e regras de movimentação de dados. Estes serão organizados


em Interfaces no Navegador Designer.

• Os fluxos de trabalho destinados a orquestrar as transformações e dados


movimento. Estes são organizados em pacotes e planos de carga no
Navegador Designer.

• Os trabalhos de horários, se o agente ODI é usado como o planejador para o


tarefas de integração. Estes podem ser definidos no Navegador Designer
ou no Navigator Operador.

• Os logs gerados pelo ODI, onde o código gerado pode ser revisto,
juntamente com estatísticas de execução e status das execuções diferentes
(Corrida, feito com sucesso ou no erro, na fila, e assim por diante). Os logs
são acessados a partir do Navegador Operador.

Repositório de execução
Em um ambiente de produção, a maioria dos clientes não precisa expor a fonte
código para os processos que estão em execução. Alterações dos processos que correm
em produção terá que passar por um ciclo de testes de qualquer maneira, então por armazenar o
código fonte onde um nunca acessá-lo? Para este efeito, propõe um ODI
repositório de execução que apenas armazena os metadados operacional, ou seja, gerados
código, os resultados da execução, e estatísticas. O tipo de repositório de Trabalho (execução ou
desenvolvimento) é selecionado no momento da instalação. Um repositório de trabalho não pode ser
convertida
de desenvolvimento para a execução ou execução para a instalação de desenvolvimento de uma nova
vontade
ser necessária se uma conversão é necessária.

[17]

www.it-ebooks.info
Visão geral do produto

Ciclo de gestão e repositórios


Nós agora sabemos que haverá diferentes tipos de repositórios. Todas as empresas
equipes de desenvolvimento de aplicativos têm mais de um ambiente a considerar. O
desenvolvimento de código em si ocorre em um ambiente de desenvolvimento, a validação de
a qualidade do código é tipicamente feito num ambiente de teste, e a produção
ambiente próprio terá de ser separado a partir destes dois. Algumas empresas vão adicionar
camadas adicionais neste ciclo de vida, com a consolidação de código (se os desenvolvedores têm
remotas
de combinar código juntos), a aceitação do usuário (certificando-se de que o código está em
conformidade
ao usuário expectativas), e pré-produção (certificando-se de que tudo funciona como
esperado, num ambiente que imita perfeitamente o ambiente de produção).

Mestre

Versão Restaurar a partir de


gestão Gerenciamento de versão

Trabalhar Trabalhar Trabalhar


(Dev) XML / exportação (Exec) XML / exportação(Exec)
importar importar

Em todos os casos, cada ambiente terá tipicamente um repositório de trabalho dedicado. O


Mestre repositório pode ser um recurso compartilhado, desde que nenhuma barreira rede impede
acesso a partir de mestre para trabalhar repositório. Se o ambiente de produção está por trás
uma firewall, por exemplo, depois de um repositório mestre dedicado será necessário para o
ambiente de produção.

XML / exportação
importar
MasterF Mestre
Eu
Versão R
gestão Restaurar E
W
A
L
Trabalhar
Trabalhar L Trabalhar
(Dev) XML / exportação(Exec) XML / exportação (Exec)
importar importar

[18]

www.it-ebooks.info
Capítulo 1

A troca de metadados entre repositórios pode ser feito em um dos


das seguintes maneiras:

• Os metadados podem ser trocadas através de versões. Todas as diferentes versões


os objetos são enviados para o repositório mestre automaticamente pelo ODI como
eles são criados. Essas versões podem mais tarde ser restaurado para um trabalho
diferente
repositório ligado ao repositório mesmo Mestre.
• Todos os objetos podem ser exportados como arquivos XML e arquivos XML pode ser usado
para importar
os objetos exportados para o novo repositório. Esta será a única opção se um
firewall impede a conectividade diretamente para um repositório mestre central.
Nas representações gráficas mostrado anteriormente, o repositório é mais à esquerda
obviamente, o nosso repositório de desenvolvimento, eo repositório à direita é o
repositório de produção. Por que estamos usando uma execução para o ambiente de teste?
Há duas razões para isso. Eles são como se segue:

• Não há nenhum ponto em ter o código-fonte no repositório de teste, a fonte


código sempre pode ser recuperada a partir dos mecanismos de versão.

• O ensaio não deve ser limitado à validação dos artefactos forjadas


pelos desenvolvedores, o processo de migração para a produção também deve
ser validado. Por ter a mesma configuração para o nosso ensaio e produção
ambientes, podemos garantir que o processo de ir de um desenvolvimento
repositório para um repositório de execução foi validado também.

Estúdio
O Studio ODI é a interface gráfica fornecida a todos os usuários a interagir com ODI.

As pessoas que precisam usar o Studio normalmente instalar o software em seu próprio
máquina e conectar a um repositório compartilhado. A única exceção seria quando
o repositório não estiver na mesma rede local como o Studio. Nesse caso, a maioria dos clientes
utilização de tecnologias de serviço remoto de terminais para garantir que o Studio é local para o
repositório (LAN mesmo). Apenas a exibição real é, então, enviada através da WAN.

[19]

www.it-ebooks.info
Visão geral do produto

O Studio inclui quatro navegadores que são normalmente utilizados por diferentes usuários quem pode
compartilhar os mesmos objetos e do mesmo repositório. Alguns usuários podem não ter acesso a
alguns navegadores, dependendo seus perfis de segurança. Os navegadores são como se segue:

• Segurança Navigator: Este navegador é normalmente usado pelo sistema


administradores, administradores de segurança e DBAs. Através desta interface,
eles podem atribuir funções e privilégios para os diferentes utilizadores, assegurando que
eles só podem ver e modificar os objetos que eles estão autorizados a manipular.

• Topologia Navigator: Este navegador é normalmente restrita aos DBAs e


Os administradores de sistema. Através desta interface, declaram os sistemas de
onde residem os dados (fontes, metas, referências, e assim por diante), juntamente com
as credenciais que ODI vai usar para se conectar a estes sistemas. Desenvolvedores
e operadores irá alavancar as informações armazenadas no repositório, mas
não necessariamente têm o direito de modificar, ou mesmo ver essas informações.
Eles serão fornecidos com um nome para as ligações e isso é tudo o que eles
vai precisar. Vamos ver isso com mais detalhes quando nos dirigimos esquemas lógicos.

[20]

www.it-ebooks.info
Capítulo 1

• Designer Navigator: Este navegador é usado por desenvolvedores e dados


guardiões da mesma forma. Metadados são importados e enriquecido através deste
navegador. Os metadados é então usado para definir as transformações
em objetos chamado Interfaces. As interfaces estão finalmente orquestrada em
fluxos de trabalho chamados pacotes.

[21]

www.it-ebooks.info
Visão geral do produto

• Navegador do operador: Este navegador é usado por desenvolvedores e operadores.


Em um ambiente de desenvolvimento, os desenvolvedores irão utilizar o Operador vista para
verificar o código gerado pelo ODI, para depurar as suas transformações, e para
validar e entender o desempenho de seus empreendimentos. Numa produção
ambiente, os operadores usar esse navegador mesmo para ver quais processos são
execução, para verificar se os processos são bem sucedidos ou não, e para verificar a
o desempenho dos processos que estão sendo executados.

Agente
O Agente ODI é o componente que irá orquestrar todas as operações. Se o código SQL
deve ser executada por um banco de dados (origem ou destino), o agente irá se conectar ao que
banco de dados e enviar o código (DDL e DML, conforme necessário) para que o banco de dados para
realizar as transformações. Se utilitários deve ser utilizado como parte das transformações
(Ou, mais provavelmente, como parte da transmissão de dados), então o agente irá gerar qualquer que
seja
arquivos de configuração ou arquivos de parâmetros são necessários para o utilitário, e vai invocar esta
utilitário com o apropriado parâmetros-SQL Loader, BCP, Multiload, e NZload
são apenas uma pequena lista de utilitários tais.

Existem dois tipos de agente ODI, ou seja, o agente autônomo (disponível em todos os
lançamentos de ODI) eo agente JEE (disponível com ODI 11g e depois) que funciona em
topo do WebLogic Server. Cada tipo tem suas próprias vantagens, e ambos os tipos de agentes
podem co-existir no mesmo ambiente:

• O agente JEE vai aproveitar Weblogic em termos de alta disponibilidade


e partilha das conexões.

[22]

www.it-ebooks.info
Capítulo 1

• Os agentes independentes estão muito leve e pode ser facilmente instalado em qualquer
plataforma. Eles são pequenos aplicativos Java que não requerem um servidor.

Uma configuração comum é a utilização do agente JEE como um "Master" agente, cuja única
propósito é distribuir pedidos de execução através de agentes de várias crianças. Estes
as crianças podem muito bem ser os agentes autônomos. O agente principal vai saber de tudo
vezes que as crianças são para cima ou para baixo. O agente principal também vai equilibrar o
carga entre todos os agentes da criança.

Em um ambiente independente puro, o agente é muitas vezes instalado no servidor de destino.


Agentes também são muitas vezes instalados em servidores de arquivos, banco de dados onde podem
alavancar
carregar utilitários para carregar dados em massa em sistemas de destino. Balanceamento de carga
também pode
ser feito com um agente principal independente. Múltiplos agentes autônomos podem ser executados
no
mesmo servidor, desde que cada um deles tem uma porta dedicada. Este número de porta é definida
O
noagente podede
navegador receber ordens
topologia, deoexecução
onde de diferentes
agente está definida. origens, como segue:

• Execução do Estúdio: Quando um utilizador executa um processo de


o estúdio, ele / ela é solicitado o nome do agente que irá
ser responsável pela execução.

• Execução a partir do Console: Da mesma forma que a execução Studio, a pessoa


solicitando a execução de um processo terá que escolher o agente responsável.

• Execução de uma linha de comando: Neste caso, será iniciado um ODI dedicado
sessão do agente, limitado à execução do processo que é passada como
um parâmetro. O script para ser usado para iniciar um processo de uma linha de comando é
startscen.bat no Windows ou startscen.sh no Unix. Este script pode ser
encontrado sob o / Bin diretório no caminho de instalação do agente.

• Execução de um serviço web: ODI 10g oferecido esse recurso, mas exigiu um
dedicado configuração. ODI 11g oferece esse recurso como parte da implantação do agente.
Todos os agentes de suporte de serviços web para iniciar os processos. Para um agente
autônomo,
conectar ao agente via HTTP para ver o WSDL associado. Por exemplo, a
se o agente está sendo executado em odi_dev servidor na porta 20910, a WSDL pode ser
encontrado nesta máquina muito menos http://odi_dev:20910/oraclediagent/
OdiInvoke? Wsdl.

O nome da aplicação de um agente independente será sempre oraclediagent.


Os clientes que utilizam um agente JEE vai usar o nome do aplicativo para o Agente ODI.

• Horários: ODI Se os processos ODI são programados dentro ODI (a partir de


o navegador de operador ou o navegador Designer), então a programação em si
está associado a um agente. Ou as programações serão enviados para o
agente por um administrador, ou o agente irá atualizar sua lista de horários
quando ele é reiniciado.

[23]

www.it-ebooks.info
Visão geral do produto

Console
O Console é uma interface HTML para o repositório. O Console é instalado em um
WebLogic Server (outros servidores de aplicativos serão apoiados com versões posteriores
do produto).

O console pode ser usado para navegar no repositório, mas não há novos desenvolvimentos
podem
ser criado através desta interface.

[24]

www.it-ebooks.info
Capítulo 1

O Console é útil para visualizar linhagem e análise de impacto, sem ter o


Estúdio completo instalado em uma máquina. Os operadores também podem executar a maioria das
tarefas que
iria realizar com o Studio, incluindo iniciar ou reiniciar processos.

A informação exata que está disponível no Navegador Operador do estúdio vai


ser encontrado na vista correspondente do Console: código gerado, estatísticas de execução,
e status dos processos executados estão todos disponíveis.

[25]

www.it-ebooks.info
Visão geral do produto

Oracle Enterprise Manager


Como parte da consolidação de recursos de todas as linhas de produtos da Oracle, agora ODI
integra com WebLogic Enterprise Manager.

Os administradores podem agora usar uma única ferramenta (OEM) para monitorar a saúde geral do
seu ambiente, incluindo ODI agentes e processos ODI.

Conceitos-chave ODI
Compreender conceitos-chave em ODI irá ajudar os desenvolvedores a tirar proveito da
interface gráfica e melhorar ainda mais a sua produtividade. Em nenhuma ordem específica,
vai agora rever as noções de contextos de execução, módulos de conhecimento, Modelos,
Interfaces, pacotes e cenários.

[26]

www.it-ebooks.info
Capítulo 1

Contextos de execução
Todo mundo se encontra com o mesmo problema. Os parâmetros usados para se conectar à
servidor de desenvolvimento são diferentes dos parâmetros utilizados no controle de qualidade, ou
servidores de produção e poderia haver mais do que estes poucos ambientes. Alguns
empresas adicionar ambientes como a aceitação do usuário, a consolidação de código, e
pré-produção; o nome dele e ele está lá! Mantendo os parâmetros de conexão
é uma actividade complicada. Além da manutenção em si, existe o risco de que estes
parâmetros são modificados no código após o código foi validado pelo QA
equipe. Idealmente, os parâmetros de conexão e específicos do ambiente parâmetros devem
ser mantido independentemente do código. Isto é o que proporciona a ODI
noção de contextos de execução.

Para se certificar de que os desenvolvedores são independentes da localização física do


sistemas diferentes, ODI reforça o uso de esquemas lógicos. Esquemas lógicos são
rótulos ou apelidos que representam as conexões para os desenvolvedores. Na execução
tempo, o agente irá traduzir esses nomes lógicos para as físicas com base no
informações armazenadas no repositório. Desta forma, a manutenção da ligação
parâmetros, localização das bases de dados e nomes de esquema é totalmente independente
do próprio código.

Além disso, sempre que uma ODI processo é executado, um contexto deve ser selecionado. O
estrutura dos metadados será sempre o mesmo a partir de um ambiente para o próximo
(Dizer para o desenvolvimento exemplo, controle de qualidade e produção), mas as informações de
conexão
será diferente. Ao selecionar um contexto de execução, o agente vai saber qual
definição de conexão para usar quando completar o código.

Datawarehouse
(Esquema lógico)
Arquitetura lógica
Pr
pm od
ent uc
Contexto QA tio
eis n
ve
De
Arquitetura física

Windows Linux Linux

db_dwh dwh db_dwh_prd

Servidor de Desenvolvimento Servidor QA Servidor de Produção


IP: 105.02.11.85 IP: 105.02.11.74 IP: 110.47.33.02
Nome de Usuário: dev_odi Nome de Usuário: ODI Nome de Usuário: ODI_TMP
Senha: 123456 Senha: 654321 Senha: 123456

[27]

www.it-ebooks.info
Visão geral do produto

Na figura anterior, o nome lógico Datawarehouse na realidade aponta para


o esquema físico db_dwh no servidor de desenvolvimento desde que execute a
transformações no contexto de desenvolvimento. Ele irá automaticamente apontar para o dwh
esquema no servidor de controle de qualidade para o contexto de QA.

Os detalhes físicos são mantidas no Arquitetura física da Topologia


Navegador e os nomes lógicos que apontam para as implementações físicas são
definido na Arquitetura lógica do Navegador de Topologia. O Contexto
acordeão permite aos administradores definir como muitos contextos, conforme necessário. Em
tempo de execução, o
seleção de um contexto que vai definir a execução física a utilizar para cada
nome lógico usado no código.

A arquitetura física irá conter os detalhes para ODI para fazer login no banco de dados,
o endereço IP ou o nome do servidor no qual o banco de dados é executado, os números de porta
para ligar a base de dados, bem como o nome dos esquemas reais, catálogos,
bibliotecas e outros objetos encontrados nesses bancos de dados.

Módulos de Conhecimento
Um Módulo de Conhecimento (GC) é um modelo de código que define quais os tipos de SQL
scripts de consultas (inserir, selecionar, e assim por diante) e que precisam ser geradas para
completar
a extração de dados, carregamento e operações de transformação.
Havia vários objetivos por trás da criação desses kms. Alguns deles são
como se segue:

• Melhorar a produtividade: Tarefas de integração são muito repetitivos na natureza. Uma vez
as técnicas de extrato / carga foram definidos para um determinado projeto, eles vão
ser reutilizado inúmeras vezes. Consolidar essas práticas em reutilizável
modelos ajuda a melhorar a produtividade dos desenvolvedores.

• Encapsular as melhores práticas de integração: Mesmo que uma equipe concorda com a
integração
melhores práticas, normalmente não há garantia de que todos os desenvolvedores de vontade
implementar o que foi decidido. Em outros casos, apenas os melhores desenvolvedores
vai vir para cima com as melhores estratégias de integração. Ao encapsular o
estratégias de integração em um modelo, todos os desenvolvedores podem compartilhar o
mesmo
qualidade de código.
• Permitir personalizações adicionais: A Oracle está fazendo seu melhor para encapsular
melhores práticas da indústria em todos os KMs não importa o banco de dados que você
está
usando, mas o ambiente é único, e, por vezes, só você pode mais
otimizar o código que será gerado. Mais uma vez, para assegurar que todos
desenvolvedores irão beneficiar das otimizações finais, personalizado KMs
será compartilhado por todos os desenvolvedores.

[28]

www.it-ebooks.info
Capítulo 1

Tipicamente, um programador de ETL será capaz de utilizar um módulo sem qualquer conhecimento
precisa entender os requisitos subjacentes (criação de tabelas de teste, localização
dessas tabelas, operações intermediárias nessas tabelas, limpeza dessas tabelas e
assim por diante).

O desenvolvedor vai controlar o código que será gerado pela opção sim / não há opções para
inserir registos, efectuar actualizações, criar a tabela de destino, e assim por diante.

Existem seis tipos de módulos de conhecimento que permitam a vários passos dados
processo de integração:

• Carregando módulos de conhecimento (LKM): Estes módulos determinar como


extrair e carregar dados através de duas tecnologias heterogêneas. Diferente
Módulos de Conhecimento vai oferecer estratégias de conexão diferentes, tais como JDBC
conexão, banco de dados e carregar / descarregar utilitários.

• Conhecimento Módulos de Integração (GIC): Estes módulos de definir a estratégia de


utilizado para integrar os dados no alvo. As diferentes estratégias incluem
insere apenas uma atualização, e insere, a dimensão lentamente mudando, e assim por
diante.
• Verifique módulos de conhecimento (CKM): Estes módulos de implementar na linha de dados
controle de qualidade antes da inserção no alvo, como validar as regras de negócio,
controlar a singularidade de chaves primárias, e validar a existência do pai
registros de chaves estrangeiras.

• Engenharia reversa módulos de conhecimento (RKM): Estes módulos de importação


os metadados de uma determinada tecnologia para o repositório ODI. Estes são KMs
normalmente utilizado para aplicações corporativas ao invés de bancos de dados. A maioria
reversa
operações de engenharia não vai exigir qualquer KM desde os drivers JDBC
alavancado pelo ODI normalmente suportam engenharia reversa operações.
• Módulo de Conhecimento de diário (JKM): Este módulo gerencia o ODI
revistas e mecanismos necessários para fornecer CDC automático Mudou
Data Capture funcionalidade (CDC).

• Conhecimento Módulos de Serviço (SKM): Estes módulos de gerar automaticamente


o código e expor as operações de tabela de banco de dados como serviços web. Inserir,
atualizar, excluir, selecionar ou consumo de alterações de dados pode ser realizada
usando estes serviços web.

Módulos de conhecimento são nomeados após o banco de dados específico para os quais tenham sido
otimizado, os utilitários que eles alavancagem, ea técnica que eles implementam. Para
exemplo, um Teradata IKM para Arquivo (TTU) vai mover dados de Teradata em um arquivo simples,
e alavancar o TTU utilitários para essa operação, ou um arquivo de LKM para Oracle (EXTERNO
TABELA) irá expor um arquivo simples como uma tabela externa para Oracle. Da mesma forma, um
Oracle IKM
Dimensão de alteração lenta irá gerar código otimizado para o banco de dados Oracle
que implementa uma Dimensão de Alteração Lenta (Tipo 2) tipo de integração.

[29]

www.it-ebooks.info
Visão geral do produto

A maioria dos desenvolvedores só vai usar fora da caixa KMs somente o mais avançado
desenvolvedores irão modificar os modelos de código. Por esse motivo, vamos manter KM
modificações fora do escopo deste livro. Mas os exemplos, vamos percorrer
no resto deste livro vai ajudar você a entender a melhor forma de selecionar um KM para o
tarefa na mão.

Modelos
Modelos em ODI são usados para armazenar os metadados importados de bases de dados. Quando
desenvolvedores (ou custodiante de dados) criar um modelo, eles têm a opção de importar apenas
os metadados relevantes (você não pode querer importar a definição de todas as tabelas e
vistas em seu ambiente). Como vimos anteriormente, com módulos de conhecimento para
engenharia reversa, os metadados também podem ser importados a partir de aplicações, onde os
objetos
pode ser uma representação dos dados de negócio, em vez de uma tabela real físico.

Uma vez que os metadados foi importado, ele pode ser organizado e melhorado Modelos
podem ser agrupados em pastas. Submodelos podem ser criados dentro de Modelos para organizar
tabelas em unidades lógicas.

Quando submodelos são criados, os usuários podem definir como as tabelas serão organizados;
ou eles serão movidos manualmente para as subpastas apropriadas, ou a sua localização
será determinado automaticamente pelo ODI com base em seus nomes.

Metadados podem ser melhoradas pela adição de mais restrições (como a integridade referencial,
restrições de verificação) que não existem no banco de dados.

Metadados também podem ser criados directamente em ODI. Cada modelo tem um Diagramas
pasta.
Diagramas de permitir que os usuários graficamente as suas estruturas de tabela. Mais importante
ainda,
eles podem arrastar-e-soltar definições de objetos de outras tecnologias, e ODI vontade
traduzir automaticamente os tipos de dados a partir de uma tecnologia para outra.
Se as tabelas são derivadas de uma outra tecnologia, eles ainda podem ser modificados
manualmente
(Alterando os nomes das colunas, tipos de dados, adicionando ou removendo colunas, e
Restrições). O benefício oculto do uso de diagramas para criar tabelas de outros
Modelos é a capacidade de automatizar a geração de Interfaces.

[30]

www.it-ebooks.info
Capítulo 1

ODI sabe o quadro foi utilizado como base para a nova. Se você clique direito em
o nome do modelo, e selecione a opção de menu Gerar Interfaces IN, ODI vontade
criar automaticamente uma interface com o quadro original, tal como uma fonte e o novo
tabela como um alvo com todas as colunas devidamente mapeadas. Você será solicitado a colocar
a interface do projeto e pasta de sua escolha. Vamos dar uma olhada detalhada
em Interfaces na próxima seção. Se você optar por seleccionar a opção de menu Gerar
Interfaces para fora, ODI irá gerar a interface inverso, com a tabela de novo como um
fonte e a original como um alvo.

Interfaces
As interfaces são as transformações que são definidos. Nós vamos gastar muito tempo em
este livro cobre os detalhes de Interfaces. Interfaces são criados em projetos, ea
vários componentes são organizados em pacotes.

Há várias peças para uma interface, tais como descrição, mapeamentos, fluxo, controles
para nomear alguns.

Descrições de interface
Muitas vezes esquecido, descrições são a documentação dos objetos. Porque
as descrições são armazenadas com os objetos no repositório, toda a documentação
gerado pelo ODI conterá as descrições. Pode parecer trivial, mas o
descrições são a chave para o sucesso de seus projetos.

Mapeamentos de interface
ODI adere a um conceito chamado "design declarativa". A definição da
transformação lógica é isolado a partir da definição do movimento e dados
lógica de integração, por dois motivos que são os seguintes:

• Mudar para um não deve alterar o outro: Se eu decidir adicionar ou remover


colunas em meus mapeamentos, ele não deve ter nenhum impacto sobre o tipo de
Eu uso a tecnologia (tabelas externas, carregamento em massa, JDBC, e assim por diante) ou o
tipo
da estratégia de integração que eu uso (apenas inserções, atualizações e assim por diante). Da
mesma forma, se
Eu decidir mudar de tecnologia ou estratégia de integração, esta não deve ter
impacto sobre os meus transformações.

[31]

www.it-ebooks.info
Visão geral do produto

• A produtividade pode ser muito melhorada: Mapeamentos são muitas vezes única e deve
ser tratada de uma coluna de cada vez. Estratégias de integração e tecnologias podem
ser selecionado uma vez para um projeto completo, com alterações mínimas e opiniões.
Separando os dois permite aos desenvolvedores concentrar mais nas partes móveis
(As transformações) do que sobre as partes estáveis (a estratégia de integração).

Mapeamentos são onde a lógica de transformação é definido.

Guia o fluxo de interface


A guia fluxo das interfaces é o lugar onde as estratégias de integração são selecionados. O
Módulos de conhecimento de carga (LKM) vai definir quais técnicas devem ser utilizadas
para extrair dados dos sistemas de origem remota e como carregar os dados no alvo
sistema. O Módulo de Conhecimento Integração (GIC) vai definir qual a integração
estratégia será usada para integrar os dados do sistema alvo.

[32]

www.it-ebooks.info
Capítulo 1

Interfaces lista apenas os km que foram importados para o projeto onde


são criados (e começando com ODI 11.1.1.6, o KMs Global que são compartilhados entre
projectos). Uma vantagem chave é a de que é possível controlar quais estratégias serão utilizadas
para um determinado projeto, portanto, limitar as opções dos desenvolvedores com as escolhas feitas
pela equipe.

Isso irá garantir o seguinte:

• Todos os desenvolvedores implementar as melhores práticas


de mesmo
• Se forem necessárias alterações posteriormente no projeto, que pode ser feito
extremamente
de forma eficiente, alterando o padrão para um determinado projeto
• Idealmente, porque a escolha pode ser limitada, os programadores sabem que ODI
vai sempre escolher o KM que eles precisam e nem sequer tem que se preocupar
sobre esse passo

[33]

www.it-ebooks.info
Visão geral do produto

Controles de interface
Uma opção que está disponível em alguns IKMs é a capacidade de controlar a integridade dos dados
em
a mosca. Há duas opções de chamadas de controle de fluxo e controle estático. Controle de Fluxo
irá verificar inconsistências de dados, remover dados inválidos das tabelas de teste, e
escreva-os em uma tabela de erro em separado. Static Control irá verificar se há inconsistências em
a tabela de destino depois de ter sido carregado com todos os registos de entrada. Registros inválidos
identificada na tabela de destino são, então, copiados para a tabela de erros mas não são
retirado da tabela de destino. Quando os desenvolvedores decidir ativar um ou ambos
opções da guia Fluxo da interface, que pode, então, aperfeiçoar o que será feito, o
tabela de erros podem ser recriados automaticamente. Algumas restrições podem ser ignorados
enquanto
outros são aplicadas.
Todas as restrições listadas aqui são definidos em nível de metadados, no âmbito da definição
das tabelas nos modelos.

Pacotes e Cenários
Pacotes são projetados para orquestrar os objetos individuais criados pela
desenvolvedores de interfaces, variáveis, procedimentos serão seqüenciados em pacotes.
Se um passo falhar em um pacote, é possível ramificar para fora e tomar imediatamente
ação com base nos erros que são detectados. Para fins de execução, Pacotes
são compilados em Cenários. Execução cenários podem, então, ser organizado com
Carregar Planos. Veremos todos estes conceitos com mais detalhes em um capítulo dedicado.

Resumo
Neste capítulo, começou por explorar os conceitos básicos por trás ODI arquitetura
e componentes.

Em termos de arquitetura, você deve agora ter uma melhor compreensão do que
os diferentes elementos são, em particular, o repositório, Studio, e agentes. Este
Será importante que você vá para o próximo capítulo em que cobrem a instalação
do produto.

Em termos de conceitos, nós cobrimos os elementos-chave que diferenciam ODI


de outros produtos, ou seja, contextos de execução, módulos de conhecimento, Modelos,
Interfaces, pacotes e planos de carga. Vamos agora ilustrar estes conceitos com
exemplos reais do resto do livro, ampliando desta breve introdução.

[34]

www.it-ebooks.info
Instalação do produto
Este capítulo fornece instruções para a instalação e configuração do Oracle Data
Produto integrador para um ambiente de desenvolvimento ou de produção. Depois de analisar
os pré-requisitos para a instalação do produto, vamos abordar a instalação e
configuração do repositório ODI, o Studio (interface gráfica), ea
Agente autônomo.

Como ponto de referência, a Oracle mantém uma lista de pré-requisitos e passo a passo
instruções de instalação em http://www.oracle.com/technetwork/middleware/
data-integrator/documentation/index.html.

Pré-requisitos
Antes de instalar o produto, temos que ter certeza de que todos os componentes estão disponíveis
e que os sistemas em que o produto vai ser instalado em conformidade com o produto
requisitos. Faça o download dos componentes necessários, como segue:

• Os componentes precisam ser baixados da página web da OTN em ODI


http://www.oracle.com/technetwork/middleware/data-integrator/
downloads / index.html. Para o propósito deste livro, vamos supor que
a instalação é feita em um sistema operacional Windows. Baixe o ODI
arquivo de instalação.

• Faça o download do Utilitário de criação de repositório (RCU), ferramenta que será


necessária
para criar os repositórios ODI. RCU pode ser baixado a partir do ODI
página de downloads em OTN.
Certifique-se de fazer o download da versão mais recente de ambos os produtos. Observe que o
arquivo ODI
é muito grande (perto de 2 GB). Dependendo da qualidade da sua largura de banda, o
download pode levar um bom tempo e deve ser agendada de acordo.

www.it-ebooks.info
Instalação do produto

Pré-requisitos para o repositório


Para instalar o repositório, você deve ter acesso a um banco de dados certificada pela Oracle
como sendo compatível com ODI. A lista de bancos de dados suportados para o repositório
pode ser encontrada na matriz de certificação disponível em http://www.oracle.com/
technetwork/middleware/data-integrator/odi-11gr1certmatrix-163773.xls.
Para o propósito deste livro, vamos supor que o banco de dados que hospeda o repositório
é um banco de dados Oracle (10g e 11g são suportados no momento da escrita). A Oracle
bases de dados pode ser baixado http://www.oracle.com/technetwork/
banco de dados / empresa de edição / downloads / index.html.

O banco de dados que irá hospedar o repositório não tem que ser no mesmo hardware
como o Studio. Vários desenvolvedores irão compartilhar o mesmo repositório quando os projetos são
desenvolvida, de modo que é conveniente para instalar o repositório de uma localização central.

Tenha em mente que o estúdio vai tornar o acesso muito freqüente para o repositório.
A partir dessa perspectiva, o Studio eo repositório terá que estar na mesma
LAN (e uma vez que a distância aumenta a latência, elas devem ser de preferência a uma razoável
distância não em um outro país ou continente, por exemplo).

O repositório usará alguns gigabytes de espaço em disco para armazenar os metadados,


regras de transformação, e (principalmente) os logs. Certifique-se de que você tem em disco
suficiente
espaço para o banco de dados. Um bom ponto de partida para o tamanho do repositório é de 1 GB
cada para o Mestre e repositório de Trabalho.
Cada repositório (Master ou Trabalho) é normalmente instalado em um esquema dedicado. O
privilégios requeridos por ODI são "Connect" e "Recursos" em um banco de dados Oracle, mas
ter em mente que o programa de instalação terá requisitos mais rigorosos
(O utilitário RCU vai exigir privilégios SYSDBA para ser capaz de criar os repositórios).

Pré-requisitos para o Oracle Universal Installer


Java 1.6 é necessário para o instalador para executar. A documentação para o instalador
indica que uma versão JDK é necessário, mas de uma instalação JRE será suficiente
para a instalação de ODI.

Pré-requisitos para o Studio


Quando o programa de instalação instala ODI, que também irá instalar uma cópia do Java sob a
Diretórios ODI, apenas para as necessidades do ODI. Isso não terá nenhum impacto sobre outros
produtos
você pode ter que usar outras versões do Java, e vai garantir que você sempre tem
a versão apropriada do Java para ODI.

[36]

www.it-ebooks.info
Capítulo 2

O Estúdio de si terá os seguintes requisitos:

• Espaço em disco: 1 GB (para além do que é necessário para armazenar os downloads


do site da Oracle)

• Memória: 2 GB

Pré-requisitos para o Agente Autônomo


Os pré-requisitos para o Agente Autônomo ODI são bastante limitadas. Eles são como se segue:

• Espaço em disco: 20 MB (mas tenha em mente que o próprio programa de instalação será
requerem algum espaço em disco)

• Memória: 1 GB

Instalando ODI 11g


Nesta seção vamos ver passo-a-passo para a instalação de ODI.

Dois modos de instalação


Uma vez que a instalação envolve vários componentes, existem duas instalações distintas
modos para os repositórios. Eles são como se segue:

• A Oracle Utilitário de criação de repositório (RCU) instalação: Oracle oferece


um programa dedicado que auxilia na criação de repositórios. Este
ferramenta irá criar repositórios para qualquer ferramenta Oracle que requer tal
infra-estrutura, incluindo ODI. Esta ferramenta torna a instalação extremamente
simples, mas será, necessariamente, menos flexível que a de um repositório criado
diretamente do Estúdio ODI.

• Criação do Estúdio ODI: O programa de instalação só será instalado


a interface gráfica eo Agente. Os repositórios podem ser criados a partir de
a interface gráfica estúdio depois de ter sido instalado corretamente. O Agente
terá que ser configurado manualmente para conectar ao repositório neste caso.
Este modo de instalação pode ser necessário quando são repositórios adicionais para
ser criado (teste, repositórios de produção, e assim por diante). Vale a pena o seu tempo
para se familiarizar com as duas abordagens.

Oracle recomenda o uso da ferramenta de controle remoto para a criação de repositórios. Vamos nos
concentrar
nesta abordagem recomendada.

[37]

www.it-ebooks.info
Instalação do produto

Criando o repositório com controle remoto


Se você ainda não tiver baixado RCU, então baixe a versão mais recente que
está disponível em http://www.oracle.com/technetwork/middleware/data-
integrador / downloads / index.html.

Siga estes passos:

1. Uma vez que você descompactou o arquivo que você baixou para RCU, lançamento
RCU, executando o arquivo seguinte \ RCU \ rcuHome \ BIN \ RCU.bat.

2. RCU irá exibir a tela de boas-vindas. Clique em Em seguida, como se vê no seguinte


imagem, para obter RCU começou:

[38]

www.it-ebooks.info
Capítulo 2

3. Selecionar Criar para criar o repositório ODI, como visto na imagem seguinte:

4. O próximo passo será entrar os parâmetros apropriados para controle remoto para ligar
para a base de dados em que o repositório será criado. Para o Oracle, selecione o
Banco de dados Oracle.

5. Digite o nome do host. Tente não usar "localhost" para o nome da máquina desde
os repositórios devem ser compartilhados por múltiplos desenvolvedores e
"Localhost" se referem a uma máquina diferente para cada desenvolvedor. Você pode usar
o nome da máquina ou o endereço IP da máquina (a menos que você está usando
DHCP, caso em que, o endereço de IP pode variar numa base diária).

[39]

www.it-ebooks.info
Instalação do produto

6. Fornecer o número da porta eo nome de serviço para o banco de dados. Em seguida, forneça
um nome de usuário com privilégios de dba e selecione SYSDBA para o papel. Este
é porque a ferramenta irá criar um usuário para o repositório e potencialmente
até mesmo criar um espaço de tabela (dependendo das respostas que você fornecer no
telas subseqüentes). Em seguida, clique em Avançar.

[40]

www.it-ebooks.info
Capítulo 2

7. RCU irá validar os parâmetros de conexão. Qualquer problema de conectividade (inválido


número da porta ou nome do serviço, host inválido, não privilégios suficientes para o
de utilizador, e assim por diante) será relatado no Mensagens janela na parte inferior. Se
você encontrar problemas, corrigi-los até que todos os pré-requisitos são validados e clique
em OK:

[41]

www.it-ebooks.info
Instalação do produto

8. Agora que podemos nos conectar ao banco de dados, podemos selecionar qual repositório
será criada. Selecionar O Oracle Data Integrator. Note-se que neste momento você
pode mudar o nome do esquema onde o repositório será criado (o padrão
é DEV_ODI_REPO). Clique em Seguinte:

[42]

www.it-ebooks.info
Capítulo 2

9. RCU irá validar os pré-requisitos que são específicos para ODI. Em seguida, clique em OK.

[43]

www.it-ebooks.info
Instalação do produto

10. Você será solicitado a senha para esse esquema. Digite a senha
para o proprietário do esquema de repositório ODI, e clique em Avançar.

11. Neste ponto, RCU pedirá parâmetros de segurança adicionais para a


criação do repositório. Eles são como se segue:

° Mestre Repositório ID: Esta identificação deve ser exclusivo para o seu
ambiente. Se você criar mais de um repositório mestre, fazer
certeza de que cada um tem uma identificação única, mesmo que estes
repositórios são
completamente independente.
° Supervisor Password: Esta será a senha para o usuário ODI
supervisor. Você vai ter que lembrar esta senha como você vai
precisa para o lançamento do Estúdio ODI mais tarde.

[44]

www.it-ebooks.info
Capítulo 2

° Trabalho Tipo de Repositório (Desenvolvimento ou Execução): Execução


repositórios não vai permitir que qualquer código de desenvolvimento. Uma vez que
este é o seu
primeira instalação, selecione Dpara o desenvolvimento.
° Trabalhar ID Repositório: Este ID terá que ser único em
nosso meio ambiente.

° Trabalhe nome Repositório: Uma boa prática aqui é repetir o


ID repositório no nome do repositório.

° Trabalhar Senha Repositório: Use uma senha para proteger o acesso aos
seu repositório. Você tem que lembrar este valor para conectar-se a
o repositório.

° Clique em Avançar.

[45]

www.it-ebooks.info
Instalação do produto

12. Você tem a capacidade de selecionar a tabela onde o repositório será


criado. Você pode manter os valores padrão ou definir seus próprios valores se
Você tem uma preferência acentuada. Em seguida, clique em Avançar.

[46]

www.it-ebooks.info
Capítulo 2

13. Se a tabela ainda não existe, você será solicitado para confirmar a criação
da tabela. Clique em OK.

[47]

www.it-ebooks.info
Instalação do produto

14. A tabela será então criada. Clique em OK.

[48]

www.it-ebooks.info
Capítulo 2

15. RCU fornecerá um resumo de todas as seleções que foram feitas. Validar
suas escolhas e clique em Criar.

[49]

www.it-ebooks.info
Instalação do produto

16. Dependendo da velocidade de seu processador, a criação de repositórios


pode demorar um pouco (cerca de 15 minutos aqui em uma máquina muito lenta). Clique em
Fechar quando você está feito. Seus repositórios são criados.

Instalando o Studio ODI eo Agente ODI


Nesta seção, vamos percorrer passo-a-passo para criar o ODI
repositório e instalar o estúdio ODI eo Agente ODI.

1. O download ODI vem como um único arquivo ZIP. Você primeiro tem que descompactar
o arquivo para acessar o programa de instalação. Uma vez que o arquivo é descompactado,
você vai
ver dois diretórios, ou seja, Disk1 e Disk2. Você vai encontrar a setup.exe
programa diretamente sob Disk1.

[50]

www.it-ebooks.info
Capítulo 2

2. Executar o setup.exe programa a partir de um prompt de comando ou a partir do


Windows Explorer:

O programa de instalação primeiro validar que o


ambiente corresponde as suas próprias exigências (espaço de troca,
Velocidade da CPU, monitor de resolução, e assim por diante). Se qualquer
um dos
pré-requisitos estão faltando, você será solicitado a continuar
ou abortar. Se todos os pré-requisitos estão satisfeitos, um "instalador ODI"
tela será exibida como o instalador iniciar.
Se a janela do Oracle Universal Installer não aparece
após os pré-requisitos foram validados, verifique o
Documentação do Oracle instalador específico que pode ser encontrado
em http://docs.oracle.com/cd/E21764_01/
core.1111/e16453/install.htm # CHDJIDFD.

[51]

www.it-ebooks.info
Instalação do produto

A tela de instalação é o seguinte:

3. Após a tela desaparece, a instalação ODI página Bem-vindo


aparece. Deste ponto em diante, durante a instalação, ajuda on-line está disponível
clicando no Ajudar botão na parte inferior à esquerda, a qualquer momento. Clique em Próximo
para prosseguir.

[52]

www.it-ebooks.info
Capítulo 2

4. A próxima tela fornece os detalhes para os dois modos de instalação, ou seja,


criação instalador guiado dos repositórios (usando a ferramenta Oracle RCU),
ou a criação de repositórios a partir da interface gráfica do ODI. Desde
vimos como criar os repositórios com RCU, vamos selecionar a
opção de correspondência.

5. Nenhuma ação é necessária nesta tela, basta clicar em Avançar.


6. O instalador então pergunta para o tipo de instalação desejado, as escolhas são
como se segue:

° O Instalação do desenvolvedor irá instalar o Studio (a gráfica


interface usada para projetar processos de ETL com ODI). Além disso, dá
a opção de instalar o SDK que desenvolvedores avançados utilizará
ODI usar além do que é disponível a partir do estúdio. O SDK
não é abordado neste livro, mas o guia de referência completo para
o SDK está disponível, juntamente com o restante da documentação ODI
em http://www.oracle.com/technetwork/middleware/
data-integrator/documentation/index.html.

° O Instalação independente instalará o Agente Autônomo. Você


pode optar por instalar o Agente Autônomo e do Estúdio ao mesmo
tempo. O Agente é o componente responsável pela execução do
processos em um ambiente de produção.

Observe que em um ambiente de desenvolvimento, o Studio atua como um agente.


Isto é muito conveniente no sentido em que a instalação é simplificada.
No entanto, a descarga orquestração dos processos de ETL para um agente
em comparação com o uso do estúdio por tanto a concepção de processos
e sua orquestração, é um investimento rentável no longo prazo.
O benefício adicional é que os desenvolvedores a colaborar em um projeto
podem partilhar o mesmo agente.

° O Instalação do Java EE abrange todos os elementos que serão instalados


em um servidor WebLogic. WebLogic é um pré-requisito para o seguinte
componentes (mas não serão abordados aqui):

• Agente Java EE: É o mesmo módulo que a Standalone


Agente, mas esse agente tira proveito de todos os recursos
fornecida por WLS (alta disponibilidade, partilha de conexões,
externalização de segurança, e assim por diante).

• ODI Console: Esta é uma interface web para acessar o ODI


repositório. A maioria dos objetos será só de leitura, mas a linhagem
e análise de impacto que estão disponíveis através desta interface
Será de particular interesse, em conjunto com os ecrãs disponíveis
aos operadores para monitorar os processos sem ter que instalar
o Studio.

[53]

www.it-ebooks.info
Instalação do produto

• Web Service público: Este recurso irá expor trabalhos como ODI
serviços web. Um serviço web single será usado e vai
levar o nome dos trabalhos a serem executados como um parâmetro (junto
com quaisquer outros parâmetros necessários para o trabalho em si).

7. Para os propósitos deste livro, selecione o Studio ODI eo Agente Autônomo.


8. Clique em Próximo proceder:

[54]

www.it-ebooks.info
Capítulo 2

9. O instalador irá executar verificações de pré-requisitos diversos para garantir a saúde


e viabilidade das etapas de instalação a jusante ea global pós-instalação
experiência. Clique em Próximo para prosseguir.

Se os pré-requisitos não passar, por favor, consulte a lista


de requisitos de hardware e software mencionado
no início do capítulo.

[55]

www.it-ebooks.info
Instalação do produto

10. Você, então, tem de especificar o ODI_Home diretório. Como para todas as ferramentas Java,
tente
evitar nomes de diretórios que contêm um espaço (para que o assunto, Programa
Arquivos não é uma boa escolha, mas você sempre pode usar o equivalente MS_DOS velho
nome ~ 1 ou qualquer que seja o nome do personagem oito é na sua plataforma).
Além disso, tente manter o caminho simples e fácil de lembrar. Clique em Avançar.

O diretório de instalação padrão é c: \ oracle \ product \


11.1.1 \ Oracle_ODI_1. Isto também é conhecido como o seu
ODI_HOME diretório.

[56]

www.it-ebooks.info
Capítulo 2

11. Então você tem que escolher se quer configurar um Mestre existente / Trabalho
par de repositório e itens em ODI Studio e agente que são dependentes
os repositórios. Se você deseja criar manualmente os repositórios do
Studio, pular a configuração do repositório. Se você se executar a ferramenta de controle
remoto para
criar repositórios, como descrito anteriormente, você quer selecionar o Configurar
Repositórios opção para se certificar de que o estúdio eo agente será
automaticamente configurado para se conectar a estes repositórios. Selecionar Configurar
repositórios e clique em Próximo para prosseguir.

[57]

www.it-ebooks.info
Instalação do produto

12. Quando solicitado para os parâmetros de conexão, digite os mesmos valores que você
selecionada na ferramenta RCU. Você vai ter que confirmar os parâmetros para a
cadeia de conexão com o banco e modificá-los se necessário, e voltar a entrar no
nome de usuário do banco de dados para o repositório mestre. Em seguida, clique em
Avançar.

[58]

www.it-ebooks.info
Capítulo 2

13. Então você vai ter que digitar a senha que você tinha entrado no comando remoto para
Supervisor ODI. Esta senha é sensível a maiúsculas, por isso certifique-se que você
digitá-lo exatamente da mesma maneira que você fez no RCU. Clique em Avançar.

[59]

www.it-ebooks.info
Instalação do produto

14. Em seguida, será solicitado a selecionar o seu repositório de Trabalho. Se esta é a sua primeira
instalação, você só tem um repositório disponível. Clique em Avançar.

[60]

www.it-ebooks.info
Capítulo 2

15. É uma boa prática para os parâmetros do agente para o nome do agente após
máquina na qual ele está instalado. Historicamente, ODI utiliza 20910 para
a porta de agente, mas você pode querer alterar este valor (especialmente se
você instalar mais de um agente na mesma máquina). Depois de entrar
seus valores, clique em Avançar.

[61]

www.it-ebooks.info
Instalação do produto

16. Você pode inserir suas informações de contato para ser alertado pela Oracle se a
segurança
problemas são identificados. Clique em Próximo para prosseguir.

17. Se os campos de entrada na etapa anterior foram deixados em branco, a confirmação de


um
diálogo é apresentada para validar que a notificação de problemas de segurança críticos
não é desejada. Ou clique em Sim para confirmar que a questão de segurança crítica
notificação não é desejado ou Não para fornecer suas informações de contato,
e depois clique em Avançar.

[62]

www.it-ebooks.info
Capítulo 2

18. O Resumo da instalação permitirá que você revise os componentes que


está prestes a ser instalado. Clique em Instalar para prosseguir.

[63]

www.it-ebooks.info
Instalação do produto

19. O Progresso da Instalação exibe uma barra de progresso para mostrar a instalação
progresso. Um item importante nesta tela é a localização do arquivo de log que
é criado durante a execução do instalador 11g ODI. O diretório raiz do
arquivo de instalação log (s) esteja fixado para um determinado sistema operacional. Se você
mudou
a instalação padrão, o local do arquivo de log não muda. Para
exemplo, para o Windows, o arquivo de log local do diretório raiz é C: \ Program
Files \ Oracle \ \ logs inventário. Um arquivo de log é criado cada vez que o instalador
é executado, anexando as informações de data e hora para a cadeia instalar para
formar um arquivo de nome único. Clique em Próximo para prosseguir.

[64]

www.it-ebooks.info
Capítulo 2

20. Após o progresso da instalação do arquivo chegou a 100 por cento e as respectivas
etapas de configuração estão concluídas, uma tela analisa as diferentes ações que
foram realizados pelo programa de instalação para configurar o seu ambiente.

21. Você é essencialmente feito, no entanto, clique em Próximo para prosseguir.

[65]

www.it-ebooks.info
Instalação do produto

22. Instalação completa! Parabéns. Note que você pode clicar em Salvar para
preservar o Instalação Configuração informação.

A imagem seguinte mostra um exemplo do tipo de informação que


serão salvos por esta operação:

23. Por fim, clique em Terminar na tela de instalação passado.

[66]

www.it-ebooks.info
Capítulo 2

Iniciando o Estúdio ODI pela primeira vez


Siga estes passos para iniciar ODI Estúdio:

1. Lançar o produto recém-instalado pela primeira vez a partir do Windows Começar


menu | Oráculo |Oracle Data Integrator.ODI Studio.

O programa de instalação instalou o JDK 1.6.0_24 JRockit juntamente com ODI


para que ODI sempre tem a versão correta do Java para trabalhar. Você irá
encontrar esta instalação do Java sob seu ODI_Home diretório. Se você usou
o diretório de instalação padrão no Windows, então será c: \ Oracle \
produto \ 11.1.1 \ Oracle_ODI_1 \ JRockit-jdk1.6.0_24.

O Studio ODI eo Agente ODI será automaticamente configurado para usar


esta versão do Java.

2. A tela inicial ODI aparece como a inicialização do produto passa antes da


tela primeiro produto que está sendo apresentado. Aguarde a tela inicial para desaparecer.

Se a tela não aparecer, confira o arquivo


[ODI_HOME] \ oracledi \ cliente \ odi \ bin odi.conf \
e certifique-se de que o SetJavaHome parâmetro aponta para
o JRockit diretório.

3. Parabéns! ODI inicialização Estúdio foi concluída e se apresenta


para o utilizador.

[67]

www.it-ebooks.info
Instalação do produto

4. Clique em Ligue para o repositório para registrar os parâmetros de conexão. Você


terá que nomear a conexão em si (de modo que você pode ir e voltar
entre diferentes conexões). Na tela de login, clique no +ícone para
criar uma nova conexão.

5. Seleccionar um nome de identificação da ligação (neste caso Meu primeiro


ODI Repositório).

6. Em seguida, digite o nome de usuário ODI (SUPERVISOR-Você não tem nenhum outro
usuário
definido neste ponto) ea senha para este usuário (a mesma senha
que você entrou durante o processo de instalação), a menos que você não
quer ODI para lembrar esta senha para você.
7. Digite o nome de usuário e senha repositório mestre, junto com a
informações de conexão do banco de dados. Selecione o repositório de trabalho adequado
e se você quer ser sempre solicitado com este conjunto de parâmetros, fazer
esta conexão padrão a.

8. Clique em Teste para se certificar de que todos os parâmetros estão corretos. Em seguida,
clique em OK.
ODI Estúdio vai ligar para seu repositório. Agora você está pronto para começar
com ODI.

[68]

www.it-ebooks.info
Capítulo 2

Publicar instalação de parâmetros arquivos de


revisão
Os seguintes arquivos valem a pena olhar:

• Para o estúdio, você encontrará sob Documents and Settings \ <seu


nome de login> \ Application Data \ odi \ oracledi \ toda a configuração
arquivos que contêm as suas preferências de login e preferências Studio. Se você
precisa adicionar drivers JDBC para o Studio, você terá de armazená-los
na userlib subdiretório.

• Para o agente, sob a agente \ bin diretório, você encontrará as


odiparams.bat arquivo (o mesmo odiparams.sh existirá em Unix)
que define todos os parâmetros de conexão para o Agente de se conectar
para o repositório. Por exemplo, a C: \ Oracle \ product \ 11.1.1.5 \ ODI \
oracledi \ agente \ bin. O programa de instalação também criou um
agent_ <your_agent_name> morcego. arquivo para iniciar o agente tiver
definido com os parâmetros apropriados.

[69]

www.it-ebooks.info
Instalação do produto

Resumo
Neste capítulo, analisamos o ambiente necessário para a instalação ODI
bem como os diferentes passos necessários para instalar ODI. Se você seguir estes passos com
sua instalação, ODI será instalado e funcionando, com configurado corretamente
Repositórios de Mestrado e Trabalho.

No próximo capítulo, vamos introduzir o conceito de variáveis, como defini-los,


e como e onde usá-los. Então estaremos prontos para ir para a utilização efectiva do
do produto.

[70]

www.it-ebooks.info
Usando variáveis
Um elemento muito importante em todos os ambientes de desenvolvimento é a capacidade de
deixar espaço para informação dinâmica. Eventualmente, você vai querer usar variáveis
para construir, atualizar e armazenar informações como os processos se desenrolam.

Este capítulo é relativamente independente das outras, e pode ser consultado fora
de seqüência. Você provavelmente vai querer rever parte de seu conteúdo depois de ter
cobriu mais dos capítulos seguintes. Como variáveis podem ser usadas em qualquer lugar ODI,
alguns dos conceitos mencionados aqui vai realmente ser coberto mais em profundidade mais tarde.
Apresentando variáveis precoce irá permitir que você tenha uma melhor noção do que eles são e
como e onde elas podem ser usadas. Outros capítulos irá referenciar variáveis. Sinta-se livre
para voltar a este capítulo para obter mais detalhes sobre o assunto. Neste capítulo, vamos
cobrir os seguintes pontos:

• Como a definição de variáveis, e como as diferentes definições terá impacto sobre o


Facilidade de variáveis

• Como usar variáveis para processar a informação dinâmica, que é variáveis em


modelos e interfaces

• Usando variáveis para alterar os fluxos de trabalho, isto é, em pacotes e planos de carga

A definição de variáveis
Vamos agora olhar para a definição de variáveis nas seguintes seções.

Localização variável e escopo


As variáveis são definidas na Estilista navegador ou em um determinado projeto ou
como objetos globais.

www.it-ebooks.info
Usando variáveis

Variáveis de projeto só pode ser usado no projeto onde são definidos. Global
As variáveis podem ser utilizadas em qualquer projecto. Veremos mais adiante neste capítulo que as
variáveis
pode ser usado para criar modelos mais dinâmico. Ao usar variáveis em modelos,
tem que ter muito cuidado e se certificar de que se usarmos variáveis de projeto, o modelo é
não usado em outro projeto em que a variável não está definida. Se um modelo é compartilhada
através de projetos, e se esse modelo deve ser dinâmico, certifique-se de usar mundial
variáveis no modelo.

A noção de uma variável global significa apenas que as variáveis podem ser
usada em diferentes projetos. Não significa necessariamente que a
mesmo valor será compartilhado por todos os projetos. O valor de uma variável
é local para um projeto e é baseada em como e quando o valor é
definido. A partir dessa perspectiva, vários processos correndo em paralelo
não partilham os mesmos valores após os processos são iniciados.
Cada processo irá operar com sua própria cópia dos valores.

Definições de variáveis
O primeiro elemento, precisamos definir de uma variável é o seu nome. Os nomes das variáveis são
case
sensível. Em alguns lugares (mapeamentos, modelos, e assim por diante), você vai ter que fazer
referência
variáveis por nome, por isso certifique-se de seguir o mesmo padrão para nomes de variáveis
todo o seu projeto. Algumas convenções que podem ser utilizados são MyVariableName,
my_variable_name myVariableName, MY_VARIABLE_NAME.

[72]

www.it-ebooks.info
Capítulo 3

Outro elemento importante, como você pode ver na imagem anterior, é a variável
tipo de dados, isto é, Data, numérico, alfanumérico, (Limitado a 255 caracteres) e
Texto (Comprimento ilimitado).

Variáveis pode ser atribuído um Valor Padrão, e é sempre uma boa prática
descrever o propósito de suas variáveis no Descrição campo nunca há
também muita documentação.

O último campo na definição da variável permite que você defina o quanto a história
você quer manter para os valores das variáveis. Você pode configurá-lo para No History (Não
lembrar nada além da execução do processo), Última Valor (Só me lembro
o último valor que foi usado, e substituir esse valor quando outro valor é obtido),
ou Todos os Valores (Guardar todos os valores já tomadas pela variável).

Versão 11.1.1.6 do ODI adiciona a capacidade de criar Variáveis seguro-variáveis


cujos valores nunca será visível no código gerado (pensam senhas para
exemplo). Estas variáveis, obviamente, não têm história.

Variáveis refrescantes
Um aspecto chave é que as variáveis que podem ser associados a uma consulta de SQL contanto
essa consulta retorna um valor único (sem listas ou conjuntos de resultados são permitidos). Em tempo
de execução, que
será possível Refrescar a variável para executar a consulta associado e retornado
valor será atribuído automaticamente para a variável-tudo numa só operação. Iremos
ver isso com mais detalhes quando olhamos para o uso de variáveis.

Para definir a consulta associada a uma variável, selecione o Refrescante guia da variável,
selecione o nome do esquema lógico em que a consulta terá de executar, e simplesmente
digitar a consulta como você faria em qualquer editor de SQL. Um exemplo de uma consulta seria:

Selecione sysdate da dupla

Note que você tem que escolher um Esquema lógico em todos os casos,
mesmo do exemplo anterior. O Esquema lógico definirá
servidor que você está se conectando, bem como quais as credenciais
usar para se conectar a esse servidor.

[73]

www.it-ebooks.info
Usando variáveis

Lembre-se também que esta consulta deve retornar um valor único.

Os ícones que você pode ver no canto superior direito da caixa de entrada da consulta vai ajudar a
construir a
Consulta SQL. Os ícones são explicados como se segue:
• O lápis dá acesso ao editor de expressão, que irá guiá-lo com
a sintaxe do SQL nativo para o banco de dados que hospeda o seu esquema

• O sinal verde valida a consulta ao banco de dados (ODI, na verdade,


envia a consulta ao banco de dados para validação, neste ponto)

• As setas curvas permitem que você executar a consulta e armazenar o valor do


variável na história de valores para a variável, se você optou por manter a
história (todos os valores ou último valor)

Mesmo que você pode armazenar um valor na história em desenvolvimento


tempo, você tem que ter em mente que quando você está em uma produção
ambiente, você não terá a oportunidade de fazer o preseed à
história de sua variável. Vamos ver isso de novo mais tarde, mas sempre
que você está trabalhando com as variáveis, você tem que ter certeza de que
eles estão devidamente declarado e que é atribuído um valor
antes de começar a usá-los.

História variável
Uma vez que as variáveis têm sido utilizados, e se tiverem sido definido para manter tanto o Passado
Valor ou Todos os Valores já tomou, esta história vai estar disponível no História guia. Você
pode remover elementos da história, se assim o desejar, clicando no vermelho Xno topo
direita da tela. Essa visão pode ser extremamente útil para fins de depuração ou para
fins de análise.

Usando variáveis para informação dinâmica


Vamos ver como podemos utilizar variáveis para processar dados de forma
dinâmica.

[74]

www.it-ebooks.info
Capítulo 3

Atribuir um valor a uma variável


Antes de podermos usar uma variável, temos que ter certeza de que um valor foi atribuído
para a variável, como é o caso com qualquer linguagem de programação. Existem múltiplas
formas de atribuir um valor, mas em todos os casos, os valores terão de ser atribuído numa Pacote.
Os passos pacote definido neste capítulo terá de ser executado antes das interfaces
modelo ou operações que fazem uso das variáveis.

Ao arrastar e soltar uma variável em um pacote, diversas ações estarão disponíveis


na variável.

Vamos rever aqui as diferentes acções (ou Tipos, como são chamados na ferramenta) que
nos permitem obter o valor da variável. Como você mudar de um tipo para o outro, ODI vontade
alterar a representação gráfica da variável no pacote para que você saiba
que ação é selecionada sem ter de olhar para os detalhes do passo.

A definição de um valor embutido


O Definir Variável Tipo permitirá que você codificar o valor que você quer ser
atribuído à variável. Lembre-se que esta variável pode ser usado em diferentes locais,
ODI e não sabe o que você tem em mente para esta variável. Se a variável
ser usado apenas em seus mapeamentos, e é um alfanumérico, por exemplo, então você está em
responsável por adicionar as citações necessárias em torno do texto que você definir.

[75]

www.it-ebooks.info
Usando variáveis

Os seguintes valores são válidos todas as atribuições de:

Valores Onde e como usar tais valores


TEXTO
Se você usar essa sintaxe em mapeamentos, lembre-se
adicionar aspas em torno do nome da variável

'TEXT' Esta variável pode ser utilizada tal como está no


mapeamentos, mas não pode ser usado fora do
mapeamentos (modelos, por exemplo)

2 Esta é uma designação numérica


'3 ' Esta é uma atribuição de seqüências
'02-JAN-2011 ' Esta é uma designação de data (dependendo do
banco de dados que você está trabalhando, você pode ainda
tem que traduzir isso para uma data real com um
TO_DATE função ou um equivalente)

# GLOBAL.MyVariable Atribuir o valor armazenado na variável global


MyVariable

# MYPROJECTCODE.MyVariable Atribuir o valor da variável MyVariable


localizado no projeto atual

Vamos dar uma olhada mais detalhada na variável que faz referência um pouco mais tarde neste
capítulo.

Variável de atualização
O tipo Variável de atualização simplesmente executar a consulta associada com a variável em
sua Refrescante guia, e irá atribuir o valor retornado para a variável. Se você pediu
para qualquer nível da história, esta etapa vai cuidar de armazenar o valor para você. Estes
Os valores podem ser encontrados no História guia da variável.

Passado como um parâmetro (Declare Variável)


O tipo Declare Variable lhe permitirá passar o valor da variável
como parâmetro para o seu cenário. O valor pode ser definido através da gráfica
interface quando você executar o cenário, ODI irá pedir-lhe para o adequado
valores. Os parâmetros também pode ser definido a partir de uma interface de linha de comando, se
você
decidir executar seus processos de um componente externo. Cenários podem também
invocar outros cenários. Nesse caso, as variáveis e os valores apropriados seria
ser passado como parâmetros na definição da chamada cenário. Você precisaria
olhar para a definição da ferramenta ODI, OdiStartScen, Para mais detalhes sobre este
tipo de abordagem.

[76]

www.it-ebooks.info
Capítulo 3

Referenciando variáveis
Quando você começar a usar variáveis em suas interfaces e modelos, você vai precisar
referenciar as suas variáveis. Variáveis são referenciadas com o caracter #, seguido pela
nome da variável. ODI procurará primeiro por uma definição da variável no projeto.
Se a variável é encontrado lá, então essa variável é utilizada. Caso contrário, o correspondente
GLOBAL variável será usado. Se você quer ter certeza de que uma variável global é usado,
você pode prefixar o nome da variável com # GLOBAL, Por exemplo # GLOBAL.MyVariable.

Da mesma forma, você pode prefixar o nome da variável com o código do projeto, que é o ODI
vai fazer por você de qualquer maneira quando ele gera o código de uma interface.

O código de projeto usado para variáveis prefixo é diferente da


o nome do projeto. Para verificar o código real para um
determinado projeto, clique duas vezes no nome do projeto para editar o seu
definição e ler o nome de código associado. Por padrão,
códigos de projeto são a versão em maiúsculas o nome do projeto,
sem espaços.

Variáveis em interfaces
Agora que sabemos como atribuir um valor a uma variável e como fazer referência a ela,
podemos usar variáveis em nossas interfaces.

Você pode usar uma variável em qualquer lugar onde você estaria entrando código em seu
interface (por exemplo, mapeamentos, junções e filtros). Há mesmo alguns Conhecimento
Opções de módulo que podem aceitar variáveis.

[77]

www.it-ebooks.info
Usando variáveis

Todos ODI vai fazer em tempo de execução é substituir o nome da variável com o valor atual
essa variável. Portanto, se o valor para a variável dtLastRunDate é 29-FEB-2012 e
o mapeamento para a sua coluna é:

sysdate - '# dtLastRunDate'

o código a ser gerado é o seguinte:

sysdate - '29-FEB-2012 '.

Note, que desde que o valor da variável não continha aspas simples, nós adicionamos-los
no mapeamento anterior redor do nome da variável para assegurar a geração de código apropriado.

Você deve ter notado que, neste exemplo, não estamos usando
o código do projeto. A primeira razão é que, em uma interface que
só pode usar uma variável do projeto atual, de modo a
código de projeto será automaticamente adicionado por ODI. Mas, para além
esta conveniência, vai nos permitir validar diretamente no
código gerado que ODI fez reconhecer o nome da variável. Se
o código do projeto não está devidamente adicionado por ODI no gerado
de código, isto significa que ou a variável não está definida no
projeto, ou ele está mal escrito e aqui uma atenção especial
à sensibilidade caso de nomes de variáveis.

Quando você olha para o código gerado, você não vai ver o valor real variável, apenas
o nome da variável será gerada. Este nome será substituído dinamicamente em
tempo de execução com o valor que é atribuído à variável naquele momento.

Versão 11.1.1.6 do ODI introduz um novo Nível de registro, Nível de registro 6, para execução de
código.
O único propósito deste nível de log é oferecer a capacidade de alternar para trás e para frente
entre os nomes de variáveis e valores de variáveis. O botão de alternância está no canto superior direito
canto da janela de log.

[78]

www.it-ebooks.info
Capítulo 3

Você só será capaz de modificar o código, quando o nome da variável é exibido,


mas você sempre pode copiar o código com o valor da variável, se você quiser usá-lo
em outro lugar.

Desde ODI 11.1.1.6 também apresenta variáveis seguros, o valor para


Variáveis seguras nunca será exibido no operador registra mesmo
se você tentar e alternar entre o nome da variável de valor variável.

Variáveis em modelos
As variáveis podem ser também utilizados em modelos. Isso será extremamente útil quando
começamos
lidar com arquivos simples. É muito comum para arquivo plano alimenta a ser nomeado após o
dias de extração, o ID da execução do lote que os gerou, ou o servidor que
veio. Em todos os casos, a mesma estrutura de arquivo, o que requer o processamento exato,
aparecer sempre com um nome diferente. Usando uma variável para o nome do arquivo será
resolver o problema do tratamento de um nome dinâmico.

Ao editar a definição de um nome de arquivo, você pode usar a variável em


o Nome do Recurso. O Nome pode ser definido como um nome significativo em sua
meio ambiente, dizendo exatamente que tipo de arquivo que você está se referindo. ODI
vontade
mostrar os dois nomes na árvore modelo.

[79]

www.it-ebooks.info
Usando variáveis

Tenha em mente que o uso de variáveis no nome do recurso serão apresentadas algumas restrições
no tempo de desenvolvimento, tais como você só pode processar esse arquivo se um valor tem sido
atribuído à variável. A partir de então, torna-se mais difícil de testar as interfaces
que usar este arquivo (que deve ser parte de um pacote onde a variável está definida,
e só pode ser executado como parte do pacote), e não é possível ver
o conteúdo do arquivo (o arquivo que você quer apontar exatamente?). Para todos estes
razões, é realmente mais fácil para começar a trabalhar com um nome pré-definido e uma vez
o trabalho de desenvolvimento está feito e testado, você pode olhar para tornando o código mais
dinâmico e usar uma variável para o nome do arquivo.

Falamos de usar uma variável para nomes aqui, porque é


o caso mais comum, mas você pode perfeitamente usar variáveis
para a tabela e ver nomes como bem o produto vai se comportar
no exatamente da mesma maneira.

Variáveis em topologia
Apenas para referência, você deve saber que é possível usar variáveis como parte do
Topologia definição também. Mas o uso de variáveis em que parte da ferramenta é muito
mais avançados e nos obrigam a cobrir conceitos que estão muito além do alcance
deste livro. Basta ter em mente que é possível, porém, com bastante conhecimento
e cuidado, para usar variáveis em outras áreas que não as que estão cobrindo.

Usando variáveis para alterar os fluxos de


trabalho
Vamos agora aprender como as variáveis podem ser usados em pacotes e planos de carga.

Pacotes
As variáveis podem ser utilizadas em pacotes, por razões várias. Como já vimos,
As variáveis são atribuídos diferentes Tipos ou ações quando eles são adicionados a um pacote.
Nós já discutimos a capacidade de Declarar, Refresh ou Conjunto variáveis. Outro
tipo é Avaliar uma variável.

[80]

www.it-ebooks.info
Capítulo 3

A avaliação de uma variável permitirá que você escolha como você deseja prosseguir-o
expressão que é avaliada retornará Verdadeiro ou Falso. Para continuar com o próximo
etapa do seu pacote, você vai simplesmente usar o que seria o Ok (Que
é representado por uma seta verde no Estúdio ODI) e Ko (A qual é representada
por uma seta vermelha no estúdio ODI) setas-True sendo a seta verde e Falso
sendo o vermelho. As variáveis podem ser comparados com literais ou a outras variáveis. Quando
comparação de variáveis a um outro, prestar atenção aos tipos de dados variáveis, e fazer
Não se esqueça de prefixo ao nome da variável com o código do projeto.

Usando variáveis, você pode facilmente definir laços em seus cenários com as variáveis sendo
conjunto, atualizada, e / ou avaliados para definir os valores e regras de saída para as alças.

Você não quer ter loops infinitos no projeto de seu


soluções. Um loop infinito significa que seu processo seria
nunca terminam, o que significa que os registros associados será sempre
ser "correr" e nunca vai ser purgado. Certifique-se de que você
sempre tem uma saída em seus loops e invocar o seu cenário se
você quer que ele seja executado novamente. A próxima iteração do cenário
vontade
ser um processo novo, que permitirá que os administradores para purgar a
toras de iteração anterior sempre que necessário para o fazer.

[81]

www.it-ebooks.info
Usando variáveis

Planos de carga
Planos de carga, como pacotes, pode tirar vantagem de variáveis.

Planos de carga são objetos projetados para os operadores de orquestrar seus cenários.
Mesmo que parece que você pode adicionar outros objetos além de cenários para
Seus planos de Carga (interfaces e variáveis), por trás da cenas gera uma ODI
cenário para cada objeto que você adicionar ao Plano de Carga. Isto é muito importante
para as variáveis-se modificar a definição de uma variável depois de ter adicionado
a um plano de carga, você vai ter de se regenerar o cenário associado para a
Carregar Plano de saber sobre a nova definição.

A finalidade da utilização de variáveis em planos de carga é o de permitir muito flexível,


de escolha múltipla de ramificação. Um dos tipos de passos que você pode adicionar a um Plano
de Carga
é um Caso a etapa em que uma variável será avaliada. Você pode então escolher o que o
diferentes casos será com subsequente Quando passos.

Na imagem anterior, podemos ver o início de uma Caso avaliação no


porção superior da tela, e a parte inferior ilustra as possíveis escolhas
disponível para o Quando passos.

[82]

www.it-ebooks.info
Capítulo 3

Resumo
Agora você deve estar confortável com as noções de variáveis em ODI e como
aproveitá-los para operar em um ambiente que pode ser extremamente dinâmica.

Vimos em detalhe os elementos seguintes:

• Como criar variáveis, e como o impacto definições diferente do


Facilidade de variáveis

• Como usar variáveis em modelos e interfaces para que o mesmo código pode
ser usado até mesmo em um ambiente dinâmico

• Como usar variáveis em pacotes e planos de carga como pontos de decisão ou


Os pontos de ramificação

Podemos agora olhar para as diferentes etapas necessárias para construir os seus processos, a
partir de
conectividade para a fonte e de destino, para as transformações requeridas e
técnicas de carregamento. Como podemos cobrir esses elementos nos capítulos seguintes, manter-
se na
importa que você pode usar variáveis na maioria dos lugares.

[83]

www.it-ebooks.info
www.it-ebooks.info
Fontes ODI, metas e
Módulos de Conhecimento
Sabemos que o principal uso do ODI é mover e transformar dados de um lugar
para a outra. Portanto, neste capítulo vamos aprofundar um pouco mais sobre as atividades e
conceitos que regem a definição e utilização de armazenamentos de dados de origem e destino eo
mecanismos usados para mover dados entre eles.

Primeiro de tudo, vamos dar uma olhada em como você definir e configurar servidores de dados e
esquemas e como a engenharia reversa-los em modelos ODI para fornecer fontes
e metas para os fluxos de interface. Então vamos dar uma olhada em algumas simples, mas comum
interface de exemplos de fluxo, e Módulos finalmente vamos revisitar Conhecimento e os papéis
eles jogam em fluxos de dados. As atividades e conceitos nós estaremos cobrindo neste capítulo
incluem o seguinte:

• Definindo Esquemas física usando o Navigator Topologia e ligando


eles nomes de esquema lógico através Contextos

• Engenharia reversa metadados do banco de dados e banco de dados-como


sistemas em modelos usando ODI Designer Navigator

• Engenharia reversa dados do banco de dados não-sistemas, criando


metadados estruturais a partir do zero, e ODI existente enriquecedor
modelos e seus metadados

• Compreender os principais participantes e mecanismos de uma forma simples


ODI fluxo de dados

• Identificação do núcleo de conhecimento tipos de módulos para o movimento de dados


simples
e compreender o seu envolvimento no processo

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

• Escolher e importar módulos de conhecimento específicos em um conjunto de


dados
projeto de integração
• Compreender a estrutura de alto nível de um Módulo de Conhecimento
• Opções disponíveis para personalizar o comportamento de um Módulo de Conhecimento

Definir esquemas físicos, lógicos


Esquemas, e Contextos
Para acessar ou preencher os dados, ODI precisa saber onde que os dados reside. O
locais físicos e critérios de conexão para servidores e os esquemas físicos são
definido no Navigator Topologia, sob a Arquitetura Física. A conexão
Detalhes dos servidores e esquemas podem variar de um ambiente para
(Ambiente de desenvolvimento, ambiente de teste, ambiente de produção, e qualquer
outro ambiente que você tem), mas os dados sobre esses servidores serão organizados a
mesma maneira. Para desenvolvedores de abrigo essas variações de implementação, desenvolvedores
só tem que saber sobre um nome para todos os ambientes, chamada de lógica
Esquema (pense nisso como um alias para todas as conexões físicas). Um contexto será criado
para cada ambiente, de modo que, quando necessário, o esquema lógico pode apontar para o
conexão física adequada. Vamos agora ver esses elementos com mais detalhes.

Definindo servidores de dados físicos


Uma vez que tenhamos ligado ao Mestre ODI e repositórios de trabalho, começamos por
selecionar o Navegador de Topologia para ter acesso à Arquitetura Física. Aqui
vamos encontrar uma lista de tecnologias. Abaixo de cada tecnologia, servidores de dados serão
listados.
Servidores de dados irá listar seus próprios esquemas físicos. Por padrão, todas as
tecnologias são listados em ambas as seções arquitetura física e lógica. Este
é útil quando se adiciona o primeiro servidor de uma nova tecnologia, mas como mostrado na
seguindo tela, o display pode ser simplificado para mostrar apenas "usados" tecnologias
usando o Ocultar Technologies não utilizados opção no menu drop-down do
cabeçalho da guia do Topologia Navegador.

[86]

www.it-ebooks.info
Capítulo 4

Para adicionar um novo esquema de Arquitetura Física ODI, precisamos primeiro a adicionar
umServidor de Dados Novo no Oráculo seção de tecnologia, onde vamos definir a
instância Oracle particular.

Menus pop-up e clica duas vezes em ODI


A maioria das operações em objetos no ODI, seja no Topologia
Navigator ou nos outros componentes ODI Studio (Designer,
Operador, ou Segurança) pode ser acessado via menus pop-up que
são ativados através de um clique direito sobre o objeto. Para muitos objetos
o editor padrão pode ser aberto com um duplo-clique sobre o
objeto na árvore de navegação.

[87]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Os editores ODI estúdio, como o Servidor de Dados editor mostrado a seguir


imagem, tem uma aparência comum, com abas na barra lateral à esquerda e
ocasionalmente subguias na parte inferior.

O Definição guia do editor de Servidor de Dados mostra o nome do servidor de dados e do


usuário / senha credenciais que serão usadas por ODI Studio e do tempo de execução
agentes para fazer logon no servidor.

Escolher o nome de usuário adequado para fazer login


no
Normalmente é recomendado para criar um usuário dedicado para fazer login
Haverá muitos benefícios para isso. Em primeiro lugar, toda a actividade da
ferramenta
Será facilmente monitorada pelos DBAs uma vez que irá ser todos sob
um nome de usuário único. Em seguida, a partir de uma perspectiva de permissões,
você será capaz de certificar-se de que a ferramenta tem todo o necessário
privilégios, e apenas os privilégios necessários. Estes podem ser (e
provavelmente será) diferente de privilégios de todos os usuários existentes.

Este painel também fornece ao usuário a capacidade de ajustar a aquisição de dados


ajustando o desempenho Matriz tamanho de busca e a Tamanho do lote Update, que
controlar o número de registos adquiridos por lote e o número de registos escritos
quando ODI usa JDBC para transferir dados da origem para o destino.

É uma boa idéia usar uma convenção de nomenclatura para referências de servidor de dados de
modo que é
fácil de dizer em poucas palavras que a entrada de dados no servidor físico corresponde ODI
a qual servidor no ambiente físico. A convenção de nomenclatura bastante comum
para servidores de dados Oracle usa o sistema Oracle ID (SID) em conjunto com um
nome de host, tais como ORCL_on_myhost. Alternativamente, você pode optar por usar o
construir, <technology> _ <purpose> _ <environment>, Como o ORCL_SALES_DEV.

[88]

www.it-ebooks.info
Capítulo 4

Maximizar e restaurar editores


Se há sempre uma necessidade de maximizar um editor ODI em toda a extensão
da janela ODI Studio, nós podemos fazer isso clicando duas vezes no
guia da janela do editor cabeçalho (clique duas vezes na guia
cabeçalho restaura-lo ao seu tamanho anterior). Não se esqueça que para fechar
um guia que você deve passar o mouse sobre o canto superior direito da guia e
clique no Xque aparece.

O JDBC guia mostra o nome da classe do driver ea URL de conexão usada para conectar
para o servidor de dados, em conjunto com as credenciais na Definição guia.

Esta informação pode ser digitado diretamente se conhecido, ou pode ser construído usando
assistentes através dos ícones de pesquisa que estão à direita dos campos (o próximo
ao Url JDBC campo na imagem anterior é realçado).

Não usar "localhost" na URL JDBC


Lembre-se que ODI é um sistema baseada em repositório central e
será usado simultaneamente por qualquer número de desenvolvedores e / ou
agentes de execução, todos rodando em diferentes máquinas. Para cada um deles, o
hostname localhost se referem a uma máquina diferente (o sistema
onde são executadas), então um recurso que pode ser local para o
pessoa criar a sua referência no ODI é improvável de ser local para outro
desenvolvedores e agentes. Portanto, é sempre mais seguro de usar um explícita
nome ou endereço IP quando se refere a recursos locais, mesmo se
isso acontece a ser local, no momento da definição que a referência.

Uma vez que a classe do driver JDBC e informações de URL foi digitado, podemos testar
a configuração clicando no Teste de ligação link no cabeçalho do editor
bar. Depois de se escolher qual agente físico será usada para executar o teste (o
padrão "nenhum agente" usará ODI Studio como o agente), ODI, então, testar a
conexão para o novo servidor.

[89]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

O Definição guia tem a opção de especificar se os dados


detalhes do servidor de conexão são realizadas em um servidor LDAP externo
ODI que pode acessar via JNDI (Java Naming and Directory
Interface). Se você selecionar a JNDI caixa de seleção na Definição
guia, em seguida, o JDBC guia será alterado para JNDI de modo que lhe
pode entrar as informações de conexão adequada para o seu LDAP
servidor. Nós não vamos entrar em esta capacidade dentro deste livro, mas
é um mecanismo que pode ser usado para evitar a manutenção da segurança
credenciais dentro do repositório ODI.

Definindo Esquemas físicas


Sempre que criar e salvar um novo servidor de dados na Arquitetura Física ODI,
que é solicitado a criar uma referência a um esquema físico localizado no servidor,
já que é a esquemas em um servidor de dados que armazenam os dados de negócio de interesse. Um
ODI servidor de dados contém um ou mais esquemas físicos. Uma delas será definida
como o esquema padrão. O primeiro esquema que é criado é selecionado como padrão
esquema, se você não alterar a seleção. Será importante lembrar isso se
você eventualmente excluir este esquema, como algumas tabelas (resumo de erros, por exemplo) são
automaticamente ligado ao esquema padrão.

Dados esquemas e esquemas de trabalho


Sempre ODI está realizando seu trabalho de integração de dados, haverá momentos (como
quando encenar alguns dados em um fluxo ou em caso de desvio registros de erro fora do principal
fluxo de dados) quando ODI usará temporários "trabalho" tabelas. Para permitir que essas mesas de
trabalho para
ser gerenciados separadamente a partir de dados de empresas de produção, ODI introduz o conceito
de um "esquema" e um "esquema de trabalho" para cada esquema físico. O esquema tem a
dados de negócios, enquanto o esquema de trabalho possui as tabelas de dados temporários criados e
gerida por ODI. Tabelas temporárias criadas por ODI terá sempre um $assinar em
início de seu nome (por exemplo, E $ _xxx,I $ _xxx,C $ _xxx) Este emparelhamento de trabalho
e esquemas de dados é especificado dentro do Esquema Físico painel, tal como definido numa
servidor de dados.

[90]

www.it-ebooks.info
Capítulo 4

O Esquema Físico editor mostra duas caixas drop-down list a partir do qual podemos
seleccionar os esquemas de banco de dados subjacentes que são usados para armazenar os
dados de negócios
(Esquema) e manter as tabelas de trabalho (esquema de trabalho).

É muito comum para administradores de sistemas de origem e destino


a insistir sobre a separação de todos os artefatos de trabalho ODI (as mesas de $)
dos objetos de esquema de negócio. É por esta razão que o
ODI oferece a capacidade de especificar dois locais distintos do esquema.

ODI automaticamente listar os esquemas disponíveis para os servidores que estão ligados
a, desde que seja possível fazê-lo. Isto significa que:

• Com base nos privilégios do usuário que você usou para se conectar ao servidor,
você não pode ver todos os esquemas (e em alguns casos, você não pode ver qualquer
esquema
em tudo, o que é comum quando o usuário não tem privilégios suficientes).
• Algumas tecnologias não têm a "infra-estrutura" necessária para listar o
entradas possíveis; arquivos simples seria um exemplo, onde o diretório nomes
devem ser inseridos manualmente. Você pode realmente digitar o texto diretamente na
drop-down lista.

• Alguns drivers JDBC (felizmente há cada vez menos estes) não sabe
como a lista de esquemas. Se você encontrar um desses, você terá que digitar
os nomes dos esquemas diretamente na lista drop-down.

[91]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Algumas recomendações para esquemas e esquemas de trabalho são as seguintes:

• Mesmo se você sabe o nome do esquema, certifique-se de soletrar exatamente como aparece
no ODI drop-down. Em particular, JDBC é sensível a maiúsculas para o esquema
nomes, e usando o caso errado iria impedi-lo de ver tabelas em
seu banco de dados, o que seria muito inconveniente.

• Sempre usar um esquema específico para o Esquema (esquema de trabalho). Um muito


boa prática é usar o esquema de propriedade do usuário que você tem dedicado
criado para conectar-se ao servidor. Desde ODI irá criar e apagar temporária
tabelas, possuir o esquema, será mais fácil para atribuir privilégios.

Logo abaixo a seleção esquema são duas seções-uma ODI mostra os prefixos vontade
usar ao criar suas tabelas de trabalho, o outro mostra as convenções de nomenclatura ODI vontade
usar quando acessar objetos locais e remotos (por exemplo, quando o uso de partições ou
links de dados em um servidor Oracle). A modificação desses valores é bastante raro e deve
ser considerado apenas se necessário em seu ambiente por razões técnicas (pense
ambientes onde $sinais seria problemático, por exemplo).

Definição de esquemas lógicos e Contextos


A definição Esquema Físico precisa ser associado a um nome de esquema lógico
(Um apelido ambiente independentes ou apelido), que será utilizado exclusivamente para
construir modelos ODI e, posteriormente, interfaces e outros objetos de integração de dados.
A associação do mundo físico para o mundo lógico é alcançado através de um "contexto".

Por padrão ODI oferece um contexto único chamado Global, mas


pode criar quantas Contextos adicionais, conforme necessário (por exemplo
desenvolvimento, teste, estadiamento, e produção). Desta forma, pode ligar
nossos modelos de dados e objetos de integração de dados para tantos semelhante
ambientes configurados como necessários para gerenciar os dados
integração do ciclo de vida e para a implantação de nossas soluções de integração de
dados
com alterações mínimas, como nos movemos de um ambiente para outro.

[92]

www.it-ebooks.info
Capítulo 4

Quando você cria um novo esquema físico, você pode definir o contexto ea lógica
Esquema que está associado com o no Contexto guia. Alternativamente, você pode ignorar
este separador quando você cria o esquema físico, e combinar suas esquema lógico com
um contexto e Esquema Físico ou na definição do esquema lógico, ou em
a definição do contexto.

Veremos mais adiante neste capítulo, os diferentes pontos de vista, a partir de um contexto ou
Lógico
Perspectiva do esquema.

Inserir os valores de campo em ODI


É melhor para acertar o Entrar tecla depois de introduzir valores em campos de dados
ODI
ter certeza de que o novo valor digitado foi reconhecido e
aceito. Foi o caso do ODI 10g e continua com ODI 11g. Se
Você já pensou que ODI está ignorando quaisquer alterações ou novas entradas em
valores de campo, lembre-se de bater Enter.

Um novo comportamento ODI 11g trazida pela utilização do IDE JDeveloper quadro
é que vários editores agora podem ser abertos simultaneamente e acessados através de diferentes
guias. O conteúdo atual de cada uma dessas guias pode ser salvo a qualquer momento, pressionando
o adequado "disco" ícone localizado no canto superior esquerdo do Estúdio ODI. Uma vez
salva, cada uma dessas abas pode ser seguramente fechada, clicando no Xque aparece se você
passe o cursor sobre o lado direito da guia do editor título.

A criação de uma definição de esquema físico, juntamente com o baseada no contexto


associação a um nome de esquema lógico completa o trabalho de base necessário dentro
o Topologia Navegador. Estamos agora capaz de fazer uso dessas estruturas de esquema
como vamos construir nossos modelos de dados, interfaces e outros objetos ODI.

[93]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Banco de dados não-tecnologias


Antes de deixar o Topologia Navegador, vamos dar uma olhada rápida em dois bancos de dados não
tecnologias e servidores de dados para ver como suas definições e configurações diferentes
daqueles para um banco de dados SQL:

• ARQUIVO
• XML

Flat Files
ODI vem pré-configurado com um Arquivo servidor de dados chamado FILE_GENERIC. No
Editor de dados do servidor para esta tecnologia, a Definição guia mostra o servidor de dados
nome, mas o Usuário, host e Senha campos estão vazios. O JDBC mostra guia
que um arquivo acessado por ODI utiliza um driver JDBC (que é entregue como parte do
ODI produto).

No entanto, o Url JDBC campo também não faz menção de um nome de host ou rede
protocolo. Isso indica que o arquivo ODI driver JDBC só pode acessar arquivos que são
visível pelo programa usando o driver. Então, por implicação, eles devem ser locais para o
próprio controlador. Se o driver JDBC é utilizado pelo Estúdio ODI, o arquivo deve ser visível
para o estúdio. Se o driver é usado pelo agente ODI, o arquivo deve estar visível para
o agente (seja na forma de um arquivo local ou arquivos localizados em um sistema de arquivos
compartilhado).
Isso é algo a ter em mente ao projetar fluxos de dados que envolvem arquivos simples
e colocação de agentes ODI. ODI 11g tem várias capacidades para a transferência de
e cópia de arquivos em uma rede, mas quando se trata de leitura ou gravação de dados de arquivos,
esses arquivos tem que ser acessível para o leitor ou escritor. Isso será verdade se você
decidir carregar arquivos com JDBC ou banco de dados utilitários nativos (ODI, que a alavancagem
pode como
bem)-arquivos devem ser visíveis para os carregadores e escritores.

O uso de servidores de arquivo de dados também significa que testar a conexão é em grande parte sem
sentido
além de verificar que o arquivo ODI driver JDBC está instalado corretamente e acessível
por ODI Studio.

[94]

www.it-ebooks.info
Capítulo 4

No editor de esquema físico de um servidor de arquivo de dados, podemos ver que o Definição aba
tem a mesma Esquema e Trabalho de esquema campos como usamos antes, mas desta vez estes
campos são Diretório referências, não referências de esquema de banco de dados. Aqui devemos
substituir
o <Undefined> texto com a localização do (s) a escolha, tal como c :/ po / entrada como mostrado
na imagem seguinte:

Barras são usados como separadores de diretório como estes são


a forma de plataforma portátil em Java, mesmo que o inicial c: não é. A
caractere de barra invertida é tratado como um caractere de escape pelo Java e
criará problemas se usado no Directory (esquema) campo de entrada.

Apesar de um esquema ODI física tem um significado um pouco diferente quando se trata
com sistemas de arquivos (que é um diretório de arquivos, e não um host ou "servidor" exemplo), ainda
temos que
vincular nosso esquema físico a um esquema lógico através do Contexto guia, exatamente como antes.

Arquivos XML
Em seguida, vamos dar uma rápida olhada em como arquivos XML são tratados, porque estes são um
pouco
diferente de arquivos simples.

[95]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Mais uma vez, o Usuário, host e Senha campos na Definição guia dos Dados
Editor servidor não têm efeito e podem ser deixados em branco. Da mesma forma que arquivos simples,
apenas XML
ficheiros que são acessíveis pelo agente de execução (incluindo o agente incorporado em ODI
Studio) podem ser processados. Ao clicar sobre o JDBC guia, podemos clicar na busca
ícone ao lado do Driver JDBC campo e aceitar o driver padrão mostrado (com base
a tecnologia a ser utilizada, este driver será pré-selecionado para ODI Driver JDBC para
XML). O JDBC guia indica que o acesso ODI do arquivo XML também vai usar um driver JDBC
(Que, naturalmente, já é fornecido como parte do produto ODI).

Ao clicar no ícone de pesquisa junto ao Url JDBC campo, vemos que um exemplo
Modelo de URL é fornecido com um nome de ficheiro de substituição obrigatória exigida e um
número de propriedades de ligação opcionais que podem ser adicionados no final.

Essas opções definem o comportamento de acesso, como se o arquivo a ser aberto


como só de leitura, quer caso a sensibilidade é para ser utilizado, e assim por diante. A lista completa
de URL
opções é explicada na documentação 11g ODI no Conectividade e Conhecimento
Módulos Guia para o Oracle Data Integrator (http://download.oracle.com/docs/cd/
E23943_01/integrate.1111/e12644/toc.htm).

Se aceitamos o modelo de URL exemplo, clicando em OK, que é inserido no


Url JDBC campo onde se pode modificar os valores de propriedade para atender às nossas
necessidades.
Duas propriedades que vamos escolher para fora da caixa de diálogo são os valores atribuídos
para fe s, Mas nós também vamos destacar um terceiro, ou seja, d. O significado destas
propriedades é a seguinte:

• O fvalor é o caminho completo eo nome do arquivo XML que será


acessando. A partir disso, podemos ver que, apesar de a maioria dos servidores de dados
correspondem
a instâncias de banco de dados, servidores, ou um diretório de arquivo completo, dados de
um XML '
servidor ', no entanto corresponde a um único arquivo XML. (Se preferir ser mais
descritiva, a f = atribuição pode ser substituído por = arquivo.) Como um exemplo,
podemos usar file = c :/ po/input/MarketInc_po_001.xml.
[96]

www.it-ebooks.info
Capítulo 4

Codificar um nome de ficheiro não é sempre necessário como uma variável


é frequentemente utilizado em implantações mais avançadas. Isso faz com que
o
motorista muito mais dinâmico.

• O svalor é o nome do esquema no qual os dados XML será


carregado. (Aqui, novamente, o s = texto é uma alternativa mais explícita de esquema =.)
Na ausência de quaisquer outras propriedades de ser estabelecidos, este será um conjunto
de in-
estruturas de memória que irá se referem a ODI por este nome esquema. O esquema
nome deve ser sempre em maiúsculas e não deve coincidir com os nomes de tags XML.
Também é altamente recomendável manter o nome do esquema curto todos tabelas
criado na estrutura temporária irá conter essa seqüência. Assim, por exemplo,
podemos optar por usar um esquema chamado PO.

• A terceira propriedade que nós vamos cobrir rapidamente aqui é a d(Ou dtd) Propriedade.
Esta propriedade opcional é usado para definir o caminho eo nome de arquivo de um DTD ou
XSD
arquivo que define a estrutura do arquivo XML que está sendo acessado. Na ausência
desta propriedade, ODI vão chegar a um arquivo DTD que ele encontra no XML
arquivo. No entanto, ele também irá designar todos os campos descobertos a ser obrigatória e
não vai servir para campos que são opcionais e desaparecidos no arquivo referenciado em
o file = propriedade. No exemplo a seguir, estamos definindo o valor para
c :/ po / XmlSchemas / po.xsd.

Se usarmos esses valores de propriedade sugeridas, as nossas configurações JDBC será semelhante
ao
seguindo screenshot:

Existe uma Teste de ligação link no cabeçalho da guia. Ao contrário de arquivos simples, quando se
tratar
com servidor de dados XML, este teste executa uma ação muito útil, verificando que o
configurações de propriedade que tenha especificado todo o trabalho (por exemplo, o teste seria
verificar se
temos um arquivo XSD que descreve com precisão a estrutura do nosso arquivo XML). Se
executar o teste de aceitação de todas as configurações de execução padrão, devemos ver um Bem
sucedido
Conexão mensagem.

[97]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Para se certificar de que a conexão funciona, o driver JDBC


tentará carregar dados de um arquivo XML em seu in-memory
esquema de banco de dados. Uma vez que os dados são carregados na
memória, o
motorista não irá recuperar dados de um arquivo mais, a não ser
explicitamente solicitado a fazê-lo. O motorista vem com uma grande variedade
de comandos e parâmetros de configuração que valem a pena
investigar se você quer ser sério sobre integração XML.

Ao criar um novo esquema ODI Física baseada no servidor XML, podemos selecionar
o nosso nome do esquema especificado anteriormente (PO), Tanto Esquema e Trabalho de esquema
usando as listas drop-down no editor de esquema físico. No Contexto dedo-guia,
vamos adicionar uma nova associação, através do Global contexto, a um nome de esquema lógico
(Na imagem a seguir, que o nome foi escolhido para ser PurchaseOrder).

Enquanto ainda temos a Topologia Navegador aberto, podemos dar uma olhada no Contexto
e Arquitetura lógica vê com base nos diferentes exemplos que temos visto até agora.

Se expandirmos a Contextos no painel Topologia Navegador, podemos ver que nós só


têm um contexto definido, ou seja, Global. Se clicar duas vezes sobre o nome do contexto
para abrir o editor de contexto e, em seguida, escolher o Esquemas guia, vamos ver uma lista de todos
os
lógico para físico esquema mapeamentos dentro desse contexto. No topo da lista há
são algum sistema criado esquemas, mas mais para baixo vai ser qualquer um dos esquemas que
você poderia criar. Na imagem seguinte, esses esquemas adicionais foram
realçada com uma caixa vermelha.

[98]

www.it-ebooks.info
Capítulo 4

Como alternativa, através da expansão da Arquitetura lógica ver, podemos ver para cada
tecnologia, todos os nomes de esquema lógico que foram definidos até agora.
(Lembre-se, o Ocultar Technologies não utilizados opção muitas vezes é útil aqui.)

Com um duplo clique em qualquer desses esquemas lógicos que podemos ver as
associações,
Pelo contexto, para as várias arquiteturas físicas.

[99]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Até agora temos visto:

• Como referências a servidores físicos e esquemas são criados


• Alguns dos principais aspectos e diferenças entre as referências para
servidores de banco de dados, sistemas de arquivos, e arquivos XML

• Três pontos de vista diferentes de as informações de topologia:

° A visão Arquitetura física, o que mostra a maioria dos detalhes


° A visão de contexto, que mostra todos os contextos e todo o
associações lógicas / físico para um determinado contexto

° O ponto de vista da arquitetura lógica, que mostra toda a lógica


Nomes de esquema e como cada esquema lógico é mapeado para
Esquemas físicos listados pelo nome de contexto

Em seguida, vamos ver como todas essas informações topologia é captada em ODI modelos
e como datastores individuais (mesas, arquivos, filas JMS, e assim por diante) são feitas
disponíveis para projetos de fluxo de dados.

Engenharia reversa em metadados


Modelos ODI
Antes de podermos acessar e integrar dados com o Designer de ODI, precisamos criar
"Modelos" com base nas definições de esquema lógico que temos na topologia. ODI
modelos são abstraídos para ser independente do tipo físico de dados do servidor (banco de dados,
arquivos, JMS filas e tópicos, e assim por diante), então eles vão ter um olhar comum e
sentir, apesar de ter dramaticamente diferentes representações físicas. Esta muito
simplifica a sua utilização como fonte e metas e é um grande benefício do uso ODI.

Embora possamos criar manualmente um modelo ODI, incluindo suas definições de armazenamento de
dados,
restrições e relacionamentos, o método normal e recomendado a criação de
modelos é a engenharia reversa de os metadados estruturais diretamente dos bancos de dados,
arquivos e outros recursos de dados. Por vezes, uma combinação de ambas as actividades é usado
em que o desenvolvedor começa com o processo de engenharia reversa, em seguida, aumenta
os metadados capturados com detalhes adicionais de metadados (tais como a integridade referencial
informação que não pode ser representado dentro do banco de dados).

[100]

www.it-ebooks.info
Capítulo 4

O termo metadados é usado para fazer referência a dados que descrevem o


estrutura de objetos, como tabelas, colunas, vistas, índices,
restrições, relacionamentos, e assim por diante.

ODI pode executar engenharia reversa através de vários métodos diferentes, dependendo
sobre a tecnologia envolvida e o grau de engenharia reversa necessário. O
figura a seguir mostra os três principais métodos de engenharia reversa, ou seja,
padrão, personalizado, e arquivo específico.

Trabalho ODI
Repositório
Formato delimitado Arquivo específico
Engenharia Reversa Modelo

Modelo
ODI

Formato fixo
COBOL copybook Modelo
JDBC RKM

Banco de dados
Sistema

Objetos de banco de dados Padrão


Reverter
Engenharia

Tabelas do sistema

Reverso personalizado
Engenharia

Vamos dar uma breve olhada em cada um dos três métodos.

Padrão de engenharia reversa


Padrão de engenharia reversa é executada por ODI por internamente emissão
metadados relacionado JDBC chamadas para o driver para a tecnologia específica e
em seguida, o processamento das respostas para construir uma imagem dos dados de
metadados
estruturas contidas dentro do sistema físico. Este é o mais comum
forma de engenharia reversa usado com sistemas de banco de dados.

[101]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Como vimos anteriormente, um esquema lógico para uma tecnologia de banco de dados se traduz em
uma
esquema de banco de dados físico para um determinado contexto. Então ODI nos dá a escolha, quer
a engenharia reversa do banco de dados estrutura física inteira ou apenas os objetos selecionados.
Estas escolhas vêm em forma de caixas e caixas de filtro de objetos individuais
disponível na Seletiva engenharia reversa guia.

A imagem anterior mostra que um conjunto reduzido de tabelas foi seleccionada para
engenharia reversa, que pode ser iniciado clicando no ícone no lado esquerdo
lado da barra de cabeçalho dentro da aba do editor de modelo.

Personalizado engenharia reversa


Haverá casos em que chamadas de metadados JDBC, não será suficiente para importar
metadados do sistema que você deseja fazer engenharia reversa; alguns drivers JDBC estão
muito limitado e não suporta esta funcionalidade. Alguns sistemas seria demasiado complexo
a engenharia reversa apenas com base em nomes de mesa (ERPs, por exemplo, geralmente têm
dezenas de milhares de tabelas).

Para esses casos, Engenharia reversa Módulo Conhecimento (RKM) pode ser necessária
para acessar diretamente as tabelas do sistema do sistema subjacente, a fim de extrair
os metadados para o modelo ODI. ODI navios com uma série de aplicações para RKMs
(E-Business Suite, PeopleSoft, JD Edwards, SAP, Siebel e Hyperion), bem
como para algumas bases de dados. Como visto na imagem seguinte, costume RKMs
geralmente incluem opções especiais que são usados para afinar as ações do
engenharia reversa processo.

[102]

www.it-ebooks.info
Capítulo 4

Arquivo de engenharia reversa


O terceiro método para engenharia reversa é limitada a arquivos simples. Isto é porque há
não é a "inteligência" do sistema de arquivos e do ODI driver JDBC para arquivos simples não pode
interrogar qualquer sistema central sobre as estruturas de um grupo de ficheiros de uma determinada
diretório. Em vez disso, os arquivos individuais são engenharia reversa de um por um. ODI tem
assistentes para auxiliar nesta atividade e que estes assistentes interrogar cada arquivo que
está sendo engenharia reversa. Começamos por especificar se um arquivo é formato fixo
ou delimitado, o que os delimitadores ou limites de coluna estão, e se existem
todas as linhas de cabeçalho de coluna no início do arquivo (e se sim, quantos). Depois
concluir essas etapas de definição de base, o assistente irá executar a maioria da
criação de metadados.

[103]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Antes de fechar os assistentes de arquivo, também temos a oportunidade de especificar ou alterar


nomes de colunas, tipos de dados, tamanhos e informações de formatação (por exemplo, as datas)
que pode ter sido lida ou inferidos a partir do ficheiro.

Será importante, em particular para avaliar o tamanho dos campos


engenharia reversa pelos assistentes. Não há caminho para a
assistente para assegurar que os tamanhos são precisas para todas as iterações
do arquivo, e definindo os tamanhos das colunas que são menores do que o
dados reais resultará em não processos. Definindo colunas
que são muito grandes não terão impacto além de desperdiçar espaço.

XML engenharia reversa


Engenharia reversa de um arquivo XML é muito semelhante à engenharia reversa, um conjunto de
relacionados com tabelas de dados. Se o ODI Driver JDBC para arquivos XML é capaz de usar um DTD
ou XSD que descreve o conteúdo do arquivo XML (em outras palavras, o DTD
ou XSD mantém os metadados do arquivo XML), o driver XML que vai usar
metadados para construir um modelo de armazenamentos de dados ligados na mesma hierarquia que a
marca e
atribuir assentamento dentro do arquivo XML. Se não DTD ou XSD como está disponível, o motorista
vai interrogar todo o arquivo XML e construir um arquivo DTD novo com base no que
descobre. A principal diferença entre um modelo baseado em um arquivo XML e um baseado
em tabelas de banco de dados é que o driver ODI XML adiciona as "colunas" para o
datastores modelados para permitir a hierarquia de aninhamento de tags para ser preservado e também
para gravar a ordem das entradas de dados no arquivo XML.

Algumas tecnologias, como JMS não suportam qualquer tipo de


engenharia reversa. Isto é porque o conteúdo de uma JMS
mensagem (dentro do envelope e endereçamento construções)
não são especificados pelo sistema JMS, mas sim pelo remetente
da mensagem. Neste caso, pode usar um arquivo de um apartamento ou
XSD que corresponde à definição da estrutura do
mensagens. Em seguida, copie essas definições em seu modelo JMS.

Agora sabemos o básico de alto nível de como criar modelos de ODI e datastores
com base nas estruturas realizadas no banco de dados, arquivos simples, e arquivos XML. Eles são
como se segue:
• Modelos são baseados em esquemas lógicos, que devem ser associados
com um esquema físico para engenharia reversa a fim de extrair
a estrutura do esquema.

• Existem três métodos principais de engenharia reversa, ou seja, simples,


personalizado, (com personalizações captada em uma tecnologia específica RKM)
e arquivo de métodos específicos.

[104]

www.it-ebooks.info
Capítulo 4

• Nós podemos fazer uma seleção das tabelas disponíveis, exibições e outros objetos em
um banco de dados para limitar o que importar para o nosso modelo ODI, ao invés de sempre
modelar a estrutura do esquema completo.

• Tipo de dados e metadados nome da coluna para arquivos simples pode ser
enriquecida e
modificadas durante o processo de engenharia reversa.
• Nem todas as tecnologias de apoio a engenharia reversa e que a criação manual
de metadados do modelo serão necessários nesses casos.

• XML do ODI arquivo do driver inverter-engenheiros arquivos usando DTD ou documentos


XSD
para fornecer os metadados e cria uma hierarquia de armazenamentos de dados ligados para
cada arquivo processado, com um arquivo que equivale a um esquema lógico. Se nenhum
DTD ou
Documentos XSD estão disponíveis, o motorista XML vai derivar a estrutura por
digitalização de todo o arquivo XML.

Examinando a anatomia do
fluxo de interface
Uma vez que nós criamos todas as nossas definições e referências para os dados que nós queremos
ODI para transformar e transportar, podemos nos concentrar sobre o que precisamente é que nós
queremos
a ter lugar em termos de mapeamentos de dados e transformações, que é podemos olhar
para a criação de interfaces ODI. Nós já vimos que ODI usa uma abordagem E LT-
e arquitetura, mas o que significa isso em detalhes? Que ações são realizadas,
onde e em que momento durante o fluxo global, e quais os componentes que
executar essas ações?

Nesta seção vamos percorrer três muito simples, mas comum ODI fluxos de dados
para examinar e explicar estes aspectos do comportamento operacional ODI.

Interfaces ODI são os objetos usados para transformar e transportar dados de um ou


mais fontes para um alvo, de modo que cada um desses exemplos de fluxo será implementado em
uma interface separada.

Exemplo 1: Banco de dados e arquivo de banco de


dados
Este exemplo é o alicerce de muitos empregos de ETL. É um caso simples de carregar
dados em um data warehouse ou data mart para torná-lo pronto para outros sistemas, como
Enterprise Resource Planning (ERP), análise de negócios e geração de relatórios de inteligência,
Customer Relationship Management (CRM), Master Data Management (MDM),
ou arquivamento.

[105]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Aqui nós vamos considerar tomar dados de duas tabelas de origem relacionados em um banco de
dados, juntando-se
-los com alguns dados adicionais a partir de um arquivo, transformar os dados e "upserting /
fusão "os dados resultantes transformadas e enriquecido em uma única tabela dentro do nosso
banco de dados de destino. As duas tabelas de banco de dados de fonte segurar ordens e OrderItem
entradas,
com o arquivo contendo uma lista de pricingCorrection linhas de produto. A tabela de destino,
orderSummary, é usado para armazenar o valor total de cada pedido fechado após a preços
correcções foram aplicadas.

MySQL

Oráculo
ordens

Filtrar, juntar,
OrderItem preço correto
e
valor da soma
orderSummary

Arquivo Simples

pricingCorrection.txt

A figura anterior mostra que a informação deve ser extraído de duas MySQL
mesas e arquivo plano e, em seguida filtrada para fechado apenas ordens. A informação a partir de
as três fontes de dados devem ser unidas, de modo que os itens pedidos são associados com o
Para pai e que quaisquer correcções de preços aplicáveis são aplicadas corretamente. O
valor de cada pedido tem de ser calculada e, em seguida, os valores resumidos adicionado à
De dados Oracle mart.

Não faz sentido usar o poder do banco de dados MySQL para executar o filtro para
fechado ordens ea junção de OrderItem entradas para os pedidos corretos: ODI permite
exatamente o que precisa ser feito. No entanto, existe ainda uma necessidade de aplicar o preços
correções. Nós conseguimos isso juntando-se a pricingCorrection dados com o
informações resultantes ordem, então, calcular os valores de resumo por produto, e
realizar qualquer transformação do formato final necessário para adicionar os dados no alvo
Oráculo dados da tabela mart. O trabalho compreendendo estas etapas intermédias será feito
em uma área de teste ODI-definido (esquema de trabalho), co-localizado no servidor Oracle.

[106]

www.it-ebooks.info
Capítulo 4

Como discutido na Definindo Esquemas físicas deste capítulo, o real


localização física de artefactos temporárias ODI será dependente da forma como o
Esquemas físicas foram configurados. Nós defendemos fortemente um esquema separado
para essas tabelas de teste.

Então precisamos de "algo" que:

• Emitir a consulta join-e-filtro para extrair os dados de MySQL em encenação


área em Oracle

• Extrair os dados do arquivo simples e upload em que a área de preparo


• Combine os dados na área de teste e enviá-lo de lá para
o alvo esquema de dados

Em ODI, este "algo" vem na forma de módulos de conhecimento:

• Módulos de conhecimento de carga (LKMs) carregar os dados de origem


a área de preparo

• Módulo de Integração do Conhecimento (GIC) vai integrar os dados a partir de


a área de teste para o esquema de destino

Oráculo
MySQL

ordens
LKM

OrderItem
SS_0 IKM
orderSummary

Arquivo Simples SS_1


LKM

pricingCorrection.txt

Na figura anterior, vemos que SS_0 e SS_1 (SS literalmente significa Fonte
Definir) são representações de mesas de trabalho criados por ODI na área de teste para permitir
o intermediário de trabalho resumindo os dados a serem executadas. Estas mesas
ser automaticamente criado por ODI, e excluído quando eles não são mais necessários.

[107]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Módulos de conhecimento são de diferentes tipos que se relacionam com a origem eo destino
tecnologias utilizadas e com a metodologia escolhida para mover os dados. O
escolha de qual dos KMs disponível é melhor, muitas vezes torna-se uma função do sistema de
de desempenho ou de base tecnológica recursos avançados. Por exemplo, o carregamento de
dados
usando um sistema Oracle Exadata, a seleção de um Módulo de Conhecimento, que aproveita
"Tabelas externas" seria, de longe, mais eficiente do que qualquer outra técnica. Outro
bancos de dados terão seus próprios utilitários que serão aproveitados por ODI, bem como, para
exemplo, o bcp para o Microsoft SQL Server ou Sybase, nzload para Netezza, ea lista
de utilitários continua com a lista de bancos de dados. Usando da Oracle MERGE funcionalidade está
geralmente mais eficaz do que usar um padrão INSERT / UPDATE.

No nosso exemplo, para filtrar, juntar, e carregar os dados do MySQL para a área de teste
no Oracle, o Módulo de Conhecimento de carga (LKM) que escolhemos pode ser LKM SQL para
Oracle. Para carregar os arquivos simples, a nossa escolha pode ser o genérico Arquivo LKM para SQL,
mas poderia facilmente ser um dos KMs Oracle-específico para o carregamento de dados de arquivos,
tais
como Arquivo LKM para Oracle (sqlldr) ou Arquivo para Oracle (tabela externa).

O Módulo de Conhecimento Integração (GIC) irá transferir os dados do teste


área na tabela de destino final. Na nossa situação (porque a área de preparo e
o alvo estão ambos na mesma instância Oracle), podemos escolher entre um dos
vários KMs adequado tal como IKM a Oracle Atualização Incremental e IKM da Oracle
Incremental Update (MERGE).

Exemplo 2: arquivo e banco de dados para o segundo


arquivo
ODI exige a localização da área de armazenamento temporário para qualquer fluxo de dados para ser
hospedado em um SQL
banco de dados. Isso é porque ele usa o processamento de SQL dentro do motor de banco de dados
para fazer
o "trabalho pesado" de criar, preencher e manipulação de tabelas de trabalho dentro
a área de preparo. Isto implica que as áreas de preparação não pode ser localizado na não-SQL
tecnologias, tais como sistemas de arquivos, lojas de mensagens JMS, ou sistemas de serviços web.
Portanto, se estamos usando um destes sistemas não-SQL como nosso alvo, nossa encenação
área deve ser localizado em algum lugar que não o sistema de destino. Felizmente, com
ODI, isso é muito simples de se conseguir. Neste exemplo, os requisitos das vendas
unidade de negócios mudaram e agora pedem a saída seja gravada em um arquivo chamado
orderSummary.csv em vez de ser enviada para o mart de dados Oracle. O SQL só
servidor de banco de dados que temos no fluxo é o sistema do MySQL, por isso vamos localizar nossa
ODI área de teste lá, basta selecionar o esquema apropriado lógicos de
a lista drop-down na guia da interface definição.

[108]

www.it-ebooks.info
Capítulo 4

MySQL

Arquivo Simples

ordens IKM

SS_0
OrderItem orderSummary.csv

Arquivo Simples
LKM

pricingCorrection.txt

No nosso exemplo actual, existe ainda uma necessidade para o pricingCorrection dados de arquivo
para ser carregado com um módulo de Conhecimento Loading (a mesma Arquivo LKM para SQL
mencionado anteriormente será suficiente), mas não há mais a necessidade de um LKM para
os dados MySQL como a área de teste está agora localizado no servidor de banco de dados mesmo
que
os dados de origem. Em vez disso, um módulo de conhecimento único de integração ( IKM SQL para
arquivo
Anexar) Irá executar a filtragem de informações e juntando-se a partir de todas as três fontes
(Agora que as informações do arquivo está sendo carregado no servidor MySQL) e integrar
os resultados finais para o arquivo de saída. Além disso, porque o MySQL permite que um único
consulta para abranger vários esquemas dentro do mesmo servidor de dados (neste caso, os dados
esquema eo esquema de trabalho), o GIC já não tem de criar uma obra intermediária
mesa para se juntar ao ordens e OrderItem dados (como pode ser visto pela ausência de um ícone SS_1
na figura anterior).

[109]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Exemplo 3: Arquivo para Enterprise Application


Para o terceiro exemplo, as vendas da unidade de negócios requisitos mudaram mais uma vez.
Eles agora exigem os resultantes de dados de arquivo simples Exemplo 2: arquivo e banco de dados
para a segunda
arquivo seção para ser integrado com seu sistema de CRM da empresa (Siebel CRM).

É importante lembrar que, embora Siebel (e outros


Aplicações corporativas) roda em cima de um banco de dados, eles devem
não devem ser tratados como sistemas de banco de dados simples em si. Cada um
deles
ter mecanismos de integração pré-definidos que devem ser sempre
utilizada quando os dados de carregamento, a fim de assegurar que a aplicação do
lógica de negócios pode ser devidamente aplicada e manter a base
dados completos e consistentes. Você vai encontrar quase sempre que
Os administradores desses sistemas nunca permitirá que o trabalho não conseguiu
por esses aplicativos para ocorrer diretamente dentro do principal
bancos de dados ou usando as identidades de usuários primários de banco de dados.

Com o nosso exemplo Siebel, um tal mecanismo é a Gerente de Integração Empresarial


(EIM) e tem uma ODI IKM que suporta e simplifica a integração de dados com o Siebel
encapsulando o uso do Siebel EIM.

Pois não se deve tratar o sistema Siebel como um banco de dados SQL padrão e nosso
entrada é proveniente de um arquivo plano (por exemplo, o ficheiro de saída a partir do anteriormente
fluxo discutido em Exemplo 2), vamos precisar de introduzir um servidor de banco de dados SQL,
(Oracle, por exemplo), para este fluxo para receber nossa área de preparação. Neste exemplo, são
usando ODI em uma arquitetura ETL mais tradicional (em vez de uma arquitectura de E-LT),
devido aos requisitos de dados rigorosos de integração que a equipe de CRM impôs
no sistema de destino Siebel. A maioria das pessoas vai usar seu datawarehouse para que
operação, uma vez que é mais provável que a informação adicional será necessário que a partir de
banco de dados (nos levando de volta ao nosso primeiro exemplo, onde as informações do arquivo é
combinados com os dados da base de dados).

Oráculo
(Para teste)

Siebel CRM
Arquivo Simples Siebel EIM

LKM
IKM
SS_0
Siebel EIM Siebel
Tabela Interface Tabela de base

orderSummary.csv

[110]

www.it-ebooks.info
Capítulo 4

Para o orderSummary.csv arquivo simples, podemos mais uma vez usar o Arquivo LKM para SQL KM
para carregar os dados do arquivo para a área de teste localizada no banco de dados Oracle. Para o
integração Siebel, podemos usar o IKM SQL para Siebel Append (EIM), Que não
só carrega a tabela de interface MEI em Siebel, mas também executa a tarefa em Siebel EIM
para mover os dados da tabela EIM nas tabelas base.

Oracle adaptadores de aplicativos para integração de dados de que


o SQL IKM a Siebel Append (EIM) Módulo de Conhecimento
é um componente-não está licenciado como parte da base de ODI
funcionalidade, para que eles tenham um custo de licença adicional anexada
com a sua utilização. Outras aplicações que suporta com ODI de
os módulos de conhecimento caixa incluem, mas não estão limitados a,
E-Business Suite, JD Edwards, PeopleSoft, Hyperion e SAP.
Licenciamento para estes KMs irá variar.

Nesta seção, já deu uma olhada em três básico e freqüentemente visto


requisitos orientada por fluxos de dados e espiou debaixo das cobertas em algum
detalhes adicionais das acções principais e atores em cada fluxo. Permite repescagem
como se segue:

• A área de teste é co-localizado com o alvo de qualquer interface por padrão,


representando a arquitetura padrão ODI E LT. Deve notar-se que ODI
pode ser facilmente reconfigurado com alguns cliques de mouse para ter os dados de teste
em um servidor separado, o que representa uma arquitetura tradicional ETL. A encenação
área podem residir no mesmo sistema de fonte ou de um intermediário, se necessário.

• Dois tipos de módulos de conhecimento desempenham um papel vital em Interfaces


ODI
como se segue:
° IKMs são usados para integrar os dados para o destino final
° LKMs são usados para carregar a área de teste com dados localizados em outros
sistemas de origem

• Alguns KMs têm a capacidade de emitir comandos externos para finalizar


a integração de dados em sistemas de destino.

• ODI tem uma capacidade ágil para se adaptar a requisitos variáveis


alavancando sua biblioteca de módulos de conhecimento abstrato e que
encapsular a complexidade e os detalhes do "know-how" para
integração com uma determinada tecnologia ou aplicação.

Agora que entendemos a importância de módulos de conhecimento eo


funcionalidade que oferecem, vamos olhar para como nós vamos sobre a seleção que
Módulos de conhecimento que vai usar e como colocá-los em nossos projetos de ODI.

[111]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Importar e escolher Conhecimento


Módulos
Nós já vimos que Carregando módulos de conhecimento e integração desempenham um papel central
na realização de ações de integração de dados dentro de ODI. Então, como e quando é que vamos
escolher
que KM de usar?
O componente ODI que realmente move os dados é chamado de Interface, e é localizado
dentro do editor de Interface Designer ODI onde especifica que KM é para ser usado
de origem e de comportamento alvo movimentação de dados. Interfaces são criados e organizados
em pastas dentro de um projeto, mas para uma interface para ser capaz de alavancar um conjunto de
KM, o
KMs deve ter sido previamente importados para este projeto muito.

Escolher módulos de conhecimento


Dentro dos seis tipos de módulos de conhecimento, vamos concentrar apenas por um momento, os
dois
tipos que são centrais para a movimentação e transformação de dados, ou seja, LKMs e IKMs.
Quando um Módulo de Conhecimento tenha sido previamente importado para o projeto pai
e aplicada ao alvo de interface e a interface é subsequentemente executada, é o
etapas dentro do GIC que determinam o que, como e quando os dados são movidos para o
armazenamento de dados alvo. Portanto, podemos dizer com segurança que cada interface vai precisar
de uma IKM.
Mas qual?

Se adotarmos o padrão abordagem de arquitetura E-LT e ter a área de preparo


residente no mesmo servidor como o destino, como no nosso primeiro exemplo de fluxo de dados,
então nós
precisa de um única tecnologia IKM tal como como o IKM a Oracle Atualização Incremental
mencionado nesse exemplo. Assim, a escolha de IKM importar para o projeto e selecione
para utilização dependerá do seguinte:

• Se o tipo de banco de dados que você está usando para a área de preparo e de destino
tem IKMs específicos disponíveis (por exemplo, Oracle, Microsoft SQL Server, e
muitos outros), ou se você precisa usar um "genérico" sabor SQL (por exemplo
para o MySQL, PostgreSQL, e assim por diante)

• Se há mais de uma técnica de integração disponível para esse


tecnologia e método que é utilizado por cada um, tal como a Oracle MERGE
construir como mencionado no exemplo o primeiro fluxo

Se, como no nosso exemplo, segundo dados do fluxo, a área de preparação e de destino estão em
diferentes
servidores, então teremos de usar um tecnologia multi- IKM, como IKM SQL para arquivo
Anexar sugerido que o fluxo. Na verdade, a maioria (mas não de todos) destes têm IKM SQL
a ... nomes, mas todos eles vão ser <algo> IKM para <algo>, Por vezes,
com (Método) qualificador.

[112]

www.it-ebooks.info
Capítulo 4

LKMs carga de dados para a área de preparação de outros servidores. Portanto, todos os LKMs são
tecnologia multi-. Se a fonte de dados está no mesmo servidor que a área de teste, então você
não é necessário um LKM como pode ser inferida a partir do caminho de fluxo de dados tomados pelo
MySQL
no exemplo segundo fluxo. Sem as correções de dados de arquivo que está sendo adicionado em que
exemplo, não teria havido necessidade de um LKM em tudo.
Mais uma vez, a escolha do LKM é regida pela seguinte:

• As tecnologias envolvidas em cada extremidade do fluxo de carga e à direcção


em que os dados fluirão

• O método a ser utilizado para mover os dados, LKM File para Oracle (EXTERNO
TABELA) e Arquivo LKM para Oracle (sqlldr) pode tanto ser usado para carregar o arquivo
dados, mas empregam técnicas muito diferentes para atingir esse fim

Tendo coberto IKMs, LKMs e RKMs no início deste capítulo, vamos abordar brevemente
outros três tipos de Módulo de Conhecimento usado por ODI, como se segue:

• Verifique módulos de conhecimento (Ckms) são usados para verificar e aplicar dados
integridade através de testes de conformidade às restrições e referências, seja
estaticamente em tabelas de dados em sistemas de origem ou de destino, ou dinamicamente
durante
o processo de um fluxo de dados definido em uma interface ODI. Há tecnologia
ckms específicas para bancos de dados que requerem código SQL específico. Todas as
outras
bases de dados irá usar o genérico CKM SQL.
• Módulos de diário de Conhecimento (JKMs) são usados para gerenciar o
de diário de dados para a captura de dados alterados. Eles têm um sabor tecnologia
(Não existem genéricos JKMs SQL), uma abordagem de simples ou consistente
(A garantia última que não há registros de crianças são carregados antes de seu pai
registros), e, opcionalmente, o nome de um método, como (Oracle GoldenGate) para
diferenciar alterar as técnicas de detecção.

• Conhecimento Módulos de Serviço (SGCS) são usados para a geração de finos


serviços web baseados em dados datastores ODI e modelos baseados em banco de dados
tecnologia. Há alguns dados versões específicas, por exemplo, para criar
serviços web baseados em tabelas Oracle, bem como uma genéricos SKM SQL.

Agora que sabemos como escolher entre módulos de conhecimento e que vamos
usá-los, vamos ver como podemos permitir esse uso.

[113]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Importando um Módulo de Conhecimento


Módulos de conhecimento são fornecidos fora da caixa como arquivos XML e instalado como parte do
o processo de instalação ODI. Ao invés de ter todo o Conhecimento Módulos acessíveis
a todos os projetos o tempo todo, um pequeno subconjunto de módulos de conhecimento são
importados pela
ODI usuário Studio para cada projeto.

ODI 11.1.1.6 permite Módulos conhecimento global


que podem ser compartilhados entre projetos.

Então, se temos várias situações em nosso projeto geral de TI, onde precisamos transformar
e upload de dados de arquivos em um banco de dados Oracle via tabelas externas, então poderíamos
quer desenvolver as interfaces necessárias em vários projetos e importar o Arquivo LKM
para o Oracle (Tabelas Externas) em cada um desses projetos ODI, ou podemos criar
várias subpastas em um projeto único e ODI importar o KM apenas uma vez. Como você
organizar o trabalho em ODI é um assunto muito subjetivo e raramente existe apenas uma forma certa
para fazer as coisas.

Importando um KM-única ou um conjunto deles é um exercício muito simples. Nós só temos


seguir os seguintes passos:

1. Expandir nossa nó do projeto na Projetos seção do Navigator Designer.


2. Botão direito do mouse sobre o Módulos de Conhecimento nó e selecione
Importar
Módulos de conhecimento.

Se você quiser acompanhar, você vai precisar para criar


um novo projeto através do ícone de menu no lado direito
final do Projetos cabeçalho de seção.

[114]

www.it-ebooks.info
Capítulo 4

3. Uma caixa de diálogo irá aparecer para nos permitir selecionar o KMs importar. Ao fazer
que pela primeira vez vamos precisar para navegar até a pasta que contém os arquivos do KM-
presente
é o oracledi \ xml-referência subpasta abaixo da nossa ODI_HOME (Onde
instalado ODI 11g).
4. Uma vez que fizemos isso vamos ver uma lista de todos os KMs disponível na pasta.
Podemos percorrer a lista de seleção que KM (s) que deseja importar
(Fazer várias seleções com Ctrl + Clique) e pressione Ok para executar
a importação do KMS.

Quando a importação foi concluída, você verá um relatório do processo de importação (que
pode ser ignorado). Observe que todos os KMs importado foram automaticamente organizado
em suas subpastas conhecimento adequado módulo no projeto ODI.

KMS-Uma rápida olhada sob o capô


Se detalhar dentro do Módulos de Conhecimento a qualquer nó dado e KM
clique duas vezes sobre ele, que o Módulo Conhecimento será aberto por um editor. No
Definição guia podemos ver a fonte e / ou tecnologias alvo para o KM e
se é a KM padrão para uso com este emparelhamento. Se este for o caso, o
KM será automaticamente inserido uma definição de interface se que a tecnologia
combinação de origem e de destino é usado.

Nós também podemos ver alguns Descrição texto, que muitas vezes contém informações muito úteis
sobre o uso, características e restrições para o KM.

[115]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Clicando sobre o Detalhes guia mostra-nos uma lista ordenada dos passos incluídos dentro do
KM, incluindo o nome de cada passo, se as etapas operar dentro de uma transação e
quando essa transação for confirmada, o nível de detalhe de registro para cada etapa, se cada
etapa atualizações quaisquer métricas registradas, e assim por diante.

A sequenciação de um destes passos especifica a ordem na qual eles vão ser executada.
Mais tarde, ao examinar o operador logs gerados pela nossa interface, vamos ver estes
nomes passo novamente, juntamente com toda a informação associada com o log ODI
eles. Esses registros nos dará uma ligação direta entre o código executado, os resultados
do referido código, e a fonte a partir da qual o código executável foi gerado.

Se fôssemos para selecionar e clique duas vezes no nome de qualquer passo, queremos ver o real
Código KM fonte para essa etapa. Esses blocos de código consistem geralmente em modelos de SQL
construções com vários marcadores que representam o uso de substituição ODI
métodos. Estes marcadores de posição de substituição será usada pelo ODI ao gerar
código para inserir os nomes de tabelas específicas, colunas, tipos de dados, onde cláusulas e
similares
em tempo de execução.

[116]

www.it-ebooks.info
Capítulo 4

Esperamos que agora você terá concluído que poderíamos alterar, excluir, substituir,
ou personalizar o código KM como desejamos ou exigir. Este é um perfeitamente
aceitável e não é incomum a prática em ODI, mas ele está fora do âmbito da
este livro. (Para mais informações sobre o desenvolvimento KM, consulte o Módulo de Conhecimento
Guia do desenvolvedor para o Oracle Data Integrator manual). Aqui está um pequeno aviso, porém: se
vamos mudar o código aqui, estaremos mudando apenas este cópia do KM em este projeto
em este repositório. Se queremos propagar qualquer das nossas mudanças em outro lugar, deveríamos
faça o seguinte:

1. Alterar uma cópia renomeada do KM original, de modo que não está em perigo de ser
substituídos por engano ou por manchas posteriores ODI e atualizações.

2. Exportar o KM renomeado e alterado em um arquivo XML.


3. Importar o KM novo em outros projetos ODI e repositórios conforme necessário.

Comportamento configurar com opções KM


Seria excessivamente pesado, se, por qualquer ligeira alteração no comportamento KM, nós
tinha que escrever, alterar ou personalizar um KM diferente para refletir cada um dos
ligeiras alterações. Por exemplo, nós podemos desejar às vezes excluir todos os registros
em uma tabela de destino antes de nos enviar o mais recente conjunto de dados, ou talvez queremos
controlar
se um banco de dados de commit é emitido depois de um fluxo de interface foi concluída.

[117]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

A capacidade de controlar o comportamento dessa maneira pode ser conseguido através de opções
de GC. KM
opções são semelhantes aos parâmetros locais, com um valor padrão especificado. Estas opções
pode ser testada, avaliada, ou substituído, tal como os valores dentro do código de KM e pode ser
representado por um dos três diferentes tipos, uma caixa de seleção (a Boolean true / false
valor), texto, ou um valor específico (numérico), como segue:

• O tipo mais comum de opção utilizada é a checkbox tipo (por exemplo,


uma opção de caixa pode ser utilizada para decidir se a emissão de um banco de dados
transação de confirmação).

• Avalor opção digitada é comumente usado para Oracle específico KMs


para alterar dinamicamente o código que o modelo KM gerará
ao executar contra diferentes versões do Oracle Database
(Por exemplo, 8, 9, 10, e assim por diante).

• Os IKMs Oracle específicos muitas vezes usar uma texto opção de tipo (com um vazio
string como o valor padrão) para fornecer o desenvolvedor de interface com ODI
a capacidade para especificar uma dica de otimização ao carregar a tabela de destino final,
em uma interface. Este texto dica, então, ser incorporado no apropriado
lugar dentro do SQL que o KM gera para integrar os dados para o
tabela de destino.

Todos os objetos em um projeto ODI compartilhar o mesmo conjunto de KMs e KM


código. Portanto, se durante o tempo de design você modificar ou substituir
um KM existente, todos os objetos de tempo de design que usam essa vontade KM
usar imediatamente o novo código. Isso é algo para se lembrar,
mesmo se você estiver apenas atualizando KMs de uma versão patch de
atualização de
ODI. No entanto, basta definir um valor dentro de uma opção KM ODI
única interface afeta o comportamento da KM dentro desse interface.

Nesta seção, aprendeu a selecionar e importar módulos de conhecimento pronto


para uso em projetos ODI e como modificar seu comportamento. Nós demos uma olhada no
seguintes pontos:

• Um IKM é sempre necessário em uma interface ODI


• Um LKM é necessária quando a movimentação de dados entre duas tecnologias diferentes
• A KMs são selecionados com base em:
° Sabores tecnologia utilizada na operação
° O método usado para executar a operação

[118]

www.it-ebooks.info
Capítulo 4

• A KMs ODI fornecido estão no <ODI_HOME> \ Oracledi \ xml-referência


pasta e são importados para cada projeto, ou como objetos globais (começando com
ODI 11.1.1.6)

• Interfaces só pode usar KMs que foram importadas no seu "pai"


projeto ou global KMs

• KM passos são individualmente registrados nos logs de execução em ODI e eles


correlacionam-se com os passos de interface de execução apresentados dentro do
Operador
ODI componente Estúdio
• Código KM pode ser personalizado, mas esta não é uma "Introdução" tarefa
• Comportamento KM podem ser mais facilmente modificada (dentro de limites), definindo a
sua
opções individuais
• Modificação e / ou substituição de KMs existente deve ser tratado com muito cuidado
em tempo de design

Examinando Interfaces ODI


Tendo tido um olhar para os fluxos de dados e os papéis que KMs jogar dentro deles, vamos agora
cavar um pouco mais para o make-up do fluxo de dados principal componente de um interface.

O componente de interface na ODI define as propriedades de fluxo de dados a seguir:

• O armazenamento de dados de destino para os dados (o alvo). Isto será escolhido a partir
de
um modelo ODI.
• Os armazenamentos de dados que fornecem os dados de entrada (o Fontes). Estes
também serão
escolhida a partir de modelos ODI.
• As transformações que são aplicadas aos dados durante a transição a partir de
fontes de destino (o mapeamentos). Estes estão expressos em SQL.

• Os mecanismos de transferência físicas que são utilizadas entre as fontes e


alvo (o fluxo). Já vimos que esta função é desempenhada pela
Módulos de conhecimento.

A primeira destas duas propriedades especificam o que queremos alcançar na interface.


O fluxo especifica como isto será alcançado.

[119]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Guia Visão Geral


No Visão geral Definição guia do editor de interface, podemos especificar o nome do
a interface e, opcionalmente, especificar se queremos localizar a área de preparo do
fluxo no servidor de dados de destino (o padrão) ou em outro lugar.

Se tivermos adicionais esquemas lógicos definido que estão hospedados em outro relacional
tecnologias de banco de dados, podemos selecionar um deles para ser o nosso rolamento área de
teste em
importa que ODI vai criar, preencher, atualizar e excluir objetos de banco de dados temporários
em tempo de execução dentro do esquema físico correspondente.
Uma tal opção que está disponível por padrão no ODI é o "Motor In-Memory", mas
esta escolha pode realmente lidar com apenas algumas centenas de milhares de registros de origem
e pode consumir memória significativa dentro do agente ODI execução.

Tanto quanto possível, sempre tento manter a área de teste no sistema de destino. Em
a maioria dos casos vai proporcionar um desempenho muito melhor (menos lúpulo rede de
atuar em um servidor separado, e um melhor aproveitamento do processamento conjunto baseado
em que
bases de dados foram construídos para) e uma infra-estrutura muito mais simples.
A imagem anterior mostra um aspecto novo introduzido no Interface de 11g ODI
editor. Há actualmente guias ao longo da parte inferior do editor, bem como as abas da barra lateral.

[120]

www.it-ebooks.info
Capítulo 4

Guia Mapeamento
Clicando sobre o Mapeamento guia nos levará ao editor principal gráfica utilizada para
especificando o alvo de interface, fontes e mapeamentos. Ela nos permite especificar o que
queremos alcançar, onde os dados são armazenados inicialmente, onde quer finalmente
os dados, e que as transformações que precisam ser executadas para armazenar os dados no
sistema de destino.

A imagem anterior não mostra itens na proporção que você mais


provável usá-los, mas é útil para ajudar a explicar os principais elementos. Na realidade você tinha
normalmente expandir o editor de tela cheia (clicando duas vezes na guia superior) quando
interfaces de construção.

[121]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

O painel superior esquerdo é a tela principal para adicionar datastores fonte, arrastando as linhas de
junção
entre eles, e a adição de filtros para limitar os dados a serem processados pelo interface. Para
direita da tela principal é a área de armazenamento de dados de destino, que apresenta as colunas
da tabela de destino, um conjunto de indicadores para cada coluna, e seu texto de mapeamento. O
seção inferior é o Editor de propriedades que o texto e configuração adicional
informações de cada mapeamento, juntar, e filtro podem ser inseridos.

Nós construímos uma interface arrastando e soltando um armazenamento de dados de destino e todas
as informações necessárias
fonte datastores nas suas respectivas áreas de tela, criando e junta-se em filtros
a tela superior esquerdo, e definir todos os detalhes específicos dos que se junta, filtros, eo
mapeamentos usando o painel editor de propriedade.
Mapeamentos de campo de destino pode ser especificado utilizando vários formatos diferentes,
incluindo
o seguinte:
• Coluna Fonte: Estes são arrastados e cair directamente para o
alvo coluna Mapeamento campo a partir das colunas do armazenamento de dados no
lona fonte. Cada nome de coluna é prefixado por alias o armazenamento de dados, a
por exemplo SALES_PERS.LAST_NAME.

• Valor fixo ou constante: Elas devem seguir regras de formatação do SQL, assim cadeia
valores são colocados entre aspas simples, por exemplo, 'John Doe', Enquanto
Os valores numéricos não são, por exemplo, 11,1.

• Função DBMS: Qualquer função suportada pela plataforma sobre a qual o


mapeamento é para ser realizado, por exemplo, SYSDATE para execução em Oracle.
O local de execução o mapeamento é indicado por um símbolo de destino no
Indicadores de coluna e também por um botão no Editor de Propriedades abaixo
a caixa de texto que contém o texto de mapeamento.

• DBMS agregado: Um agregado simples de uma coluna de origem, por exemplo,


SUM (ITEM.QUANTITY). ODI irá gerar automaticamente um correspondente
GROUP BY cláusula sempre que uma função de agregação é detectado.

Grupo de nível de funções de agregação que correspondem ao


SQL "tendo cláusula" não são implementadas aqui, mas sim
definindo agregações dentro de um filtro de ODI.

[122]

www.it-ebooks.info
Capítulo 4

• Uma combinação dos formatos anteriores: Enquanto o banco de dados subjacente


entende o seu código, você pode construir os mapeamentos mais complexos. A
exemplo simples seria. INITCAP (SALES_PERS.FIRST_NAME) | | '"
| | INITCAP (SALES_PERS.LAST_NAME). A localização do mapeamento de
execução lhe permitirá alavancar o banco de dados de sua escolha para o
transformações (fonte, área de preparo, ou alvo). Esta escolha pode ser feita
em uma base por coluna.

Mapeamentos também podem incluir variáveis ODI que são abordados no capítulo anterior.

Como você incluir fontes ea meta na interface, o comportamento padrão do ODI


é perguntar se você deseja realizar uma Mapeamento automático. Mapeamento automático
cria direto coluna de origem para mapeamentos de coluna, onde o alvo
nomes das colunas correspondem exatamente. Não há nenhuma capacidade para adicionar uma
tradução mapeamento
dicionário e ressalta são significativo, de modo CUST_ID é não mapeados automaticamente
para CustID. Além disso, ODI não leva em conta tipos de dados de coluna durante este processo. Se
inserir, manualmente, ou deseja alterar mapeamentos existentes, você pode fazer isso diretamente pelo
mudando o texto no Implementação caixa de texto, ou você pode usar a expressão de ODI
Editor, que está disponível através do ícone de lápis localizado na extremidade do lado direito do título
barra da Implementação área.

É uma boa prática durante esta etapa é a validação de cada


Expressão SQL, clicando sobre o "exame" ícone, que
também está na extremidade direita da barra de título.

Guia Fluxo
O Fluxo guia na borda inferior dos dois principais painéis abre o editor de fluxo para
a interface, onde podemos especificar como dados serão transferidos a partir da fonte de
alvo, e como ele vai ser integrado na meta-sistema que estamos apenas adicionando novo
registros, substituindo os existentes, ou talvez nós queremos ter um tipo mais avançado
de integração como dimensões de alteração lenta?

[123]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

A imagem seguinte mostra os armazenamentos de dados de origem diversas, filtros, e junta-se, a


intermediários mesas de trabalho (ou conjuntos de fonte) de dados, a localização área de teste, o alvo
armazenamento de dados, eo conhecimento Módulos que ODI vai usar para implementar o fluxo.

O Fluxo guia também inclui um painel de editor de propriedade, onde podemos ver e selecionar o
KM para cada segmento de fluxo e opções de configuração para cada conjunto de GC como nosso
fluxo
requer (por exemplo, desligando o log de mesa de trabalho), conforme ilustrado na anterior
screenshot. Lembra-te, a fim de KM para ser incluído na lista pendente
e disponível para a seleção, que deve ter sido previamente importado para o projeto ODI
que contém a interface.

[124]

www.it-ebooks.info
Capítulo 4

Quick-guia Editar
ODI 11g introduz uma nova visão conhecida como a Quick-Editar guia. Este recurso fornece
uma alternativa tabular para a abordagem normal gráfica utilizada na construção de um
interface. Em vez de usar o método normal gráfica, o guia Quick-Editar
usa uma folha de configuração para configuração e editar o alvo, fontes, junta-se, filtros,
e mapeamentos. A figura a seguir ilustra este método Quick-Editar novo.
Este ponto de vista é geralmente mais prático para edições maciça ou cortar e colar. Por exemplo, a
você pode alterar o local das transformações da área de teste de fonte para
várias colunas de uma vez por cópia "fonte" de uma coluna e colar isso em
lugar de "área de teste" múltipla (selecionar as linhas diferentes que você deseja substituir e
colar sobre as várias seleções). Da mesma forma, esta visão será muito conveniente para
revisão volume de opções de integração, como as colunas que fazem parte da atualização da chave,
as colunas que são utilizadas para as actualizações / inserções, e assim por diante.

[125]

www.it-ebooks.info
Fontes ODI, metas e módulos de conhecimento

Resumo
Nós cobrimos muito neste capítulo. Começamos por dar uma olhada em como definimos
conexões físicas com recursos nossos dados, criar nomes de esquema lógico de dissociar
nos de qualquer ambiente operacional específico, e ligação física e lógica
representações através de contextos.

Nós andamos através dos conceitos de alto nível de como a engenharia reversa aqueles Lógico
Esquemas para criar os modelos ODI que vai se tornar a base para os nossos dados
fluxos de integração.

Examinamos três exemplos de fluxo simples que ilustra o uso do conhecimento


Módulos para carga e integração de dados, e aprendemos como escolher e importar
os módulos de conhecimento.

Tivemos um rápido olhar para os internos de um KM, dando-nos uma melhor compreensão do
informações que veremos mais tarde nos logs de execução dos capítulos seguintes.

Finalmente tivemos um breve olhar sobre Interfaces e os painéis de editor de vários usados para criar
deles, incluindo os mapeamentos gráficas e editores de fluxo e da nova configuração
folha de abordagem rápida-Edit orientado. Nós estaremos usando esses editores muito no
próximos capítulos.

[126]

www.it-ebooks.info
Trabalhar com bancos de
dados
Bases de dados e sistemas de banco de dados segurar a grande maioria dos dados processados
pelo ODI
em todo o mundo, por isso é apropriado que comecemos nosso exemplo Ordem de Compra por
realizando algum trabalho de base usando bancos de dados.
O nosso cenário de exemplo geral envolve informações sobre upload de compra
Processamento de pedidos em um data mart e vamos começar por mover dados de um cliente
banco de dados do sistema em nosso data mart. Para fazer isso vamos realizar o
seguintes tarefas:

• Dê uma rápida visão geral do layout físico da nossa origem e de destino


sistemas e os requisitos para a nossa primeira tarefa de integração de dados

• Configurar servidores de dados, esquemas físicos, e esquemas lógicos para o nosso alvo
e sistemas de origem e vinculá-los a um contexto usando o Navegador Topologia

• Use o Navegador Designer para criar modelos baseados na lógica


Esquemas e engenharia reversa de metadados a partir de sistemas físicos
em nosso ambiente

• Criar um novo projeto no Navegador Designer e importar o Conhecimento


Módulos Nós antecipamos que vai usar nesta tarefa

• Criar uma interface para integração de dados em nossa data mart da nossa fonte
sistema do cliente, adicionar alguns mapeamentos de transformação, e verificar se o
comportamento de fluidez é como requerido

• Executar a interface como um teste funcional


• Use o Navegador Operador de rever a árvore de execução e examinar alguns
do código gerado para a interface que criamos

Isso nos dará uma boa visão primeira da seqüência geral das atividades normalmente
realizada quando a criação de componentes de integração de dados em ODI 11g e também
nos dão uma base sólida para a expansão do nosso conhecimento e experiência na
capítulos que se seguem.

www.it-ebooks.info
Trabalhar com bancos de dados

Descrição cenário de exemplo


Durante este primeiro exemplo, vamos mover dados de um banco de dados do Sistema Cliente
em um data mart. Para manter as coisas simples para esta fase, nós vamos lidar com apenas uma fonte
tabela e uma tabela de destino, e os dois estão hospedados em bancos de dados Oracle. No entanto,
as estruturas e formatos de essas duas tabelas são diferentes, por isso vamos ter de realizar
algumas transformações e enriquecimentos ao longo do caminho. Tendo exacta e enriquecido
dados de clientes que se deslocam de nosso Sistema Cliente de origem para o data mart será
um elemento chave fundamental de ser capaz de ordens de processo dentro da compra
Ordem solução de processamento (PO).

O que acontece é que, no nosso ambiente de exemplo, duas tabelas são realizadas em esquemas
gerida pela mesma instância de servidor Oracle e nós provavelmente poderia alcançar o nosso
tarefa de integração com uma única instrução SQL. No entanto, nós estamos indo para simular
ter esses esquemas realizada em servidores diferentes, porque em um sistema de produção
que é muito mais provável que seja o caso.

Além disso, nós não vamos estar usando links banco de dados Oracle neste exercício (embora ODI
certamente pode fazer uso deles, escolhendo um LKM dblink baseado apropriado). Nosso
objetivo aqui é usar uma única ferramenta heterogênea, com uma abordagem consistente para todos
os nossos
necessidades de integração de dados, em vez de confiar em segmentos dispersos de fornecedor
código específico
que necessitam de ser tricotado em conjunto à mão para fazer o ambiente de integração inteiro
funcionar como deveria.
Então, vamos dar uma olhada em alguns dos detalhes da tarefa que temos para terminar.

Alvo de Integração
A tabela de destino, vamos utilizar é o CLIENTE tabela localizado no Datamart esquema
em uma base de dados Oracle e tem a seguinte estrutura:

[128]

www.it-ebooks.info
Capítulo 5

O CLIENTE mesa não é a única tabela no Datamart esquema, mas por agora é
o único que queremos trabalhar. Em seu estado inicial, esta tabela está vazia, mas por
completar tarefas deste capítulo vamos preenchê-lo com dados do sistema de origem.

Fonte de integração
A tabela de origem é chamado CUSTOMER_MASTER e situa-se no CUSTSYSTEM
esquema (para manter as coisas simples, que é a única tabela no CUSTSYSTEM A Oracle esquema).
Este quadro tem a seguinte estrutura:

Mapeamentos de integração
Após o exame perto da fonte e de destino, você vai ver que, apesar de
as duas estruturas são semelhantes, existem algumas diferenças cruciais e nós vamos ter
para superar essas diferenças com nossos mapeamentos. Muitos dos mapeamentos
ser tratado com sucesso por mapeamento automático: os nomes das colunas, tipos e
comprimentos são os mesmos em ambos origem e de destino. No entanto, alguns têm
mapeamentos
de ser feito manualmente:

• A fonte tem um CustID coluna enquanto que a coluna de destino é chamado


CUSTOMER_ID.

• O PREFIX coluna em nossa fonte é uma cadeia de caracteres, mas no alvo é


um número. Nosso Sistema cliente tem todos os títulos normalizaram a prefixos dos EUA,
como deputado, Sra, Dr, e assim por diante, mas pode querer processar os dados mais tarde
ter nacional específicas títulos com base no país ou residência (como Hr
e Pe. para os cidadãos alemães), por isso a nossa data mart tem todos os prefixos traduzidos
em códigos numéricos.

• Nossa meta armazena uma AGE, Mas a nossa fonte tem um DATE_OF_BIRTH.

[129]

www.it-ebooks.info
Trabalhar com bancos de dados

• Nós temos uma outra diferença entre o nome da coluna SALES_PERS_ID e


SALES_PERSON_ID.

• O alvo tem duas colunas adicionais obrigatórias para manter a data em que
o registro foi criado na data mart e data em que o registro foi
a última alteração.

Fluxo logístico de dados


Nós estamos indo para acessar a fonte CUSTSYSTEM usando o nome de usuário do proprietário do
esquema,
mas de acordo com ODI melhores práticas, o nosso acesso ao data mart será feito por um
usuário chamado ODITEMP que tem seu próprio esquema que vamos utilizar para a área de teste
e que também foi dado privilégios para ser capaz de integrar os dados de entrada em
o Datamart esquema.

Os Módulos de Conhecimento (SGC) que estaremos usando são LKM SQL para Oracle para carregar o
dados da fonte para a área de teste e, em seguida, IKM a Oracle Atualização Incremental
integrar os dados da área de teste para o destino final. Neste estágio nós não
estar realizando qualquer verificação de integridade no fluxo de dados, por isso não vamos estar usando
uma verificação
Módulo de Conhecimento (CKM) nesta tarefa.

Assim, o nosso fluxo de alto nível será algo semelhante à figura a seguir:

Oracle:
Data Warehouse
Servidor
Oracle:
Cliente
Sistema de servidor

CUSTSYSTEM
esquema
ODITEMP Datamart
esquema esquema
LKM
CUSTOMER_
MESTRE LKM SQL para Oracle
tabela SS_0 IKM
CLIENTE
tabela

IKM a Oracle Atualização Incremental

Agora que estamos armados com todas as informações, pode-se começar com a tarefa!

[130]

www.it-ebooks.info
Capítulo 5

Exercício 1: Construindo o Load_Customer


interface
O restante deste capítulo assume que temos a infra-estrutura descrita
anteriormente. Você pode adaptar os nomes de sistema, nomes de usuário e nomes de
tabela
em seu próprio ambiente, como você vê o ajuste.
Nós vamos concluir este exercício em um número de seções como segue:

• A construção da topologia: Para mapear os recursos de dados físicos e mostrar


como ligar para eles para os esquemas lógicos

• A engenharia reversa do modelo de metadados: Para traduzir os físicos


recursos para localização independente de representações (esquemas lógicos)
que será usado em ODI para construir objetos de integração de dados e fluxos de
trabalho
• Mover os dados com uma interface ODI: Para construir e executar um
interface que irá realizar os mapeamentos de transformação e fluxo de dados
operações e preencher nossa tabela de destino na data mart

• Verificar a execução com console do operador: Para ver a execução


status e verificar o número de linhas integradas, juntamente com a visualização
parte do código gerado e executado por ODI

Criando a topologia
Nesta secção, iremos:

• Criar as referências de topologia a nossa fonte e servidores de destino e esquemas


• Criar nomes de esquema lógico para os esquemas físicos, que usaremos
quando criamos modelos ODI com base nesses esquemas

• Associar nossos esquemas lógicos e físicos que utilizam o padrão Global


contexto, que vamos usar ao longo deste exemplo

Durante todo o resto do exemplo, e especialmente durante a definição


a arquitetura física, haverá momentos em que vamos precisar
para inserir o nome do host para, digamos, onde um recurso de banco de dados está
em execução.
De agora em diante e em todo o resto do tutorial vamos nos referir a
este nome do host como localhost por causa da simplicidade. Lembre-se que
se todos os clientes remotos fosse usar esta informação topologia, será
estar incorreta e causam erros, mas a suposição aqui é que a nossa
exercício inteiro será executado em uma única máquina.

[131]

www.it-ebooks.info
Trabalhar com bancos de dados

Configurar a topologia
Configurar a topologia exigirá os seguintes passos:

1. Se você estiver acompanhando com sua própria instalação de ODI, então primeiro fazer
se a instância Oracle que hospeda seus repositórios ODI está instalado e funcionando.
Iniciar ODI Estúdio (Oracle | Oracle Data Integrator | Oracle Data Integrator
Estúdio no Windows Começar menu) e conectar ao seu repositório padrão.

2. Ao clicar sobre o Topologia Tab para alternar para o Navegador Topologia, que
expandir o Tecnologias no nó Arquitetura física secção.

3. Se você ver uma grande lista de tecnologias apresentadas, simplificar sua visão, escondendo
as tecnologias não utilizadas. Para fazer isso, clique no ícone fábrica no Topologia
Cabeçalho Navigator barra e selecione Ocultar Technologies não utilizados.

[132]

www.it-ebooks.info
Capítulo 5

4. Nós direito do mouse sobre o Oráculo nó e selecione Servidor de Dados Novo.

[133]

www.it-ebooks.info
Trabalhar com bancos de dados

5. Uma notificação de criação editor deve aparecer brevemente e depois os dados


Editor servidor será aberto. Nomear o servidor de dados, uma vez que faz sentido na sua
ambiente. Para o nosso exemplo, estamos nomeando o servidor de dados que representa
os dados do cliente como XE_on_local_as_CUSTSYSTEM e estamos definindo o
nome de usuário para ser CUSTSYSTEM com uma senha de welcome1. Deixamos tudo
outros campos como estão. A guia título para o editor vai mudar para o nome
do servidor de dados.

6. No JDBC guia, nós clique no ícone de lupa na mão direita


lado da Driver JDBC campo para abrir a caixa de diálogo de seleção. A caixa de diálogo
irá mostrar o padrão de classe do driver JDBC para a tecnologia Oracle. Este
driver é pré-instalado com o ODI 11g.

Se o driver para o banco de dados que você deseja não é mostrado, é


possível entrar manualmente no campo de texto. Você vai precisar de
para se referir à documentação do motorista de sua escolha para
saber qual nome da classe e que URL JDBC para usar. Nota
também que a lista de condutor não poderá ser ordenados por ordem
alfabética. Nós
vai ver como fazer isso com mais detalhes no próximo capítulo.

[134]

www.it-ebooks.info
Capítulo 5

7. Nós clique em Ok para aceitar esse driver.


8. Nós clique no ícone lupa ao lado do Url JDBC campo e aceitar a
modelo padrão de URL no Exemplos de URL caixa de diálogo, clicando em OK.

9. Nós editar o modelo de URL no Url JDBC campo para conter a ligação
detalhes para o cliente exemplo real do sistema Oracle, substituindo o <host>,
<port>, E <sid> seções do modelo com valores adequados para
nosso meio ambiente.

[135]

www.it-ebooks.info
Trabalhar com bancos de dados

10. Nós clique no Teste de ligação botão (torna-se um botão quando o mouse
se move sobre ele) na barra de cabeçalho para o editor. Quando perguntado se queremos salvar
nossos dados para continuar, clique em Sim no Confirmação diálogo.

11. Uma caixa de diálogo aparece informativo lembrando-nos a criar um esquema físico
para este servidor:

Nós vamos fazer isso mais tarde, por isso, clique em Ok para dispensar este diálogo e
continuar
com o teste.
12. Outra caixa de diálogo irá aparecer, sendo esta uma caixa de execução real teste
(Esta operação vai "pingar" a conexão física com as informações
apenas fornecida como um meio de validação):

A referência a Local (sem agente) no Agente físico campo significa


que nós estamos indo para usar o agente de execução incorporado dentro ODI Studio,
que é precisamente o que queremos fazer. Então, clique no Teste botão para
executar o teste.

Testando uma conexão de banco de dados remoto não exige uma


agente remoto desde que toda a informação necessária é fornecida em
a URL, é por isso que podemos usar o agente incorporado local.
Se fosse para executar o teste com um agente remoto, estaríamos
testar a conexão do Studio para o agente, e de
o agente para a base de dados.

[136]

www.it-ebooks.info
Capítulo 5

Em seu próprio ambiente, se todos os detalhes foram digitados corretamente e


o banco de dados ao qual você está tentando se conectar está disponível, você verá uma
Conexão bem sucedida mensagem informativa, que pode ser demitido por
pressionando a Ok botão. Se a conexão falhar, verifique seus parâmetros de novo,
e certifique-se de que sua rede permite que você conecte (firewalls pode entrar em
o caminho!).

13. Nós fechamos o editor, clicando no Xícone que aparecerá quando nos movemos
o mouse para a extremidade direita da guia de título.

14. Nós criamos o nosso servidor de origem de dados para os dados do sistema do cliente, mas
antes de criarmos a nossa referência esquema físico, vamos criar outro oráculo
de dados de referência do servidor, desta vez para o servidor de destino data mart. Para fazer
isso,
que repita os passos 4 a 14, mas desta vez usando os seguintes detalhes durante o
segunda iteração até a etapa 5 (todos os outros detalhes, incluindo o URL JDBC,
serão os mesmos que anteriormente):
° Nome: XE_on_local_as_ODITEMP
° Usuário: ODITEMP
° Senha: welcome1

Como afirmado anteriormente, estamos simulando dois servidores


separados,
mesmo que só temos um. Se os esquemas diferentes são
na mesma instância do banco de dados em seu ambiente,
você realmente deseja criar um único servidor (conexão
com um equivalente do ODITEMP usuário) e definir todas as
Esquemas físicas necessárias embaixo que um servidor.

[137]

www.it-ebooks.info
Trabalhar com bancos de dados

15. Tendo criado os dois servidores, precisamos criar as entradas de Topologia


para os esquemas físicos. Assim, expandir o Oráculo nó na tecnologia
Tecnologias lista apresentada no Navegador da Topologia Arquitetura física
ver, nós botão direito do mouse no nó do servidor de dados para XE_on_local_as_CUSTSYSTEM
e nós selecionamos Esquema físico novo.

16. No Definição guia do editor do esquema física, usamos o drop-down


listas para o Esquema (esquema) e Esquema (esquema de trabalho) campos para selecionar
CUSTSYSTEM como o esquema do Oracle para ambos

[138]

www.it-ebooks.info
Capítulo 5

Estamos só vai ser leitura de dados da CUSTSYSTEM


esquema e não vamos estar a criar todas as tabelas temporárias ou outros
artefatos. Portanto, neste caso, podemos seguramente usar o nome do mesmo
esquema
para os dados e áreas de trabalho do esquema ODI Física
definição. No futuro no entanto, é geralmente considerado melhor
praticar isolar artefatos ODI em um esquema de trabalho separada e
para acessar todos os esquemas de outros negócios através deste usuário.
Lembre-se também que não estamos, na verdade, a criação de qualquer novo
esquemas de banco de dados aqui. Estamos simplesmente a criação de novos
referências em
ODI para existente esquemas de banco de dados para nos dar visibilidade ao
metadados e dados que possuem.

17. Nós clique no Contexto dedo-tab e no verde +botão na parte superior direita
deste painel para adicionar um mapeamento baseado em contexto novo para um nome de
esquema lógico.

18. Nós só temos um contexto definido, que é o padrão chamado Global


que é criado quando ODI está instalado, então isso vai aparecer automaticamente no
Contexto coluna. Nós clique no Esquema lógico e substituir a coluna
<Undefined> texto com ORACLE_CUSTSYSTEM e depois bateu o Entrar chave para
completar a sua mudança.

[139]

www.it-ebooks.info
Trabalhar com bancos de dados

19. Nós clique no Salvar botão (disquete ícone de disco) na barra de ferramentas principal para
ODI
salvar a definição do esquema físico e, em seguida, fechar o painel do editor.

20. Vamos agora criar um outro esquema físico, desta vez para o XE_on_local_
as_ODITEMP dados do servidor e escolha Datamart como o Esquema (esquema)
e ODITEMP como o Esquema (esquema de trabalho).

21. Nós associamos o esquema físico a um esquema lógico chamado Oracle_


Datamart utilizando o Global contexto, em seguida, salvar o nosso trabalho, e fechar o editor.

Tendo criado o nosso servidores de origem e de destino de dados, os esquemas físicas que possuem,
e de ter associado cada um desses esquemas para nomes de esquema lógico usando o
Global contexto, nós fizemos tudo o que precisamos fazer no Navegador Topologia.

Na vida real utilização do ODI, a criação de uma topologia é principalmente um


antecipadamente exercício. Na verdade, muitas vezes é realizado por outras
pessoas
do que a maioria dos desenvolvedores de ODI, como eles precisam saber (ou
ser capaz de especificar, ou ter acesso a) as credenciais de conexão
ODI que usará para acessar os servidores de banco de dados diversos e
esquemas. É por isso que existem navegadores diferentes no ODI
Studio-o Navegador Topologia e do Navegador Designer.
Topologia é normalmente utilizado pelos administradores e Designer é
usado principalmente por desenvolvedores e administradores de dados.

[140]

www.it-ebooks.info
Capítulo 5

Engenharia reversa de metadados do modelo


Em seguida, queremos extrair a informação de estrutura de dados para a nossa origem e de destino
tabelas de bancos de dados Oracle e seus modelos criam ODI. Assim, nesta seção, iremos:

• Crie um modelo para representar o Sistema Cliente estaremos usando como


fonte de dados em nossa interface e engenharia reversa de metadados a partir do
ORACLE_CUSTSYSTEM Esquema lógico em que modelo.

• Criar um segundo modelo para representar a data mart estaremos usando como
o alvo em nossa interface e realizar uma seletiva engenharia reversa
operação com a ORACLE_DATAMART Esquema lógico para extrair apenas o
metadados para o CLIENTE tabela.

• Veja os dados no sistema do cliente para validar que o nosso reversa


engenharia de modelo que tem sido bem sucedida (não há dados em
o data mart ainda).

Siga os passos indicados:

1. Com ODI Studio ainda aberto, clique no Estilista Navegador guia no


mais à esquerda painel, expandir o Modelos visualizar área, clique no ícone do menu
no Modelos ver a barra de título e nós selecionamos Novo Modelo.

[141]

www.it-ebooks.info
Trabalhar com bancos de dados

2. Aqui escolhemos para nomear o modelo Sistema Oracle Cliente. Usando o


listas suspensas, escolha Oráculo como a tecnologia e ORACLE_CUSTSYSTEM
como o esquema lógico, deixando todos os outros campos como estão. O Código campo
será automaticamente preenchido como se digitar o nome do modelo.

Na imagem anterior, o Código para um modelo é um nome interno que ODI


usa como um prefixo para distinguir entre datastores outra de nome semelhante.
Por exemplo, se tivéssemos dois modelos que tinham códigos de SRC e TRG, Cada um de
que tinha chamado datastores CLIENTE, Então seria ODI internamente (na sua
geração de código) referem-se a eles como SRC.CUSTOMER e TRG.CUSTOMER. O
mesma idéia é usado para projetos ODI como você pode observar mais tarde. Por conseguinte,
se
você alterar o Código valor depois que você começou a fazer uso de um modelo ou de
conteúdo do projeto, você está em um risco de quebrar as coisas.

Observe também que os campos de código dentro ODI irá padronizar


os nomes que você usa, substituindo todos os espaços em branco com
sublinhados e aproveitando todas as letras.

3. Nós clique no Engenharia reversa guia e notamos que a Global contexto


será usado para traduzir o nome de esquema lógico em que o modelo é
com base em uma conexão física para extrair os metadados.

[142]

www.it-ebooks.info
Capítulo 5

Você também vai ver que nós podemos escolher os tipos de objetos
cujos metadados serão recuperados por tipo e / ou pesquisa
-máscara com %sendo um carácter universal. Podemos também
influenciar quer remover qualquer prefixo do recuperados
nomes de tabela, ou se precisamos de truncar o nome da tabela
para um número máximo de caracteres. Esses recursos são
usado principalmente quando derivar tabela aliases.

Queremos fazer engenharia reversa todas as tabelas do Sistema Cliente (há


apenas um de qualquer maneira), por isso vamos deixar todos os campos de filtro com as
configurações padrão.

4. Nós clique no Engenharia reversa botão do lado esquerdo do Modelo


Barra de título Editor, em seguida, clique em Sim no diálogo de confirmação para salvar o modelo
e prossiga.

Uma forma alternativa para iniciar o processo de engenharia reversa


seria usar o ODI de menu principal do Studio e selecione ODI |
Engenharia reversa.

[143]

www.it-ebooks.info
Trabalhar com bancos de dados

5. Uma caixa de diálogo de progresso aparecerá, seguindo o progresso ao longo das fases de
engenharia reversa. Uma vez que este processo estiver concluído, o diálogo vai desaparecer
e podemos fechar o editor de modelo. Vamos agora ver o novo Oráculo
Sistema de cliente no modelo Modelos ver do Navigator. Quando
expandir este nó do modelo, vemos que o CUSTOMER_MASTER A Oracle tabela é
representada por uma ODI armazenamento de dados com o mesmo nome no recém-criado
Modelo ODI.

6. Agora é hora de criar o modelo para a nossa data mart. Criamos um novo modelo,
desta vez usando os seguintes detalhes na guia Definição:

° Nome: A Oracle DataMart


° Tecnologia: Oráculo
° Esquema lógico: ORACLE_DATAMART

[144]

www.it-ebooks.info
Capítulo 5

7. Se clicar sobre o Engenharia reversa guia, vamos ver que mais uma vez a
Global contexto será usado por padrão para a execução dos metadados
processo de extracção.

8. Clicamos em frente na Seletiva engenharia reversa guia, como queremos


seleccionar manualmente qual a definição de tabelas para importar do Datamart
esquema nesta fase.

9. Nesta guia clicamos na Seletiva engenharia reversa caixa de seleção para


ativar essa opção. Em seguida, clique em Nova DataStores caixa (não temos
têm qualquer dos já existentes no modelo ODI que deseja atualizar, assim Existente
Datastores é deixado sem controle) e depois Objetos de fazer engenharia reversa para
exibir uma lista de todas as tabelas disponíveis no Datamart Banco de dados Oracle.

Como observado anteriormente, que poderia ter influenciado e refinado


essa lista usando o Tipos e Máscara definições no
Engenharia reversa guia se, por exemplo, havia um grande número
de tabelas no banco de dados para uma engenharia reversa (um
Sistema ERP, por exemplo, vai ter milhares de tabelas
dentro de qualquer esquema dado).

Limpamos as seleções para todas as tabelas e, em seguida, verificar novamente a caixa


contra
o CLIENTE tabela.

[145]

www.it-ebooks.info
Trabalhar com bancos de dados

10. Nós clique no Engenharia reversa botão mais uma vez, salvar o nosso modelo quando
perguntou e feche o editor de modelo. Mais uma vez, vamos ser capazes de ver o nosso
modelo novo e armazenamento de dados no Modelos ver.

11. Assim como uma verificação final, voltamos ao modelo de fonte e botão direito do mouse sobre
o
CUSTOMER_MASTER armazenamento de dados no modelo de Sistema Oracle Customer e clique
em
em Visualizar dados:

[146]

www.it-ebooks.info
Capítulo 5

12. A somente leitura dados editor abre mostrando o conteúdo da CUSTOMER_MASTER


mesa (esta funcionalidade de visualização de dados também usa o contexto definido no
Engenharia Reversa guia).

A diferença entre o Dados ... e Visualizar dados


operações sobre o armazenamento de dados é a de que com
Visualizar dados
você não pode alterar os dados.

Recapitulando o que temos feito até agora:

• Temos agora os modelos construídos com sucesso e datastores em ODI com base em nossa
físicas das estruturas de dados (e testado que pelo menos uma está correctamente
configurado).
• Criamos o Sistema Oracle Cliente modelo baseado na Oracle_
CUSTSYSTEM Esquema lógico (modelos são sempre baseadas em esquemas lógicos)
e engenharia reversa de toda a CUSTSYSTEM banco de dados
esquema mesmo que fosse apenas uma tabela. Este modelo fornece a
fonte fundamental de dados de clientes para a nossa Processamento de Dados PO mart.

[147]

www.it-ebooks.info
Trabalhar com bancos de dados

• Nós criamos um modelo de segunda chamada A Oracle DataMart e, em seguida, realizada


seletiva a engenharia reversa para criar apenas um CLIENTE armazenamento de dados.

• Em cada caso, o Global contexto foi usado para associar o esquema lógico
em que cada modelo é baseado em um esquema físico real que poderia ser
interrogado por sua estrutura.

É importante ressaltar que embora os modelos e ODI


datastores estão associados a uma determinada tecnologia
(Por o guia Definição), eles não contém informação
sobre os locais físicos, os nomes dos servidores usuário,
credenciais, e assim por diante.

Observe também que o contexto especificado no editor de modelo


páginas é apenas utilizado no ponto de engenharia reversa
e para ver os dados dentro Navigator Designer.
O contexto especificando qual o ambiente físico
será acessado durante a execução será determinado
em um lugar diferente / hora.

Depois de ter configurado nossas representações ODI de nossos objetos de dados, é hora de
construir
uma interface para mover e transformar os dados do nosso sistema de clientes em nossa
data mart.

Movendo os dados usando uma interface ODI


Nesta seção, vamos:

• Crie um projeto novo, em que ODI para organizar nosso trabalho


• Importe os módulos de conhecimento, que prevemos que vamos precisar para a nossa
tarefa
• Criar uma interface para carregar dados do CUSTOMER_MASTER armazenamento de dados
no
Sistema Oracle Cliente modelo para o CLIENTE armazenamento de dados no Oráculo
Data Mart modelo
• Ajuste os mapeamentos na interface para satisfazer a nossa tarefa e PO geral
requisitos de processamento descrito no início deste capítulo

• Verifique o fluxo de dados gerado por ODI e ajustar as opções de configuração


do KMS para atender às nossas necessidades

• Executar a interface e analisar os resultados para assegurar que o CLIENTE


armazenamento de dados em nossa data mart tem agora dados de clientes válidos
consistentes com a nossa
PO requisitos de processamento

[148]

www.it-ebooks.info
Capítulo 5

Para criar nossa interface primeiro, vamos seguir estes passos:

1. Com Navigator Designer ainda aberto, clique no ícone do menu projeto sobre
a barra de título da Projetos visualizar e seleccionar Novo projeto.

2. Nós chamamos o projeto Capítulo 5, Salvar o nosso trabalho, e fechar o editor.


3. Na visualização Projetos, expandimos o Capítulo 5 nó do projeto e do Primeiro
Dobrador nó abaixo que para ver o layout geral da organização de um projeto.

4. Nós direito do mouse sobre o Módulos de Conhecimento nó e selecione Importar


Módulos de conhecimento ....

[149]

www.it-ebooks.info
Trabalhar com bancos de dados

5. A primeira vez que você importar um módulo do Conhecimento (GC), você precisa definir
o diretório do qual a importação ocorre, por isso, clique na busca
ícone que está à direita da Diretório importação de arquivos campo.

6. Nós navegar para o nosso <ODI_HOME> \ Oracledi \ xml-referência diretório, onde


<ODI_HOME> é a pasta raiz em que instalada ODI 11g em Capítulo 2,
Instalação do produto. À medida que seguiu todos os padrões para a nossa instalação em
Windows, este é C: \ Oracle \ Middleware \ Oracle_ODI1 \ oracledi \ xml-
referência. Uma vez que tenhamos navegado para o local correto, clique em Abrir
para retornar ao diálogo de importação KM.

[150]

www.it-ebooks.info
Capítulo 5

7. A caixa de diálogo de importação KM agora mostra uma lista de todos os módulos de


conhecimento
localizado no diretório de importação que temos especificado. Usando o normal
Janelas método de seleção múltipla (Ctrl + Clique), selecionamos dois IKM da Oracle
Atualização Incremental e LKM SQL para Oracle e clique em Ok para realizar o
importar. (Você também pode importar cada KM separadamente, não faz diferença.)

[151]

www.it-ebooks.info
Trabalhar com bancos de dados

8. Vemos uma ODI diálogo de progresso ação por um tempo curto e, em seguida, uma Importar
denunciar janela é exibida. O conteúdo deste relatório (novo na ODI 11g) são
não é importante aqui, então podemos simplesmente fechar a janela do relatório. Se você
expandir
o Módulos de Conhecimento no nó Capítulo 5 projeto e, em seguida, expandir
o carregamento e integração sub-nós lá, você vai ver o seu recém-importado
KMs pronto para uso.
9. Em Primeira pasta, nós botão direito do mouse sobre o Interfaces nó e selecione
Nova interface.

10. Na página de abertura do editor de Interface, chamamos a interface Carregar


CLIENTE e clique no Mapeamento guia na parte inferior do painel para invocar
O editor de mapeamento gráfico.

[152]

www.it-ebooks.info
Capítulo 5

11. O editor é iniciado pela primeira vez com o Mensagens, Inspetor de propriedades,
e Miniatura folhas ao longo da parte inferior de três painéis separados.

[153]

www.it-ebooks.info
Trabalhar com bancos de dados

O editor é muito mais fácil e produtivo para usar se você sobrepor estes três
painéis em uma coleção com abas. Para fazer isso, clique em uma das guias de cabeçalho
(digamos
o Diagrama para começar) e arrastar (mantendo o botão do mouse pressionado) no separador
para o centro de um painel adjacente (semelhante ao Mensagens um). Quando você
ver uma caixa pequena mensagem aparecer inteiramente no centro do painel, que ao lado
(como
visto na imagem abaixo), então você pode soltar o botão do mouse para
acoplar os dois painéis juntos, e repita para o terceiro painel.

Você deve acabar com um conjunto guia combinado que se parece com o
seguindo screenshot:

O Diagrama - Inspetor de propriedades visão é a mais utilizada durante o


criação de mapeamentos, então clique nessa guia para trazer a sua visão para a frente.

[154]

www.it-ebooks.info
Capítulo 5

12. Podemos agora começar a construir o CLIENTE carga mapeamentos. Começamos por
especificando o destino para a interface. Expandimos a A Oracle DataMart
no nó Modelos ver do Navegador Designer, e arrastar-e-soltar
o CLIENTE armazenamento de dados para o painel superior direito do editor de
mapeamento.
Quando 'drop' do CLIENTE Datastore lá, ele se expande para mostrar sua
nomes de colunas, as suas categorias de tipo de dados, armazenamento de dados e os da
primária
campo de chave. Tipos de dados são indicadas por letras que precedem a coluna
nomes como mostra a imagem a seguir:

13. Agora vamos arrastar-e-soltar o CUSTOMER_MASTER armazenamento de dados a partir do


Oráculo
Sistema de cliente modelo para o painel superior esquerdo do editor (as fontes
área). Quando cair o armazenamento de dados, um Automap diálogo. Nós clique
em Sim para invocar o mapeamento automático.

[155]

www.it-ebooks.info
Trabalhar com bancos de dados

14. ODI irá realizar mapeamentos com base na correspondência exata coluna nome e irá adicionar
indicadores na área alvo, para mostrar onde o código de qualquer transformação no
mapeamento é para ser executado.

15. Precisamos adicionar e alterar alguns mapeamentos. Então, primeiro arraste-e-soltar


o CustID coluna da CUSTOMER_MASTER armazenamento de dados de origem para
o CUSTOMER_ID coluna no armazenamento de dados destino. Isto irá executar a
"Direto" de mapeamento (os dados não serão alterados) da fonte
dados para o destino.

[156]

www.it-ebooks.info
Capítulo 5

16. Em seguida, podemos ver que o armazenamento de dados de destino tem a PREFIX coluna
como um
numérico tipo de dados (o nindicador, com destaque na imagem anterior),
enquanto que o armazenamento de dados de origem tiver-lo armazenado como um valor de
caráter variável. Se
clicamos na PREFIX coluna no painel de armazenamento de dados alvo, vemos o
implementação de mapeamento no Inspetor de propriedades abaixo do objectivo e
painéis de fontes:

[157]

www.it-ebooks.info
Trabalhar com bancos de dados

17. Vamos mudar o texto no Implementação caixa de texto no Inspetor de propriedades


para ler:

caso (CUSTOMER_MASTER.PREFIX)
quando 'Mr'then 1
quando 'senhora', então 2
quando 'senhorita', então 3
quando 'Dr'then 4
mais uma
final

Nós clique no ícone do sinal verde acima da caixa de texto a força para executar ODI
uma verificação de sintaxe do código de implementação que entramos. Se você ver qualquer
erros, que pretende corrigi-los antes de prosseguir.

18. O mapeamento lado que irá alterar é aquele que converte a fonte de
DATE_OF_BIRTH em coluna AGE para o destino. Nós arrastar o DATE_OF_BIRTH
coluna da área de fontes e solte-o no-alvo AGE coluna, em seguida,
clicamos em que a coluna na área de destino e mudar o código no
caixa de implementação para:

trunc (MONTHS_BETWEEN (sysdate, CUSTOMER_MASTER.DATE_OF_BIRTH) / 12,0)

[158]

www.it-ebooks.info
Capítulo 5

Mais uma vez, use o verificador de sintaxe contra o nosso código de implementação.

19. Nós arrastar o SALES_PERS_ID a partir da fonte para o SALES_PERSON_ID


coluna no alvo para definir um mapeamento direto nessa coluna.

[159]

www.it-ebooks.info
Trabalhar com bancos de dados

20. Não há dados de origem do Create_date e LAST_UPDATE alvo


colunas. Em vez disso, estes serão utilizados para gravar informação sobre modificação
as informações de destino. Nós clique no Create_date coluna de destino e
no Inspetor de propriedades, vamos definir as propriedades de mapeamento e seguintes
comportamentos:

° Mapeamento de atividade: Verificado


° Implementação: SYSDATE
° Executar em: Área de Preparo
° Inserir: Verificado
° Update: Não verificado

Isto significa que o Oracle SYSDATE valor será avaliado no estadiamento


sistema (aqui, o nosso banco de dados de destino) e entrou na Create_date alvo
coluna somente quando uma nova linha é criada. Aqui nós estamos aproveitando o SQL
capacidades do motor e potência do banco de dados de destino do Oracle para executar
a transformação campo de data, assegurando a qualidade dos dados de auditoria, não
permitindo que as atualizações para esse campo nesta interface.

[160]

www.it-ebooks.info
Capítulo 5

21. Nós fazemos o mesmo para o LAST_UPDATE coluna, mas esse valor definido em ambos
inserir e atualizar operações.

22. Agora que todos os mapeamentos estão completos, clicamos na Fluxo guia abaixo
a área alvo e as fontes para mostrar o fluxo de interface que tem ODI
construída. Você pode ver abaixo LKM SQL para Oracle tem automaticamente
foi selecionado como o mecanismo para carregar os dados da fonte para o
encenar área. Isto é assim porque é o KM apenas adequados para esta acção que tem
foram importados para o projeto atual.

23. Nós clique na barra de cabeçalho do Alvo (XE_on_local_as_ODITEMP)


caixa no diagrama de fluxo e nós vemos na Inspetor de propriedades, que se encontra
a parte inferior do ecrã, que IKM a Oracle Atualização Incremental tem sido
automaticamente seleccionado como o KM integração, pela mesma razão. Nós
alterar o FLOW_CONTROL valor de opção para esta KM <default>
verdadeiro para falso.

[161]

www.it-ebooks.info
Trabalhar com bancos de dados

O FLOW_CONTROL governa opção se os dados básicos


controles de integridade (por exemplo, as restrições de valores, relacionamentos,
e violações de chave) são aplicadas por ODI para o fluxo de dados apenas
antes de ser integrado no armazenamento de dados destino final. Isso faria
ser realizada por um CKM em vez de ter a base de dados de destino
tabela rejeitar os registos de si. Nós não importar um CKM em
nosso projeto como nós estaremos cobrindo gerenciamento do erro em uma tarde
capítulo, de modo que é por isso que estamos desativando o controle de fluxo
aqui.

[162]

www.it-ebooks.info
Capítulo 5

24. Nós terminou de construir e configurar o CLIENTE carga interface, de modo


vamos salvar todo o nosso trabalho usando o Save All ícone na barra de ferramentas do Estúdio
ODI principal.
Uma caixa de diálogo aparece, perguntando se você deseja bloquear o objeto (esta interface).
Isto é para suportar múltiplos usuários simultâneos trabalhando contra o mesmo trabalho
repositório, mas já que estamos agindo como o único desenvolvedor em nosso ambiente
podemos selecionar Não me mostre esta janela próxima vez e clique em Não para
evitar o bloqueio do objeto.

25. Agora estamos prontos para testar a nossa interface! Nós clique no ícone Executar no
principal
ODI Studio barra de ferramentas:

26. Um Execução caixa de diálogo na qual podemos definir o nosso contexto de execução,
agente de execução, o nível de log, ou podemos simplesmente simular a execução que
iria gerar o código para a interface, mas não executá-lo (simulação é uma nova
característica do ODI 11g). Desde que nós queremos realmente executar a interface usando
todos
dos valores padrão, clicamos em OK.

[163]

www.it-ebooks.info
Trabalhar com bancos de dados

27. Depois de uma pequena pausa (enquanto o código de interface é gerada), um Informações
caixa de diálogo aparece dizendo que a sessão de execução foi iniciada. Nós
descartar essa caixa de diálogo, clicando em OK, e fechar a janela do editor
para o CLIENTE carga interface.

Se uma tela de mensagem de erro aparece indicando que o sessão


é incapaz de começar, em seguida, um ou mais erros fatais foram detectados
dentro do projeto de interface e devem ser corrigidos antes
a tentativa de executar.

Nós já construiu e executar uma interface. Vamos rever as medidas tomadas:

• Nós criamos um projeto, então localizado e importado o conhecimento necessário


Módulos em que o projeto para apoiar a fonte desejada e alvo
tecnologias.

• Nós criamos uma interface, especificou o alvo e fonte para essa interface, e
tinha ODI criar automaticamente a maioria dos mapeamentos para a interface.

• Em seguida, adicionados e modificados os mapeamentos existentes, utilizando simples,


straight-through mapeamentos, funções de banco de dados, e algumas bastante
complexas
SQL (o caso ... quando mapeamento e a data de nascimento de conversão idade).
• Então, verificamos o fluxo de interface e da KMs sendo usado, e definir o IKM
de forma que a integridade dos dados não seria seleccionada (uma vez que não importar um
CKM
para o projeto, não poderíamos permitir que a IKM para invocar as atividades CKM).
• Nós salvamos e executado o nosso trabalho.
• É importante notar que se cumpram os requisitos de movimento e
transformar os dados no data mart apenas interagindo com o ODI
Estúdio interface do usuário. SQL muito pouco foi exigido: o conhecimento pré-construído
Módulos, reforçada com os mapeamentos de campo de interface, fez todo o pesado "
levantamento "da geração SQL.

O próximo passo é para ver se o que nós construímos trabalhado da mesma forma que
era esperado!

[164]

www.it-ebooks.info
Capítulo 5

Verificando a execução com o Operador


Navegador
Esta seção será nossa primeira introdução à capacidade ODI Studio para mostrar e
examinar os detalhes da árvore de execução, para que possamos verificar o nosso
desenvolvimento como nós vamos
ao longo de um processo iterativo e maneira incremental. Vamos fazer o seguinte:
• Apresentá-lo aos pontos de vista diferentes em dados de execução disponíveis no
Navegador operador

• Examine o log da sessão de execução para a interface que acabamos de executar, de


modo que
podemos ver as métricas globais
• Examine os detalhes dos passos executados eo código gerado para nós
por ODI

Para olhar para os detalhes da execução de um trabalho, temos de seguir estes passos:

1. Nós clique no Operador guia no Estúdio ODI principal painel Navegador.


O Operador palavra não pode ser visível, dependendo da largura da sua
Navegador painel, mas o ícone do operador deve sempre ser mostrado.

Alternativamente, você pode selecionar o ODI Operador Navigator opção em


o Ver item do menu principal.

[165]

www.it-ebooks.info
Trabalhar com bancos de dados

2. Vemos no Lista sessão ver no topo do Navegador que as sessões podem


ser visualizados por data de execução, agente físico, nome da sessão, o estado de execução,
quaisquer palavras-chave associadas a sessão, o usuário que executou a sessão,
ou uma cobertura toda a lista de todas as execuções em ordem de número de sessão.

Todos estes pontos de vista (com a excepção do Palavras-chave ver) vai mostrar o
mesma sessão, identificáveis pelo número da sessão-1111 neste caso. O
símbolo verde com um ícone de carrapato mostra que a sessão foi executada com êxito.

Uma breve explicação de números de sessões: se você executar um processo, seu


número de sessão será provavelmente diferente daquele (1111)
mostrado na tela anterior. Esse número representa
número da sessão 1em um repositório de Trabalho com um ID 111. Se
em vez disso, foram a sessão de execução segundo um repositório com
o ID de 100, o número da sessão seria 2100.

[166]

www.it-ebooks.info
Capítulo 5

3. Se fecharmos todos os nós da categoria (por exemplo, Data) exceto Todas as execuções,
e clique duas vezes sobre (ou o botão direito do mouse e selecione Abra) o CLIENTE carga
nó que ainda é visível, uma visão geral da sessão será exibido no
mão direita lado do ODI Studio. Isso mostra as métricas globais para a sessão,
incluindo a duração, número de inserções, atualizações e exclusões, e para a execução
estado da sessão.

Nesta visão, podemos ver que 38 registros foram inseridos, sem atualizações
ou exclui.

[167]

www.it-ebooks.info
Trabalhar com bancos de dados

4. Voltar no Lista sessão ver, vamos expandir o CLIENTE carga nó sessão


e vemos que a nossa sessão tem um importante passo também chamado CLIENTE carga
(O nome da nossa interface). Quando expandir o 1 - Carga CLIENTE nó,
podemos ver todos os passos que ODI criados e executados para executar a interface
(Que pode rolar para cima e para baixo para vê-los todos).

Os passos marcados Carregamento são gerados pelo LKM; aqueles marcados


Integração são gerados pelo GIC. Os passos assinalados por um amarelo
relatório triângulo um aviso, neste caso, porque eles são as duas etapas
para excluir tabelas ODI temporárias que podem não existir no início da execução.

[168]

www.it-ebooks.info
Capítulo 5

5. O 3 - Carregando - SrcSet0 - dados de Carga passo é onde o LKM carrega o


dados de origem para a tabela de carga temporário na área de preparação. Podemos abrir
este passo clicando duas vezes para ver as estatísticas de execução.

Podemos ver que 38 linhas foram processadas. Neste caso, os valores nos campos
para o número de inserções, atualizações e exclusões referem-se ao carregamento temporário
mesa de trabalho (C $) Aqui. Nós agora fechar a guia tarefa sessão.

[169]

www.it-ebooks.info
Trabalhar com bancos de dados

6. Voltamos para a lista de tarefas e selecione a sessão 6 - Integração - Carga


CLIENTE - fluxo em Inserir eu tabela $ passo.

7. Nós duplo-clique sobre o 6 - Integração - CLIENTE carga - fluxo de Inserção


em que eu tabela $ passo. Esta etapa irá mostrar a atividade realizada contra o
mesa de trabalho temporário integração (I $), Cuja maioria dos dados será eventualmente
integrado na tabela de destino.

[170]

www.it-ebooks.info
Capítulo 5

8. Ao clicar sobre o Código guia, o Código vista mostra o SQL gerado no


a fonte para este passo (a CUSTSYSTEM banco de dados) e os correspondentes
código de destino da etapa (a mesa de trabalho de carga na área de teste). Por
rolagem para baixo vemos no código para a fonte que os mapeamentos que
criado na interface para ser executada na fonte são incluídos aqui,
incluindo o PREFIX e AGE transformações.

[171]

www.it-ebooks.info
Trabalhar com bancos de dados

9. Nós agora fechar a janela para o passo e abrir a passo 8 - Integração -


Carga do cliente - fluxo de Inserção em tabela I $. Este é o passo no qual o
mapeamentos configurados para serem executados na área de teste é executado. O
código mostra as duas referências SYSDATE que definimos para a Create_date
e LAST_UPDATE colunas de auditoria.

10. Podemos agora fechar o Tarefa Sessão: Integração janela da guia e do


Sessão: CLIENTE Carga janela de guia e de retorno para o Estilista guia.

11. Na visão Modelos, abrimos a CLIENTE armazenamento de dados no A Oracle DataMart


modelo em um editor e no Definição guia, nós clique no ícone de atualização
ao lado da Total: no campo Número de linhas secção. Podemos ver agora o
campo actualizado para um valor de 38.

[172]

www.it-ebooks.info
Capítulo 5

12. Outra maneira de ver a contagem de registro (e dados) é abrindo o


CLIENTE carga interface em um editor, ir ao Mapeamentos página,
botão direito do mouse na barra de título alvo armazenamento de dados e selecionando
Dados ....
Você iria ver imediatamente que há 38 registros.

[173]

www.it-ebooks.info
Trabalhar com bancos de dados

Também tomamos nota das várias colunas em que nossas transformações têm
ocorreu; rolar para a direita, vamos ver agora que o PREFIX coluna possui
um valor numérico, a AGE campo tenha sido calculado, e a DATA campos
foram preenchidas.

O número de registos mostrados em ambos os pontos de vista


mencionado anteriormente não refletem necessariamente a
correção do processo de integração, talvez tenha havido
indesejadas exclusões registro ou atualizações onde inserções
eram esperados. É sempre melhor para verificar a integração
passos resumos como eles dão muito mais detalhes sobre
contagens específicas e que eventos realmente aconteceram.

13. Feche a caixa de diálogo Editor de dados e editor de Interface.

Nestes últimos poucos passos temos:

• Usado o navegador Operador e visto os pontos de vista da categoria através de vários


que você pode examinar as sessões de execução

• Vistos métricas gerais de execução da sessão


• Perfurado através dos níveis de informação da sessão para o indivíduo
passos executados

• Visto como os passos estão ligados à KMs utilizado pela interface

[174]

www.it-ebooks.info
Capítulo 5

• Examinou o código SQL real executado em um par de estágios na interface


fluxo, especificamente as etapas onde mapeamentos de origem e área de preparo
são implementadas

• Verificado que a tabela de destino tenha sido carregado com o número correcto de
registros e visto que as transformações de dados importantes foram implementadas.

Resumo
Neste capítulo, cobria a maior parte dos princípios básicos que o ajudarão a tornar-se muito
produtivo com ODI e levou nosso primeiro passo para a implementação do nosso PO
processamento solução que nosso povoado data mart com o enriquecimento e
transformadas dados de origem de nosso Sistema Cliente que encontrou a data mart
requisitos de negócios.

Começamos por configurar vista ODI da arquitetura de dados físico para a


origem e de destino, utilizando dois sistemas de servidores de dados, os esquemas físicos que eles
segure (uma com um esquema de trabalho em separado), e ligando estes esquemas físicos para
Os nomes de esquemas lógicos via Global contexto.

Em seguida, os metadados de engenharia reversa a partir desses esquemas em modelos e ODI


em um caso, utilizado seletiva engenharia reversa. Esta tarefa resultou em dois datastore
definições, ou seja, CUSTOMER_MASTER no Sistema Oracle Cliente modelo
e CLIENTE no Oracle DataMart modelo.

Criamos, então, um projeto novo e importado o Carregando e Integração


Módulos de conhecimento que seria necessário para construir nossa interface.

Em seguida, criou um CLIENTE carga interface que usado CUSTOMER_MASTER como uma fonte
e CLIENTE como um alvo. Durante este processo, foi utilizado o Mapeamento automático
recurso e, em seguida, complementada esta atividade com um mapeamentos manuais e poucos
transformações e enriquecidos os dados com algumas marcas de tempo que poderia ser mais tarde
utilizado para fins de auditoria. Também verifiquei os módulos de conhecimento a ser utilizados pelo
interface e mudou uma opção IKM alterar o fluxo para evitar a integridade dos dados
cheques. Em seguida, executada a interface.

Nos últimos passos, foi utilizado o Navigator Operador de detalhar e examinar


a árvore de execução para a nossa interface, tendo um olhar para o código SQL que foi executada.
Nós
a certeza de que o número correto de registros foram enviados e que a chave
mapeamentos e transformações foram implementadas com sucesso.
No próximo capítulo, vamos adicionar alguma complexidade adicional através da introdução de junta
e
pesquisas, fontes de dados heterogêneos, agregação de dados, e adicionando um driver JDBC
a ODI 11g (algo que não tem que fazer para bancos de dados Oracle porque o nosso
Driver Oracle veio pré-instalado com ODI).
[175]

www.it-ebooks.info
www.it-ebooks.info
Trabalhar com o MySQL
ODI ambiente operacional do normal está sendo cercado por uma série de diferentes
sistemas de banco de dados. Vimos no capítulo anterior que ODI vem pronto para uso
com bancos de dados Oracle, ter o driver JDBC necessário instalado automaticamente fora
da caixa. No entanto, o património do ODI significa que não tem que ser um Oracle
base de dados em qualquer lugar dentro do alcance do ODI. Então, vamos dar uma olhada em como
ODI interopera
com outro banco de dados popular, MySQL, que historicamente não tinha nada a ver com o
Oracle Corporation.

A razão para a escolha do MySQL é simplesmente para ilustrar alguns passos adicionais que
deve ser realizada quando se utiliza diversos outros bancos de dados. Essas etapas são necessárias
para fazer os drivers necessários JDBC para os bancos de dados disponíveis para ODI de usar.

No capítulo anterior, integrados dados de uma tabela do banco de dados em outro


como um exemplo simples fundação. Neste capítulo, vamos ampliar as habilidades que
ganhou os seguintes, pela incorporação de um conjunto de novos elementos no nosso trabalho,
enquanto nós
continuar a integrar dados no data mart para os nossos exemplos:
• Antes de começar a desenvolver nada de novo, vamos adicionar um adicional
JDBC driver para ODI Studio para permitir o acesso e processar o MySQL
dados e metadados

• Nós vamos usar dois métodos para configurar algumas junções entre fonte
DataStores para enriquecer os nossos dados alvo

• Vamos introduzir alguma agregação em nossos mapeamentos de transformação para


produzir dados resumidos em nossa data mart

• Nós vamos usar "simulação" em ODI para examinar a gerada automaticamente


código de tempo de execução antes de ser executado

Além dessas novas tarefas, estaremos repetindo uma série de operações com alguns
ligeiras variações, que foi realizado no último capítulo, então você deve começar a sentir
à vontade com algumas das tarefas mais comuns em ODI 11g.

www.it-ebooks.info
Trabalhar com o MySQL

O que você pode e não pode fazer com o MySQL


Nós estaremos usando o MySQL para hospedar nossos dados de origem neste capítulo, mas o
MySQL é
igualmente apropriado como um alvo ou para o uso como uma área de preparação.
MySQL é uma das plataformas listadas no Technologies, o Navegador de Topologia
ver, por isso ODI sabe sobre as suas funções de banco de dados, recursos de tipos de dados, o
SQL
variações de sintaxe e outras características. Assim, o trabalho adicional de utilizar um
banco de dados como MySQL com ODI é de fato mínima.
No entanto, você não pode usar o MySQL (pelo menos versões até e incluindo v5.1) como um
sede para Master ODI ou repositórios de trabalho. Como o MySQL tem uma limitação em sua
Capacidade SQL. Esta limitação não está presente em todos os bancos de dados não-relacional
Oracle
por quaisquer meios e se você quiser usar um banco de dados diferente para hospedagem ODI
repositórios que você deve consultar o seguinte ODI Matriz de certificação no
A Oracle site de suporte em http://oracle.com/technetwork/middleware/
data-integrator/odi-11gr1certmatrix-163773.xls.

ODI 11,1

Banco de dados repositório Matriz de certificação


Oracle 10.2.0.4 +

A Oracle 11.1.0.7 +

A Oracle 11.2.0.1 +

Microsoft SQL Server 2005

Microsoft SQL Server 2008

IBM DB2/UDB 9.7 e posteriores FixPaks

IBM DB2/400 (V5R4 +)

Hypersonic SQL 1.7.3 +

Sybase como empresa 15.0.x

Trabalhar com o MySQL


Nestes exemplos passo-a-passo, nós vamos adicionar o produto e estoque para o nosso PO
Processamento de data mart de um banco de dados de sistema de produto que está hospedado no
MySQL.
Nós estamos indo para executar uma mistura de consolidação de dados do produto (combinando
produto base
e informações da categoria produto de tabelas de origem separadas em um único alvo
tabela) e enriquecimento de dados de inventário (conversão de um número de produtos para um nome).

[178]

www.it-ebooks.info
Capítulo 6

Para fazer isso, vamos usar dois métodos diferentes em ODI 11g para juntar informações de
duas ou mais fontes.

Uma vez que uma interface ODI normalmente preenche apenas um armazenamento de dados alvo
(apesar de um dos
os novos módulos de conhecimento 11g permite contornar essa limitação), vamos
criar duas interfaces durante esta tarefa de um para informações sobre o produto e outro para
dados de inventário. Quando isso acontece, a nossa lista de requisitos originais afirmou que os dados de
produtos
foi atualizado diariamente, enquanto as informações do inventário pode ser atualizado com um diferente
frequência, de modo a separar estas duas atividades seria necessário de qualquer maneira.

Obter e instalar o software


Se você deseja fazer o download e instalar o MySQL para acompanhar os exemplos
fornecidas aqui, a Community Edition do MySQL é gratuito para baixar e usar
de http://www.mysql.com/downloads/ ou você pode ir para http://download.
oracle.com / e siga o link para download do MySQL a partir daí.

A documentação para o MySQL, incluindo notas de instalação está disponível em


http://dev.mysql.com/doc/.

A versão gratuita do MySQL Connector / J, o driver JDBC para usar (v5.0.8), é


disponível para download em http://dev.mysql.com/downloads/connector/
Download j/5.0.html #.

Não use a versão mais recente do driver JDBC MySQL. Na principal


baixar site para os componentes do MySQL você vai ver que há
são versões de driver até v5.0.8 disponível para download.
No entanto, ao escrever este livro, os autores encontraram
erros operacionais quando 5.1.x versão do driver foi utilizado com ODI
11g. Estes problemas de driver não estão presentes na versão v5.0.8.

Visão geral da tarefa


Primeiro vamos ter de realizar obras de infraestrutura, como configurar ODI 11g para
use o MySQL Connector / J, o driver JDBC, criando a topologia e modelo para
O MySQL dados de origem, e estendendo o modelo ODI da meta PO Processamento
data mart para incluir as definições de tabela restantes alvo.

Depois disso, vamos criar duas interfaces, uma para integrar os dados do produto, e os outros
integrar os dados de inventário.

[179]

www.it-ebooks.info
Trabalhar com o MySQL

Integrando os dados do produto


Esta atividade exige a combinação de dados de origem de produtos e de produtos
categorias em uma tabela de destino único.

Produto alvo de dados, fontes e mapeamentos


O alvo PRODUTOS tabela no Processamento de PO Datamart tem o esquema
a seguinte estrutura:

Existem duas tabelas de origem no prodsystem MySQL esquema, o primeiro de


o qual contém os dados do produto de base e é chamado product_base:

A tabela de origem segundo contém informações usadas para categorizar os produtos


e é chamado product_category:

[180]

www.it-ebooks.info
Capítulo 6

Os mapeamentos de coluna para esta interface são principalmente simples e são como se segue:

• O alvo PRODUCT_ID,PRODUCT_NAME,COST_PRICE, E List_price


colunas estão todos preenchidos a partir de colunas de nome semelhante, no
product_base tabela

• O alvo PRODUCT_TYPE coluna pode ser preenchida pela fonte


CATEGORY_NAME na coluna product_category mesa, ligada por
category_id
• O alvo PRODUCT_PARENT_TYPE coluna pode ser preenchida a partir da mesma
CATEGORY_NAME coluna de origem, mas tem que ser coordenada através de um auto-
associação
link do category_parent_id volta da coluna para a mesma mesa
category_id coluna
• Nós já preenchido uma LAST_UPDATE coluna no capítulo anterior,
então sabemos como vamos conseguir que o mapeamento

Produtos de logística de fluxo de interface


Nossa fonte é um banco de dados MySQL e nossa área de teste e alvo será no
De dados Oracle mart. Isso significa que podemos usar a mesma carga e Integração
Módulos de conhecimento que usamos no capítulo anterior.

O fluxo do processo completo interface é exibida na figura a seguir:

Oracle:
Data Warehouse
Servidor
MySQL:
Cliente
Sistema de servidor

prodsystem
esquema
ODITEMP Datamart
esquema esquema
LKM
product_base
tabela LKM SQL para Oracle
SS_0 IKM
Junta PRODUTOS
tabela

product_
categoria IKM a Oracle Atualização Incremental
tabela

Mais uma vez, não estará realizando qualquer verificação da qualidade dos dados, de modo que não vai
usar
quaisquer ckms.
[181]

www.it-ebooks.info
Trabalhar com o MySQL

Integração de dados de inventário


Os dados de estoque que temos no prodsystem MySQL esquema é fornecido pela
do produto para cada armazém em nossa propriedade. A meta de data mart só precisa de soma
totais, por isso precisamos para realizar a agregação dos dados de origem e também precisamos
realizar uma look-up em alguns dos dados do produto que vamos ter apenas integrado no
a interface anterior.

Alvo de inventário, fontes e mapeamentos


A meta para este interface é o INVENTÁRIO tabela, que tem a seguinte estrutura:

A principal fonte para esta informação será o MySQL warehouse_stock_level


mesa como se segue:

No entanto, também vai ser reutilizando o Datamart esquema de PRODUTOS tabela para fornecer
alguma informação nesta interface, por razões que se tornarão claras em breve.

Os mapeamentos de coluna são as seguintes:

• O PRODUCT_ID coluna de destino é preenchida a partir do nome semelhante


na coluna warehouse_stock_level tabela de origem.

• O PRODUCT_NAME coluna poderia ter sido preenchido por associação com a


product_category tabela de origem de novo, mas em vez disso, vamos utilizar o mesmo
informações da PRODUTOS na tabela Datamart esquema que vamos
previamente carregado. Isso é porque ele já está no sistema de destino, de forma
ele não vai precisar ser transportado através de qualquer rede e desempenho é provável
de ser melhorado. Ao lidar com grandes volumes de dados, tais considerações
como estes podem fazer uma diferença considerável. A figura do fluxo irá fazer
isso mais claro.

[182]

www.it-ebooks.info
Capítulo 6

• Nós temos uma outra LAST_UPDATE coluna de destino que será preenchido por meio de
o mapeamento como antes.

Inventário de logística de fluxo de interface


Mais uma vez, podemos usar o mesmo e LKM IKM. O GIC é o componente que vai
vincular o data mart PRODUTOS informações da tabela com os dados de origem de MySQL
para preencher o INVENTÁRIO colunas da tabela, como mostrado na figura a seguir:

Oracle:
Data Warehouse
Servidor
MySQL:
Cliente
Sistema de servidor

prodsystem
esquema ODITEMP Datamart
esquema esquema

LKM
warehouse_ INVENTÁRIO
stock_level LKM SQL para Oracle tabela
tabela SS_0 IKM

PRODUTOS
tabela

IKM a Oracle Atualização Incremental

Em vez de executar um banco de dados se juntar para combinar os dados (como irá utilizar para o
interface de dados do produto), vamos utilizar uma ODI Pesquisa 11g. Na verdade, vamos
escolher uma
pesquisa de implementação que seja resolvido até a junção, mas o que nos permitirá
para explorar outra capacidade de ODI 11g.

Usando MySql com ODI


Com base nos passos dados de topologia que fizemos no capítulo anterior, vamos
ser completar este exercício em uma série de etapas, como se segue:

• Adicionando o MySQL driver JDBC: Para habilitar ODI Studio para acessar
o esquema e dados MySQL

• Expandindo a Topologia: Para adicionar o servidor MySQL e esquema para


Metadados ODI

[183]

www.it-ebooks.info
Trabalhar com o MySQL

• Engenharia reversa revisitado: Para criar um modelo baseado no MySQL


esquema que podemos usar para os dados de nossos origem e também para completar o
modelo
do nosso Sistema de Processamento de Dados PO alvo mart
• Preparando para mover os dados do produto: Com a criação de uma interface que
enriquece
os dados da base de produtos da fonte por juntar alguma fonte datastores
• Usando simulação e execução: Para examinar o código gerado antes
ele é executado, e então realmente executar o código e verificar alguns
métricas-chave

• Movendo os dados de inventário: Incluindo alguma agregação e enriquecimento


obtida através do uso de uma pesquisa de um ODI, seguido por verificar algum
das métricas de execução

Adicionando o driver JDBC MySQL


Esta é uma seção muito curto, uma vez que a adição de drivers JDBC para ODI Estúdio 11g é
muito
simples. Siga os passos indicados:
1. Salve todo o seu trabalho em ODI Studio e sair do programa.
2. Se você não tiver feito isso, extraia o MySQL JAR do driver Connector / J
arquivo chamado mysql-connector-java-5.0.8-bin.jar a partir do arquivo ZIP ou
"Tarball" que você baixou a partir do MySQL Connector / J e site de download
copiá-lo para o local para o seu sistema operacional em particular dada na ODI
Guia de instalação 11g. Por exemplo, para usuários do Windows, isso é % APPDATA% \
odi \ oracledi \ userlib, Onde % APPDATA% é o aplicativo do Windows
Dados diretório para o usuário, que geralmente está localizado na C: \ Documents and
Settings \ Application Data \ <usuário>.

3. É isso! Quando reiniciar ODI Studio, ele irá verificar o diretório para qualquer
Arquivos JAR e adicioná-los ao seu automaticamente classpath.

Adicionando drivers e aulas em outros locais


O diretório em que você copiou o driver JDBC (e isso
não apenas trabalhar para o MySQL, que é para todos os drivers adicionais JDBC)
inclui um arquivo chamado additional_path.txt. Se você quiser
adicionar classes em classpath ODI Studio (por exemplo, JMS
bibliotecas) que você não deseja copiar para este diretório, você
pode alterar o conteúdo do additional_path.txt arquivo
(Seguindo os exemplos que ele inclui), para adicionar outra classe, e aqueles
Arquivos JAR que estão localizados em outros lugares em classpath ODI estúdio.

[184]

www.it-ebooks.info
Capítulo 6

Se você instalou o agente autônomo para o ODI, e / ou o Java EE agente (e


criado um domínio do WebLogic para os componentes Java EE ODI), então você também deve
fazer o driver JDBC disponível para estes agentes. O processo para cada tipo de agente
é a seguinte:

1. Para tornar o driver disponível para o Agente Autônomo, copie o driver


Arquivo JAR (mysql-connector-java-5.0.8-bin.jar) Na <ODI_HOME> \
oracledi \ agente \ drivers diretório e reinicie o agente (se estiver em execução).
Da mesma forma que ODI Studio, o Agente Autônomo verifica automaticamente esta
diretório para motorista e arquivos de classe cada vez que inicia.

2. Para adicionar o driver para um Agente Java EE, siga as instruções do fornecedor para
adição de um terceiro driver JDBC para o sabor específico de servidor de aplicativos
você está usando para hospedar os componentes do Java EE. Se este é um WebLogic Server,
você deve adicionar a localização JAR do driver para o WEBLOGIC_CLASSPATH entrada
no <WL_HOME> \ Common \ bin \ commEnv.cmd arquivo, onde <WL_HOME> é o
wlserver_10.3 diretório onde está instalado o WebLogic Server (por exemplo,
C: \ Oracle \ Middleware \ wlserver_10.3). A instância do servidor WebLogic
que hospeda o Java EE agente terá então que ser reiniciado.

Você pode encontrar uma versão v5.0.3 do MySQL Connector / J


JDBC driver na instalação do seu servidor WebLogic abaixo
<WL_HOME> \ Server \ ext \ jdbc, mas este não é adicionado em
o servidor é classpath por padrão. O condutor pode ser v5.0.8
copiados para o mesmo local e, em seguida, adicionado explicitamente por
alterando a commEnv.cmd arquivo como explicado anteriormente.

Assim, por ODI Studio e do Agente Autônomo, a adição de um novo driver JDBC é simplesmente uma
questão de copiar o arquivo de controlador em um local pasta específica. Para o Java EE
Agente, que depende do sabor do servidor de aplicação, mas geralmente é apenas um caso de
adicionar o arquivo de controlador para a do servidor classpath definição.

Expandir a topologia
Nesta seção, vamos fazer o seguinte:

• Adicione uma referência para o servidor de dados MySQL para a arquitetura física,
especificando as credenciais adequadas, classe motorista, ea URL de conexão

• Criar uma referência para o esquema físico prodsystem Banco de dados MySQL
segurando o produto de fonte e dados de inventário

[185]

www.it-ebooks.info
Trabalhar com o MySQL

Para definir a arquitetura física para o MySQL, temos que fazer o seguinte:

1. Começamos ODI Studio, ligue para o seu repositório de Trabalho e selecione o


Topologia guia para começar a utilizar o Navegador Topologia.

2. Nós expandir o nó Technologies no nó de Arquitetura Física. Desde


nós previamente selecionados Ocultar Technologies não utilizados e neste ponto MySQL
é um daqueles "não utilizados" tecnologias, precisamos alternar essa opção na guia
cabeçalho do menu (o ícone de fábrica) para revelar a lista completa de tecnologia.

3. Nós adicionamos um novo MySQL servidor de dados da maneira que acrescentou os Oracle na
capítulo anterior (botão direito do mouse sobre o MySQL nó de tecnologia), e definir o
valores a seguir no Definição guia:

° Nome: Local_as_prodsystem
° Usuário: prodsystem
° Senha: welcome1

Se você estiver acompanhando com sua própria instalação do MySQL,


certifique-se de criar a prodsystem usuário (e sua senha) para
o prodsystem esquema.

4. No JDBC guia, devemos inserir manualmente o motorista e detalhes do URL,


como os ícones de busca à direita desses campos não produzem qualquer MySQL
Connector / J informações. Os valores a serem inseridos são os seguintes:

° Driver JDBC: com.mysql.jdbc.Driver


° Url JDBC: jdbc: mysql :/ / localhost: 3306 /

[186]

www.it-ebooks.info
Capítulo 6

O valor determinado URL anteriormente assume que o MySQL


está em execução no computador local e que ele está escutando
na porta padrão de 3306. Se um deles não é verdade
para você, então você deve alterar a URL de acordo.

5. Nós testar a conexão (reconhecendo as caixas de diálogo ao longo do caminho)


utilizando o Local (sem agente) opção. Uma vez que vemos o Conexão bem sucedida
diálogo, nós rejeitá-lo e fechar o editor de Servidor de Dados.

6. Criamos um novo esquema Física em nossa nova referência MySQL Server Dados
(Botão direito do mouse sobre o Local_as_prodsystem nó). No Definição conjunto guia
tanto o Banco de dados (catálogo) e Banco de dados (Catálogo de Trabalho) valores para o
prodsystem esquema.

Note-se que nesta página prazo para a área de dados em MySQL


é Banco de dados (catálogo), enquanto que quando definir o nosso ODI
Os esquemas físicos de sistemas Oracle era Esquema
(Esquema). São estas diferenças entre vendedor / sistema
terminologias que ODI esconde a partir da integração de dados
designer pelo uso de esquemas lógicos e modelos.

7. No Contexto guia, nós adicionamos um mapeamento novo contexto para um esquema


lógico,
entrar MySQL_PRODSYSTEM como o nome do esquema theLogical.

Vamos salvar o nosso trabalho e feche o editor de esquema Física.

[187]

www.it-ebooks.info
Trabalhar com o MySQL

Nós já ampliamos nossa Arquitetura física para nos permitir acessar o MySQL
metadados através da realização de ações que eram quase iguais aos adicionando referências a
Sistemas Oracle. As pequenas diferenças foram como se segue:

• Tivemos que entrar na classe de driver e URL manualmente, porque o MySQL


Conector / J não está incluída na lista de pesquisa na JDBC guia da
Editor de dados do servidor

• Os rótulos de campo onde nós definidos os nomes dos esquemas eram diferentes, mas
ainda
realizadas as mesmas ações para selecionar os dados e áreas de trabalho
Agora que o nosso Topologia está configurado, vamos ser capazes de importar metadados de
MySQL, e pode se preparar para construir interfaces.

Engenharia reversa revisitado


Em seguida, está novamente indo para ajudar a construir a familiaridade com ODI através da criação
de um novo modelo
com base nos metadados do esquema MySQL. Nós também precisamos fazer engenharia reversa do
restante dos metadados no sistema de destino data mart.
Para inverter o metadados do MySQL, vamos fazer o seguinte:

1. Modelos são geridos no Navegador Designer, por isso, clique no Estilista


guia no painel esquerdo.

2. Expandimos a Modelos ver, em seguida, clique no ícone do menu na Modelos


bar com vista de título, e escolher o Novo Modelo opção.

3. No Definição guia, nomeamos o modelo MySQL produto sistema, Então


nós escolhemos MySQL como a tecnologia, e verificar que MySQL_PRODSYSTEM é
selecionado como o esquema lógico.

[188]

www.it-ebooks.info
Capítulo 6

4. Em seguida, clique no Engenharia reversa guia para verificar se o Global contexto


será usada. Então, clique no Engenharia reversa no botão do lado esquerdo
lado da barra de título Modelo Editor, e Sim no diálogo de confirmação para salvar
o modelo e avançar, e então feche o editor de modelo.

5. Nós expandir o novo MySQL produto sistema no nó Modelos ver


e podemos ver que três tabelas do MySQL ter sido engenharia reversa
como ODI datastores.

6. Podemos dar um duplo-clique sobre o A Oracle DataMart nó do modelo ou botão direito do


mouse
em Abrir para abrir o editor de modelo.
7. Nós clique direto para o Seletiva engenharia reversa guia-como a
Seletiva engenharia reversa e Nova DataStores caixas devem
já ser assinalada, clicamos na Objetos de fazer engenharia reversa caixa para revelar
as tabelas que já não o fez engenharia reversa.

8. As tabelas restantes são todas pré-seleccionado como visto na imagem anterior,


por isso, clique no botão engenharia reversa no bar do editor de modelo de título. Nós
em seguida, clique no ícone salvar todos no Studio barra de ferramentas ODI principal e nós
perto
o painel do editor de modelo.

[189]

www.it-ebooks.info
Trabalhar com o MySQL

9. Nós ampliamos o Oracle nó do modelo DataMart e podemos ver todas as mesas são
agora representado como datastores no modelo ODI.

Temos, agora, as tabelas de origem do MySQL e as tabelas de destino do Oracle representado


como datastores em ODI, pronto para nos criar nossas interfaces para preencher o produto
relacionados com tabelas de dados Mart.

Preparando para mover os dados do produto


Em seguida vamos para construir uma interface para construir e enriquecer os dados do produto. A
tarefa
exigência significa que vamos precisar para realizar algumas junções entre as tabelas de origem
como se segue:
• Uma associação entre o product_base e product_category fontes para expandir
o código do tipo de produto em um nome textual

• A auto-associação de product_category voltar para dentro de si para recuperar o pai


nome da categoria para cada produto

Para executar essas operações, vamos criar uma interface como segue:

1. Nós criamos um novo projeto através do botão de menu no Projetos ver a barra de título
e chamamos o novo projeto Capítulo 6.

2. Nós direito do mouse sobre o Módulos de Conhecimento no nó Projetos ver na


Designer Navigator, e selecionar e importar IKM a Oracle Atualização Incremental
e LKM SQL para Oracle como antes.

[190]

www.it-ebooks.info
Capítulo 6

3. Expandimos a Pasta primeiro nó, em seguida, clique com botão direito sobre o Interfaces nó e
selecionar Nova interface.

4. Chamamos a interface PRODUTOS carga e selecione o Mapeamento guia na


inferior do editor de Interface.

5. Nós arrastar-e-soltar o PRODUTOS armazenamento de dados a partir do A Oracle DataMart


modelo
para a área de armazenamento de dados do alvo Mapeamento editor.
6. Nós arrastar-e-soltar o product_base armazenamento de dados a partir do MySQL produto
Sistema modelo na área de fontes do editor e aceitamos Automático
Mapeamento. No entanto, não são realizados mapeamentos-os nomes das colunas são
em casos diferentes para a origem e de destino, então o mapeamento não é feito por nós.
Em vez disso, nós mapeamos product_id para PRODUCT_ID por arrastar e soltar, e mapear
o product_name,cost_price, E list_price colunas de origem para o seu
respectivos homólogos alvo da mesma maneira.

7. Nós arrastar o product_category armazenamento de dados a partir do MySQL produto sistema


modelo e solte-o à direita do product_base armazenamento de dados no
fontes da área Mapeamento editor, desta vez rejeitando Mapeamento automático,
como isso não vai ajudar de qualquer maneira.

[191]

www.it-ebooks.info
Trabalhar com o MySQL

8. Nós arrastar-e-soltar o category_id coluna da 1 - product_base


(PRODUCT_BASE) armazenamento de dados de origem para o category_id na coluna
2 - product_category (PRODUCT_CATEGORY) armazenamento de dados fonte.

9. Após libertar o botão do mouse para "soltar" a coluna, um marcador junção aparece
com ligações de ambos os lados para as duas colunas. Nós clique e arraste a junção
marcador de modo que fica entre os dois armazenamentos de dados de origem.

10. Nós arrastar uma segunda cópia do product_category armazenamento de dados a partir do
MySQL
Sistema de produto modelo e soltá-lo logo abaixo o primeiro nas fontes
painel do editor de mapeamento. Não importa se vamos clicar em Sim ou Não
no Mapeamento automático diálogo como você deve ter notado que não temos
correspondência de nomes de coluna.

[192]

www.it-ebooks.info
Capítulo 6

No Inspetor de propriedades, abaixo do painel de fontes, podemos ver que a segunda


cópia do armazenamento de dados tem sido dada uma Pseudônimo de PRODUCT_CATEGORY1.
Nós
mudar isso para PRODUCT_PARENT (Com destaque para a caixa vermelha no seguinte
screenshot) para mais facilmente distinguir da primeira cópia (que pode mudar
o nome do alias para cada um dos armazenamentos de dados fonte, se quisermos). Não se
esqueça de
acertar Voltar depois de mudar o nome quando você executar esta operação.

[193]

www.it-ebooks.info
Trabalhar com o MySQL

11. Desta vez, arraste o category_parent_id coluna da 2 - product_


categoria (PRODUCT_CATEGORY) armazenamento de dados de origem para o category_id
na coluna 3 - product_category (PRODUCT_PARENT) armazenamento de dados para criar
a junção entre as duas fontes.

Em seguida, reposicionar o marcador juntar resultante como antes. No Propriedade


Inspetor podemos ver que a cláusula join usa os pseudônimos de armazenamento de
dados em seu
implementação de texto (também é aqui que você pode designar o tipo de junção
Obrigatório-esquerda, direita, completo, e assim por diante).

[194]

www.it-ebooks.info
Capítulo 6

12. Podemos ver que o alvo PRODUCT_TYPE e PRODUCT_PARENT_TYPE


colunas são ambos de diferentes caracteres de tipo idêntico ao CATEGORY_NAME
coluna da product_category fontes. Portanto, podemos preencher
estas colunas de destino arrastando o CATEGORY_NAME colunas de cada um dos
o product_category fonte datastores para as colunas alvo adequados,
como mostra a imagem a seguir:

13. O LAST_UPDATE coluna de destino tiver o mesmo mapeamento como foi usado em
nossa tarefa anterior, ou seja, uma Mapeamento ativa e um Implementação
de SYSDATE, Executado no Área de Preparo tanto para o Inserir e Atualizar.
Isso conclui nossa mapeamentos, então agora precisamos configurar o fluxo.

Nós temos que ter certeza de que o LAST_UPDATE mapeamento


será executada no Área de Preparo, e não a Alvo
Área, ou queremos ver algumas mensagens de aviso quando
vamos salvar a interface. Estes estão relacionados com a capacidade de
ODI
para assegurar que o banco de dados NOT NULL condição no
LAST_UPDATE coluna é aplicada.

[195]

www.it-ebooks.info
Trabalhar com o MySQL

14. Nós clique no Fluxo guia e vemos que a nossa junta dois vão ser
realizado no sistema de origem, o que reduzirá o "tráfego" de dados
entre a fonte e os sistemas de destino.

15. Nós clique na barra de título do sistema de origem no Fluxo editor e no


Inspetor de propriedades abaixo do diagrama. No Inspetor de propriedades, pudermos
agora selecione a LKM que acabou de importar para definir que mecanismo de carga
serão utilizados para a interface. Nós fazemos o mesmo para o sistema alvo, selecionando
o IKM recentemente importada e conjunto FLOW_CONTROL opção para falso. Nós
salvar o nosso trabalho neste momento.

Nós terminou de construir essa interface, que contém duas junções da seguinte forma:

• Um entre o product_base e product_category DataStores para


nos permitem preencher o PRODUCT_TYPE coluna de destino com o produto
nome da categoria

• Outra ligações que os product_category volta para si mesmo (usando um pseudônimo,


que mudou) para nos permitir recuperar o nome da categoria pai
para o product_parent_type no campo de destino PRODUTOS Datastore

Antes de executar a interface, vamos examinar o código que ODI gerará base
em nosso trabalho de design sobre esta interface.

[196]

www.it-ebooks.info
Capítulo 6

Usando simulação e execução


Nesta seção curta, vamos fazer o seguinte:

• Use o novo recurso de simulação de ODI 11g para ver o código gerado antes
execução

• Executar a interface e verificar algumas métricas-chave


Os passos para simular uma execução e para executar o código é o seguinte:

1. Nós clique no Execução link na barra de ferramentas principal ODI Studio, mas quando
o Execução de diálogo aparecer, selecione o Simulação caixa antes
clicar OK.

2. A Simulação diálogo relatório aparece o que nos permite percorrer toda a


passos e tarefas dentro de cada passo, vendo o código executável e operacionais
parâmetros para cada tarefa. Temos aqui um passo, isto é, a execução do
PRODUTOS carga interface, mas há um certo número de tarefas que compõem este passo,
cada tarefa a ser gerado a partir do Módulo de conhecimento adequado. Como nós
percorrer o relatório de simulação, podemos ver que a primeira tarefa foi
soltar um quadro de carga temporária (com um C $ _ prefixo) de nossa área de teste (o
ODITEMP esquema no nosso exemplo Oracle).

[197]

www.it-ebooks.info
Trabalhar com o MySQL

3. A imagem seguinte mostra uma pequena parte do relatório de simulação:

[198]

www.it-ebooks.info
Capítulo 6

4. Se rolar mais para a terceira tarefa vemos o SQL gerado para


execução no sistema de origem para extrair as informações a partir do MySQL.

Esta mostra a utilização de armazenamento de dados alias no código gerado, juntamente


com as cláusulas de junção construímos graficamente.

5. Logo abaixo o comando para a fonte é a sua contrapartida para o alvo


sistema. Isto usa a saída da fonte de consulta para inserir no carregamento
mesa com a utilização de variáveis ligam-tudo isto sendo feito nos bastidores
para nós automaticamente. Você vai notar que, desde que esta tarefa carrega dados para o
área de teste, a coluna que é preenchida por um mapeamento área de teste (o
LAST_UPDATE coluna) não está incluído no quadro de carga.

[199]

www.it-ebooks.info
Trabalhar com o MySQL

6. Tendo tido um rápido olhar para o SQL gerado, é hora de realmente executar
a interface para mover os dados. Fechamos a Simulação de diálogo e clique em
no Executar barra de ferramentas vincular novamente, desta vez de executar a interface sem
simulação.

7. Desta vez, vemos uma mensagem de informação que uma sessão foi iniciada, que nós
pode demitir.

8. Abrindo a Operador Navegador (deixar o editor de interface aberta), que


expandir o Todas as execuções nó e, em seguida, abrimos a PRODUTOS carga sessão
(Duplo-clique ou botão direito do mouse em Abra). Vemos que 67 registros foram inseridos
sem atualizações, exclusões ou erros.

9. Fechamos a Sessão: produtos de carga guia e de volta ao editor de Interface


clicamos na Mapeamento guia, nós botão direito do mouse sobre o Datastore alvo -
PRODUTOS barra de título e nós escolhemos Dados ... para ver os registros recentemente
inseridos.

O Editor de Dados janela mostra inicialmente Grave um de 50, mas se clicar em


o Mover para a última linha botão em seguida, vemos que, na verdade 67 registros de existir
(o
Dados janela Editor recupera os registros de armazenamento de dados em lotes-50
registros
de cada vez).
[200]

www.it-ebooks.info
Capítulo 6

10. Se percorrer os registros vemos que há três categoria pai


nomes - Mídia,Eletrônica e Escritório, Os quais foram recuperados e
preenchida pela junção de product_base em product_category e que
armazenamento de dados de auto-join (impulsionado pelo apelido que renomeado para
PRODUCT_PARENT).
11. Fechamos a Editor de Dados diálogo e da PRODUTOS carga interface do editor.

Temos visto, em vez de executar a interface e, em seguida olhar para o código que foi
executado, usamos simulação ODI para ver o código antes (e sem) execução.

Nesta interface foi utilizado um par de junta no lado da fonte, mesmo se uma das junções
Foi a partir de uma tabela de volta para si mesmo. Na interface seguinte, vamos usar uma junção de
uma forma diferente
caminho e vamos adicionar um pouco de agregação de dados para uma boa medida.

Movendo os dados de inventário


Nesta seção, vamos fazer o seguinte:

• Criar outra interface, desta vez para mover dados de inventário de nossa MySQL
Sistema de produto em nosso Processamento de Dados PO mart

• Usaremos uma ODI pesquisa como um mecanismo de junção alternativa, desta vez
a recuperação de dados a partir do PRODUTOS tabela sobre o alvo (que acabamos de
carregado)
para enriquecer a informação de inventário
• Os dados do sistema de origem serão agregados em todos armazém
explorações que têm um total único para cada produto

• Vamos então executar a interface e ter um olhar para a informação resultante


e compará-lo com a fonte de conjunto de dados de inventário

Os passos necessários para implementar esta nova interface são:

1. Com ODI Studio ainda aberto, clique no Estilista guia para retornar para o
Navegador Designer.

2. Nós criar outra nova interface em Pasta primeiro no Capítulo 6 projeto e


chamamos INVENTÁRIO carga.

3. No editor de mapeamento, nós usamos o INVENTÁRIO armazenamento de dados a partir do


Oráculo
DataMart como modelo o alvo eo warehouse_stock_level Datastore
no MySQL produto sistema como a origem (uma vez mais, não há
Mapeamentos automáticos, como o caso dos nomes das colunas entre o
datastores é diferente).
4. Mapeamos warehouse_stock_level.product_id para INVENTORY.PRODUCT_ID
através de arrastar-e-soltar.

[201]

www.it-ebooks.info
Trabalhar com o MySQL

5. Fazemos o mesmo para a fonte quantity_on_hand coluna, mapeando-a


o alvo STOCK_QTY coluna. No entanto, isso não completa, como veremos.
Nós sabemos que só povoaram o alvo PRODUTOS tabela com 67 registros,
mas quantos registros de estoque que temos? Nós direito do mouse sobre o
warehouse_stock_level armazenamento de dados no painel do editor da Interface fontes
e selecione Número de linhas .... O Editor de Dados diálogo mostra que existem
na verdade, 601 registros de inventário de origem. Isto é porque a tabela de origem segura
registros de inventário a partir de um número de localizações de armazéns diferentes, portanto,
preciso agregar-los.

6. Fechamos a Editor de Dados diálogo, clicamos no alvo STOCK_QTY coluna,


e no Implementação no campo Inspetor de propriedades podemos mudar o
implementação para SUM (WAREHOUSE_STOCK_LEVEL. "quantity_on_hand")
e também alterar o local de mapeamento para ser executado no Área de Preparo.

7. Nós adicionamos o mapeamento (por agora familiar) para o alvo da LAST_UPDATE coluna,
que ser um Mapeamento ativa de SYSDATE executados no Área de Preparo para
Inserir e Atualizar.

8. Nós ainda precisamos preencher o alvo da PRODUCT_NAME coluna e para


isso vamos usar um Lookup em vez de uma junção, simplesmente usar uma
abordagem diferente. Nós clique no Adicionar uma nova pesquisa ícone no
barra área fonte.

[202]

www.it-ebooks.info
Capítulo 6

9. O Assistente de Pesquisa é iniciado e exibe tela 1 de 2.

[203]

www.it-ebooks.info
Trabalhar com o MySQL

O Condução Tabela é pré-selecionada como warehouse_stock_level, Como apenas


tem uma tabela de origem em nossa Mapeamento diagrama. Se tivéssemos mais em nossa
diagrama de todos eles seriam listados no campo da esquerda e teríamos
para selecionar o apropriado para conduzir a pesquisa. No entanto, no Lookup
Tabela campo que precisamos para expandir a A Oracle DataMart modelar e selecionar o
PRODUTOS armazenamento de dados (como na imagem anterior), depois clique em
Avançar.

10. Em Etapa 2 de 2 escolhemos a coluna em cada um dos Fonte e Lookup


que manter os valores de identificação do produto e clique no Juntar botão. Nós
selecionamos
a opção pela pesquisa a ser executado no Encenação Área e nós também
definir o Pesquisa tipo ser um SQL esquerda junção externa na cláusula from. Nós
clique Concluir.

11. Voltar no editor de mapeamento, o PRODUTOS pesquisa agora está vinculado ao


warehouse_stock_level armazenamento de dados fonte.

[204]

www.it-ebooks.info
Capítulo 6

12. Expandimos a PRODUTOS pesquisa quer clicando na pequena cruz no


superior esquerdo do marcador, ou o botão direito do mouse e selecione Ver como | Simbólico. É
agora
representado de forma semelhante a qualquer outro datastore na área de fontes, mas tem um
verde barra de título e um ícone do título ligeiramente diferente. Nós direito do mouse sobre a
pesquisa
e selecione Tamanho Otimizar Forma | Altura e Largura para revelar toda a coluna
detalhes (sempre podemos reorganizar o tamanho depois).
13. Nós arrastar-e-soltar o PRODUCT_NAME na coluna PRODUTOS pesquisa na
alvo PRODUCT_NAME coluna para criar o mapeamento final.

[205]

www.it-ebooks.info
Trabalhar com o MySQL

14. Nós clique no Fluxo guia. Desde que importou um LKM adequado e IKM em
nosso projeto para a interface passado, eles foram pré-selecionados aqui. No entanto,
ainda temos que definir o FLOW_CONTROL na IKM (clique na barra de título
do servidor de destino) para ser falso. O fluxo mostra o diagrama (a seguir
Screenshot) que os dados do warehouse_stock_level tabela é transferida
a uma mesa de trabalho na área de teste (pontilhado seta) onde ele é acompanhado por
informações da PRODUTOS lookup-impulsionada pela warehouse_stock_
nível mesa (sólido seta) e os dois se combinam para preencher o alvo
INVENTÁRIO mesa (pontilhado seta).

15. Nós clique na barra de ferramentas principal Executar botão para executar a interface,
concordando
ter a interface salvo quando solicitado e não usar simulação. Nós
descartar a Iniciado sessão mensagem informativa.

[206]

www.it-ebooks.info
Capítulo 6

16. Nós mudar para o Navegador Operador e atualizar seu ponto de vista (isto pode ser feito
clicando no botão mais à esquerda em seu cabeçalho bar visto com uma caixa vermelha
em torno dele na imagem seguinte).

17. Nós duplo-clique sobre o INVENTÁRIO carga sessão que revela (no Registro
Estatística seção), que 67 inserções ocorreu.

18. Nós expandir este nó da sessão eo INVENTÁRIO carga nó passo para revelar
os nós de tarefas. Nós duplo clique na tarefa chamada 8 - Carga de Integração
INVENTÁRIO - fluxo em Inserir eu tabela $ e clique no Código guia.
Vimos o exemplo no capítulo anterior que a inserção de linhas na
I $ (Integração) tabela ocorre na área de teste e é aí que a nossa
mapeamentos de área de teste e pesquisas são executadas.

[207]

www.it-ebooks.info
Trabalhar com o MySQL

Ao rolar para baixo a janela de código podemos ver que nossa pesquisa tem sido
incluído em uma subconsulta na instrução SQL principal e que uma GROUP BY
cláusula foi adicionada para garantir que nosso SUM agregação calcula correctamente.

19. Fechamos a Tarefa sessão e Sessão painéis, retornando para a Carregar


INVENTÁRIO editor. Nós clique no Mapeamento guia e visualizar os dados
agora realizado na tabela de destino. Se passar para a última linha, vemos que há
67 registros (agregados dos 601 registros de origem), um para cada produto.
Fechamos a Editor de Dados janela ea INVENTÁRIO carga painel do editor.

Nesta seção final, criamos uma interface para carregar os dados do inventário, realizado
um agregado (o SUM Função SQL), e usou uma ODI pesquisa em vez da
anterior se mecanismo para traduzir ID os dados de origem de estoques de produtos em um
nome do produto.

Em seguida, correu a interface, teve um rápido olhar para o código gerado área de preparo
incluindo os elementos de pesquisa adicionais, e, em seguida, integrado brevemente verificado
INVENTÁRIO dados.

[208]

www.it-ebooks.info
Capítulo 6

Resumo
Você agora deve estar começando a se sentir confortável com algumas das atividades comuns
em ODI. Após a primeira instalação de um terceiro driver JDBC (MySQL), você foi apresentado
com dois exemplos que nos levou através de uma série de atividades que representa muitos dos
o realizado com mais freqüência tarefas dentro de ODI.

Seguindo esses exemplos, construímos várias entradas de topologia para servidores de dados e
esquemas físicos e ligou-os a nomes de esquemas lógicos através de contextos. Em seguida,
usou esses esquemas lógicos para engenharia reversa física, metadados específicos do fornecedor
em um modelo de dados lógico, independente de plataforma.

Criamos, então, uma nova pasta de projeto e importou os módulos de conhecimento específicas
que seria necessária com base nos requisitos de interface. Nós, então, construiu dois
interfaces separadas, a fim de preencher um alvo a partir de uma ou mais fontes ligadas
juntos ou por associações ou pesquisa relacionamentos. Nós adicionamos mapeamentos de coluna
simples
usando tanto o Mapeamento Automático ou padrão de arrastar-e-soltar métodos. Nós também
aumentados os mapeamentos com o código de mapeamento mais complexo (mas ainda SQL) e
implementada uma função de agregação.

Nos últimos passos, executamos as interfaces e visto a árvore de execução


informações usando o Navegador do operador. Nós também uma oportunidade
para examinar os resultados de uma simulação ODI.

No próximo capítulo, vamos cobrir outro banco de dados SQL popular,


ou seja, o Microsoft SQL Server, e introduzir mais recursos do ODI, incluindo
usando o Editor de Expressão para evitar ter que lembrar e digitar manualmente
Função nomes SQL.

[209]

www.it-ebooks.info
www.it-ebooks.info
Trabalhando com o
Microsoft
SQL Server
Até agora, temos visto como ODI pode simplificar e agilizar os desafios de integração de dados
com Oracle e bancos de dados MySQL. Mas e se a sua empresa tem uma licença de site
para Microsoft SQL Server? Ou que se a maioria dos seus administradores de banco de dados
e arquitetos de dados são de um fundo de banco de dados SQL Server? Não se preocupe! ODI
suporta o Microsoft SQL Server como uma tecnologia de primeira classe de banco de dados.

Como vimos nos capítulos anteriores, ODI é eficaz em abstrair o


nuances de uma tecnologia de banco de dados e praticamente eliminando a mão de codificação
de SQL, em comparação com uma abordagem de projeto tradicional de ETL. Usando a nossa
compra
Ordem exemplo, nós estaremos cobrindo os seguintes tópicos deste capítulo:
• Fornecer uma exposição (Oracle, MySQL, SQL Server agora e), terceiro
de passar pelo processo de trabalhar com ODI para criar e testar
interfaces de integração

• Definir um servidor de dados do SQL Server usando Topologia Navigator


• Introduzir o Editor de Expressão e aprender como gerar baseado em SQL
sintaxe transformação sem ter que conhecer as variantes da sintaxe SQL
para cada tecnologia de banco de dados

• Definir e configurar o uso de índices temporários dentro ODI Designer


para conseguir uma execução mais rápida de interface

Exemplo: Trabalhar com o SQL Server


Este capítulo baseia-se no cenário de exemplo incremental criado em Capítulo 5,
Trabalhar com bancos de dados, e Capítulo 6, Trabalhando com MySQL. É melhor ler
através desses primeiros capítulos.

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

Visão geral da tarefa


Estaremos realizando as seguintes tarefas neste capítulo:

• Expandir a topologia ODI para permitir o acesso a um banco de dados SQL Server
• Revisitar o processo de engenharia reversa para criar um modelo baseado na
Banco de dados SQL Server e também fonte para completar o modelo do nosso PO
processamento de dados do sistema alvo mart

• Prepare-se para mover os dados de vendas através da criação de interfaces que


enriquecem e
Vendas transformar a fonte de dados da Divisão de
• Verifique ODI execução de interface com operador Navigator, vendo o
estado de execução, juntamente com porções de amostragem do código SQL gerado
e executado por ODI

Integrar os dados de vendas


Neste exemplo, vamos preencher os dados de vendas pessoa para o data mart. Este
nova data mart apoiar o nosso exemplo de processamento de PO precisa dos dados de vendas
Pessoa
com precisão e de forma adequada calcular o bônus de um divisão de vendas.
Nossa solução PO exemplo processamento requer um subconjunto de Pessoa hoje Vendas
dados sejam adequadamente mudou-se para o Data Warehouse corporativo em intervalos
regulares
intervalos para refletir as mudanças no pessoal de vendas da divisão.

Fonte
A fonte de dados reside em um único instância do SQL Server e é propriedade e
administrado pela equipe de negócios de vendas Divisão. Existem duas tabelas de
interesse neste SQL Server SALESSYSTEM banco de dados, o primeiro dos quais contem
informações sobre os trabalhadores que possuem o título de Vendas Pessoa e é chamado
SALES_PERSON_MASTER:

[212]

www.it-ebooks.info
Capítulo 7

A segunda tabela foi criado para satisfazer as necessidades da equipe de negócios para resumir
e analisar o desempenho da equipe de vendas pela geografia e é chamado REGIÕES:

Alvo
O alvo SALES_PERSON tabela no esquema mart dados tem a seguinte estrutura:

O alvo REGIÕES tabela no esquema mart dados tem a seguinte estrutura:

Antes do carregamento inicial da SALESSYSTEM banco de dados, tanto SALES_PERSON e


REGIÕES tabelas na Datamart esquema tem zero linhas.

Integrações
O SALES_PERSON_MASTER e REGIÕES tabelas foram identificados como os dois
tabelas com dados relevantes e necessários para preencher a data mart. Inicialmente, uma
carga total será realizado para preencher a data mart com uma versão quase atual
operacional do subconjunto de dados de vendas.

[213]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

Duas interfaces ODI são criados para este exemplo, como se segue:

• Carregar Pessoa de vendas: Isto carrega de interface SALES_PERSON_MASTER dados de


SQL Server para o Oracle como representado pela figura a seguir:

Oracle:
Data Warehouse
Servidor

SQL Server:
Vendas Master Server

SALESSYSTEM
esquema
ODITEMP Datamart
esquema esquema
LKM
Sales_
Person_ LKM SQL para Oracle
MESTRE SS_0 IKM
tabela SALES_PERSON
tabela

IKM a Oracle Atualização Incremental

• Regiões de carga: Isto carrega de interface REGIÕES dados do SQL Server para
Oracle como representado pela figura a seguir:

Oracle:
Data Warehouse
Servidor

SQL Server:
Vendas Master Server

SALESSYSTEM
esquema
ODITEMP Datamart
esquema esquema
LKM
REGIÕES
tabela LKM SQL para Oracle
SS_0 IKM
REGIÕES
tabela

IKM a Oracle Atualização Incremental

[214]

www.it-ebooks.info
Capítulo 7

Cenário de exemplo
Agora que entendemos as necessidades, objetivos, escopo e estrutura do
fonte e alvo definições de dados de vendas, vamos começar a construir um outro incremento
da solução de processamento exemplo PO.

Expandindo a topologia ODI


Nesta secção, iremos:

• Criar as referências Topologia a nossa fonte e servidores de destino e esquemas


• Crie um nome de esquema lógico para o esquema de vendas recém-criado, a fim de
ser capaz de criar o nosso novo modelo de vendas no Designer Navigator

• Associar nossos esquemas lógicos e físicos utilizando o contexto padrão global

Configurar a topologia
Vamos seguir os passos a seguir para configurar a topologia:

1. Se você estiver acompanhando com sua própria instalação de ODI, primeiro fazer
se o seu instância Oracle que hospeda seus repositórios ODI é para cima e
execução. Iniciar ODI Estúdio Navigator (Oracle | Oracle Data Integrator |
Oracle Data Integrator Estúdio no Windows Começar menu) e conectar
para o seu repositório padrão.

2. Nós clique no Topologia Tab para alternar para o Navegador Topologia. Então nós
expandir o Tecnologias nó do nó Arquitetura física.

[215]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

3. Nós direito do mouse sobre Microsoft SQL Server e selecione Servidor de Dados Novo. Nós
entrar Local_as_SALESSYSTEM para o nome da nossa fonte SALESSYSTEM dados
servidor. Nós adicionamos SA e welcome1 para o Usuário e Senha informações relativas
o Definição guia:

4. Nós selecionamos o JDBC guia para configurar o Driver JDBC e Url JDBC para o
SALESSYSTEM servidor de dados. Então, clique na classe de aumento para configurar
o Driver JDBC:

[216]

www.it-ebooks.info
Capítulo 7

5. Após a Driver JDBC classe de aumento foi clicado, o Drivers


diálogo aparece mostrando os drivers disponíveis. Nós selecionamos Microsoft SQL
Servidor DataDirect Driver, e pressione OK.

6. Agora é hora de definir o Url JDBC. Nós clique na lupa


vidro para a direita da caixa de texto associada com a Url JDBC. A
entrada para o modelo Url JDBC é gerada com base na imagem seleccionada
motoristajdbc: weblogic: sqlserver :/ / hostname: port [propriedade = val
ue [: ...]]. Vamos substituir o texto do molde com jdbc: weblogic: sqlserver :/ /

localhost: 1433
7. O JDBC entradas guia agora semelhante à imagem seguinte:

O Url JDBC usado neste exemplo assume que SQL


Servidor está em execução no computador local e instalado
usando o número de porta padrão 1433. As alterações no
Url JDBC valor terá de ser feita, se um ou mais dos
essas suposições não são verdadeiras.

[217]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

8. Nós clique no Teste de ligação botão (torna-se um botão, quando o


do mouse passa sobre ele) na barra de cabeçalho para o editor. Quando perguntado se queremos
para salvar nossos dados para continuar, clique em Sim no Confirmação diálogo. Nós
imprensa Ok se uma caixa de diálogo aparece pedindo para informações registar pelo menos um
esquema físico. Então, clique no Teste botão para o Teste de ligação
para: diálogo. Deixamos o Agente físico: selecção como Local (sem agente).
Finalmente vemos o Conexão bem sucedida diálogo e fechamos os dados
Editor servidor. Agora criamos o ODI servidor de dados correspondente ao
o banco de dados SQL Server.

Agora que criamos o nosso servidor de dados, precisamos criar


O esquema físico (s) que contém dados que gostaríamos
integrar. Depois de ter visto este Servidor de Dados para Esquema Físico
ao processo de esquema lógico com Oracle, MySQL, e agora
SQL Server, você pode ter notado um processo semelhante sendo
usado dentro ODI, independente do fornecedor do relacional
banco de dados. Isso não é por acaso. Servidores de dados e física
Os esquemas são definidos no Gerenciador de Topologia e mapeado para um
Esquema lógico. O número de utilizadores interagindo com ODI
Topologia Navigator é geralmente muito menor do que os
Designer usando ODI.

No Designer, os únicos usuários de construto necessidade de se preocupar


é com o constructo final do processo mencionado anteriormente, o
Esquema lógico.

9. Criamos um novo esquema Física em nosso nó SQL Server novo servidor de dados.
Nós direito do mouse sobre o Local_as_SALESSYSTEM de dados do nó servidor localizado
em tecnologia Microsoft SQL Server e selecione Novo esquema de Física.
No Definição guia vamos definir tanto o Banco de dados (catálogo) e Banco de dados
(Catálogo de Trabalho) valores para o SALESSYSTEM esquema. Nós também definir tanto o
Proprietário (esquema) e Proprietário (esquema de trabalho) para dbo.

[218]

www.it-ebooks.info
Capítulo 7

O nome do esquema físico é gerado automaticamente


e é somente leitura.

10. Como as operações de Designer ODI trabalhar usando esquemas lógicos dentro do
Interface de usuário do Designer, e para suportar a funcionalidade de contextos onde
Esquema lógico para mapeamento de esquema físico é realizado, nós adicionamos uma lógica
Definição de esquema para o nosso novo esquema Física. O lógico para físico
Mapeamento de esquema é criado no Contexto guia do esquema físico
diálogo de criação. Nós adicionamos um mapeamento novo contexto para um esquema lógico,
entrar SQLSERVER_SALESSYSTEM como o nome do esquema lógico.

11. Finalmente vamos salvar o nosso trabalho e feche o editor de esquema Física.

Nós já ampliamos nossa Arquitetura física para nos permitir acessar o SQL
Metadados do servidor através da realização de ações que foram semelhante a adicionar a Oracle
(Capítulo 5, Trabalhando com bancos de dados) e MySQL (Capítulo 6, Trabalhando com MySQL)
sistemas. As diferenças são as seguintes:

• Nós usamos o SQL Server driver JDBC fornecido com ODI 11g (weblogic.jdbc.
sqlserver.SQLServerDriver) no JDBC guia do editor de Servidor de Dados

• O físico esquema de definição de rótulos de campo onde nós definidos os nomes de esquema
eram diferentes, mas ainda realizadas as mesmas ações para selecionar os dados e
áreas de trabalho

Completamos agora a definição de recurso adicional física e


configuração (acho Topologia Navigator quando os recursos físicos estão envolvidos) para
adicione a conectividade do SQL Server e capacitação de metadados (Servidor de Dados, Física
Esquema, e criação do esquema lógico). Podemos agora passar para a etapa seguinte que
é, inverter a engenharia SQL Server hospedado dados de vendas. O restante do SQL
Cenário de exemplo servidor irá se concentrar em ODI Designer Navigator para criar modelo e
datastores e design de interfaces para movimentação de dados e transformação.

Engenharia reversa metadados do modelo


Nesta seção, vamos criar um SQL Server para o nosso modelo de vendas SALESSYSTEM
banco de dados. Sem um modelo e os armazenamentos de dados contidos dentro, teríamos
não ser capaz de criar nossas interfaces.

[219]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

Vamos agora criar um modelo:

1. Nós clique no Estilista guia e expandir o Modelos acordeão


ea lista vista posterior árvore.

2. Então, clique no ícone do menu na Modelos barra de título e vista


escolher o Novo Modelo opção

3. No Definição guia, entramos SQLServer2008_ SALESSYSTEM,


escolher Microsoft SQL Server como a tecnologia e verificar que
SQLSERVER_SALESSYSTEM é selecionado como o esquema lógico.

4. Nós clique no Engenharia reversa guia para verificar se o Global contexto


serão utilizados e à Engenharia reversa botão do lado esquerdo do
Modelo barra de título editor. Nós clique em Sim no diálogo de confirmação para salvar
o modelo e avançar, e então feche o editor de modelo.

5. Finalmente, expanda o novo SQLServer2008 SALESSYSTEM nó


no Modelos ver e vemos que duas tabelas do SQL Server tem
foi a engenharia reversa como ODI datastores, ou seja, REGIÕES e
SALES_PERSON_MASTER.

[220]

www.it-ebooks.info
Capítulo 7

Criação de interfaces e mapeamentos


Nós agora temos os necessários vendas do sistema SQL Server tabelas de origem e os dados da
Oracle
tabelas de destino mart representado como datastores em ODI. Estamos prontos para construir nossas
vendas
interfaces de dados para preencher e atualizar o data mart para o nosso exemplo de processamento de
PO.
1. Criar um projeto.
Nesta secção, iremos:
2. Criar a interface de carga Vendas Pessoa e mapeamentos para satisfazer a meta
requisitos de data mart usando enriquecimento, agregação e transformação
dos dados de origem.

3. Dê uma olhada rápida no ODI 11g nova barra de Inspetor de propriedades e


Auto Inspector propriedade Estenda recurso.

4. Examinar e usar o Editor de Expressão para a melhoria da produtividade.


5. Criar um índice temporário para um melhor desempenho interface de execução.
6. Criar a interface de carga de vendas da região e mapeamentos.

Começamos criando um novo projeto através do botão de menu no Projetos acordeão


ver a barra de título e digite Capítulo 7 SQL Server como o projeto nome, então pressione
o salvar ícone. Interfaces de nossos ODI será criado neste projeto.

Carga interface de Vendas Pessoa


Agora é hora de criar a nossa primeira interface para carregar a fonte de dados de vendas Pessoa
residente no Microsoft SQL Server para a tabela Pessoa de vendas no mart de dados Oracle.
Para fazer isso, nós siga estes passos:

1. Expandimos nossa Capítulo 7 SQL Server nó do projeto e do Pasta primeiro


nó que contém, em seguida, clique com botão direito sobre o Interfaces nó e selecione Novo
Interface. Em seguida, digite Vendas Pessoa carga como a interface Nome e
manter Global como o Otimização de contexto. Finalmente, clique no Mapeamento
guia na parte inferior do painel de interface.

[221]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

2. Nós arrastar-e-soltar o SALES_PERSON_MASTER armazenamento de dados a partir do


SQL
SALESSYSTEM Server 2008 modelo para a área de armazenamento de dados fonte do
Mapeamento editor.
3. Então, arraste e solte o SALES_PERSON armazenamento de dados a partir do Oráculo
DataMart modelo criado em Capítulo 5, Trabalhando com bancos de dados, para o destino
área de armazenamento de dados do Mapeamento editor e aceitar Mapeamento automático.

Propriedade barra de ferramentas


Inspector
O Inspetor de propriedades barra de ferramentas é novo no ODI 11g. Além
às recomendações feitas em Capítulo 5, Trabalhando com
Bancos de dados, respeito da sobreposição dos três painéis (mensagens
- Log, Inspetor de propriedades, e Miniatura) em um tabulado
a coleta, o Inspetor de propriedades barra de ferramentas pode adicionar mais
usabilidade para a experiência do usuário do dia-a-dia de mapeamento.
Enquanto
sua presença não pode ser óbvia quando primeiro usando ODI Studio,
a barra de ferramentas oferece um controle de usuário adicional do tamanho e
visual
comportamento da frequência utilizada Inspetor de propriedades diálogo.
A primeira imagem na barra de ferramentas é Activar / Desactivar Auto-Estender.
O comportamento padrão é off. Pressione o Auto-Estenda imagem em
barra de ferramentas para ativar / desativar Auto-Estenda e veja se você gosta
do
comportamento dinâmico do diálogo Inspetor de propriedades.

[222]

www.it-ebooks.info
Capítulo 7

Carga mapeamento Vendas Pessoa


Agora que definimos a origem eo destino da nossa interface Pessoa carga de vendas
vamos começar a trabalhar na definição mapeamentos:

1. No nosso exemplo, a chave primária SALES_PERSON_ID não foi mapeado durante


Mapeamento automático. Nós selecionamos a fonte SALES_PERSON_MASTER_ID
coluna e arraste-o para o alvo SALES_PERSON_ID coluna para preencher o
coluna de mapeamento.

2. A exigência de negócio para DATE_HIRED é a de que os dados de uma só vez e é definido


apenas uma vez refletindo a data de admissão original da Pessoa Sales. Por padrão,
tanto de inserção e atualização são ativados dentro da interface de mapeamento. Nós
desmarque a Atualizar campo para garantir que não haja atualizações para essa coluna será
feita.

3. Nós descobrimos que o indicador de aviso permanece habilitado, indicando potencial


questões em nossa interface.

[223]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

4. A mensagem de aviso diz que o LAST_NAME dados da coluna mart é definido como
menor do que o LAST_NAME coluna de origem. Enquanto existem soluções melhores
para esse problema específico que o SUBSTRING solução demonstrado seguinte,
a incompatibilidade de tamanho coluna foi projetado intencionalmente para este exemplo
para ilustrar o uso do Expression Editor ODI. Uma solução consiste em
transferir apenas os primeiros 20 caracteres do formato de 30 caracteres LAST_NAME
coluna de origem. Mas o que a sintaxe SQL para a operação deve substring
ser usado-SQL Server? Oracle? Expression Editor oferece uma ODI
editor gráfico para essas interfaces Mapeamento de desenvolvimento, mas que pode
não estar familiarizado com todas as nuances de sintaxe SQL entre Oracle, SQL
Server, DB2, Sybase, e assim por diante.

Editor de expressão: Use o Editor de Expressão para a geração de


o banco de dados SQL que é apropriado para a execução no
encenação, origem, ou destino do banco de dados selecionado na Executar
em grupo de rádio botão na caixa de diálogo Inspetor de propriedades para um
determinado campo sendo mapeado. O Editor de Expressão é sempre
disponível ao Mapeamento de propriedades usuário de diálogo pressionando
o símbolo de lápis. Quando lançado, o Editor de Expressão vontade
sempre especificar a plataforma de banco de dados a ser alvo de SQL
geração de sintaxe apropriada para execução nessa plataforma.
Funções padrão de edição (recortar / copiar / colar / desfazer / refazer) são
também disponível com os botões da barra de ferramentas. Na expressão
painel de entrada abaixo da barra de ferramentas, você pode digitar diretamente
o código para
execução, ou arrastar e soltar elementos de outros painéis.

5. Nós selecionamos a coluna LAST_NAME no Alvo Datastore - SALES_PERSON.


Nós garantir que o Fonte botão de opção é selecionado no Executar em: rádio
grupo de botões da LAST_NAME - Inspetor de propriedades diálogo. Então nós
lançar o Editor de Expressão, selecionando o ícone de lápis na implementação
barra de abas do menu para o Inspetor de propriedades diálogo.

[224]

www.it-ebooks.info
Capítulo 7

6. Com o Editor de Expressão lançado, notamos que SQL (Microsoft SQL


Server) está presente na barra de ferramentas pois Fonte (SQL Server) foi selecionado
no Executar em: grupo de botões de rádio.

7. Como vimos anteriormente, há uma diferença entre o


SALESSYSTEM fonte e Datamart alvo para a datastores LAST_NAME
coluna. Embora ambos sejam dados de caráter, os comprimentos das colunas são
diferente. Ao reduzir o comprimento dos dados de base para a do alvo
comprimento, a execução da interface pode continuar sem problema. Como estamos procurando
para operar em dados de seqüência, uma das funções listadas em Cordas no
painel de função da tecnologia é um bom lugar para começar a olhar para a nossa necessária
solução. Expandimos a Cordas exibição árvore de funções. Então selecionamos
o SUBSTRING funcionar e arrastá-lo para o painel de expressão para construir
a expressão. O modelo substring SUBSTRING (<string> <start>,
<length>) aparece. O <string> parâmetro deve ser preenchido por
o LAST_NAME coluna do SALES_PERSON_MASTER Datastore residente
no SQL Server. Nós selecionamos LAST_NAME e arrastá-lo ao longo do centro do
<string> parâmetro do modelo para obter SUBSTRING (SALES_PERSON_MASTER.
LAST_NAME, <start>, <length>). Sabemos que o comprimento desejado (20),
ea posição de caractere desejado de início (1), Por isso, a edição do <start>
e <length> parâmetros do modelo, obtém-se uma operação completa de
SUBSTRING (SALES_PERSON_MASTER.LAST_NAME, 1, 20).

[225]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

Isto pode ser visto na imagem seguinte:

8. Nós pressionamos Ok para aplicar e fechar o Editor de Expressão diálogo. O texto


dentro do painel de expressão do Editor de Expressão agora aparece na
Alvo Datastore - SALES_PERSON mapeamento para LAST_NAME.

Como um dos benefícios de usar o Editor de Expressão está escondendo a sintaxe


detalhes e diferenças de operações através de tecnologias de banco de dados diferentes,
vamos
examinar a sintaxe gerada pela operação substring para o Oracle
tecnologia. Desde que os elementos de sintaxe são definidos pela tecnologia que vai
executar a operação, nós selecionamos Área de Preparo (O Oracle armazém de dados) sobre
a
Executar em: grupo de botões de rádio quando o LAST_NAME coluna de mapeamento alvo
é selecionado.

[226]

www.it-ebooks.info
Capítulo 7

9. Nós abrimos o Editor de Expressão e observe que SUBSTR é fornecido


em vez de SUBSTRING no painel da expressão Editor de Expressão
diálogo. Isto é porque SUBSTRING é a operação adequada quando o SQL
Server é a plataforma de execução, e SUBSTR é a sintaxe apropriada quando
execução no Oracle.

10. Nós, selecione novamente Fonte no Executar em: grupo de botões para restaurar
SQL Server como a plataforma de execução para o LAST_NAME mapeamento alvo.

Índice de Gestão automática temporária


A capacidade de criar índices temporários durante a execução de interface é novo no ODI
11g. Ao realizar filtrar ou juntar operações, ODI pode criar um índice temporário
para proporcionar um desempenho de execução melhorada interface.

[227]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

Para ilustrar Gestão índice temporário, vamos seguir estes passos:

1. Para ilustrar Gestão índice temporário, vamos adicionar dois


filtros na fonte de armazenamento de dados de um-para SALÁRIO e a outra para
COMMISSION_PERCENT:

2. Nós seleccionar cada um dos filtros, e em Propriedades do Filtro diálogo, especificamos o


seguindo para SALÁRIO:

° Filtro ativo: verificado


° Implementação: SALES_PERSON_MASTER.SALARY <1000000
° Executar em: Fonte
° Criar índices temporárias: Nenhum

e a seguir para obter COMMISSION_PERCENT:

° Filtro ativo: verificado


° Implementação: SALES_PERSON_MASTER.COMMISSION_PERCENT> 0
° Executar em: Alvo
° Criar índices temporárias: Não-exclusivo

Isso irá criar um índice temporário para COMMISSION_PERCENT cada


interface de tempo é executado como o SQL gerado para o COMMISSION_
POR CENTO filtro é executado no alvo Oracle. Porque comissão de vendas
não são garantidos único, Não-exclusivo é especificado para o índice temporário
drop-down. Um erro de execução poderia ocorrer e ser visível dentro da ODI
operador se Único foi selecionado no drop-down.

[228]

www.it-ebooks.info
Capítulo 7

3. Nós já completaram os mapeamentos. Há ainda algumas tarefas adicionais


para executar antes de estarmos prontos para executar e testar o Vendas Pessoa carga
interface. Nós mudar do Mapeamentos guia para o Fluxo guia e verificamos
que o Módulo de Conhecimento adequada integração foi definido. Nós clique em
a barra de cabeçalho da Alvo (XE_on_local_as_ODITEMP) caixa no fluxo
diagrama, e podemos ver no Inspetor de propriedades abaixo que o IKM da Oracle
Atualização Incremental foi automaticamente selecionado. Nós decidimos não verificar
os dados que estão sendo integrados, de modo que defina o FLOW_CONTROL opção para falso.

Vamos executar o Vendas Pessoa carga Interface breve. Nossa próxima tarefa é criar o
interface para carregar os dados da região de vendas. As etapas são semelhantes para a criação do
Carregar
Vendas Pessoa interface.

Carga de interface de vendas da


região
Dados da região permite que os proprietários de negócios para analisar dados históricos de vendas
por região. Nós
vai agora criar a Região de Vendas de carga interface que se move e transforma os dados
do banco de dados operacional de vendas para a data mart:
1. No Designer, vamos expandir a visão acordeão Projetos, o Capítulo 7 SQL
Servidor nó do projeto e do Pasta primeiro nó que ele contém. Nós botão direito do mouse
no Interfaces nó e selecione Nova interface para criar uma nova interface.
Entramos Região de Vendas de carga como a interface Nome e manter Global como
o otimização de contexto.

[229]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

2. Nós clique no Mapeamento guia e arraste-e-solte o REGIÕES armazenamento de dados a partir


de
o SQL Server 2008 SALESSYSTEM modelo para a área de armazenamento de dados de fonte
O editor de mapeamento. Nós também arrastar e soltar o SALES_REGIONS Datastore
do A Oracle DataMart modelo para a área de armazenamento de dados do alvo
Editor de mapeamento e aceitar Mapeamento automático.
3. A chave de fonte REGIONS_ID precisa ser mapeado. Nós selecionamos a fonte
REGIONS_ID linha e arraste-o para a REGION_ID na coluna Alvo
Datastore - SALES_REGION
4. O PAÍS coluna tem de ser mapeada para um comprimento mais curto (50 a 3).
ODI mapeia automaticamente a fonte PAÍS campo para o alvo PAÍS
coluna. Próximo ao PAÍS coluna de destino, podemos ver um ícone de aviso que
fornece um aviso de notificação visual sobre a incompatibilidade de tamanho do campo:

[230]

www.it-ebooks.info
Capítulo 7

5. Para resolver o PAÍS problema de mapeamento de coluna, vamos utilizar um CASO afirmação
para converter ESTADOS UNIDOS para EUA e INTERNACIONAL para INT. Caso não
ser qualquer um, o valor será definido para ERR.

6. Para o mapeamento da coluna final, LAST_UPDATE, A operação executada sysdate


no ambiente de teste Oracle vai atender aos requisitos, a criação de
ou atualizar o campo sempre que um dado REGIÃO entrada é adicionado ou alterado
dentro do data mart. Nós selecionamos o LAST_UPDATE coluna de mapeamento. Nós clique
no LAST_UPDATE coluna de destino e no painel de Inspetor de propriedades,
vamos definir as propriedades de mapeamento e comportamentos seguintes:

° Mapeamento de atividade: Verificado


° Implementação: SYSDATE
° Executar em: Área de Preparo
° Inserir: Verificado
° Update: Verificado

[231]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

7. Em seguida, clique no Fluxo guia, e em seguida, clique na barra de título para Alvo
(XE_on_local_as_ODITEMP) para ver Propriedades alvo. Nós definir a propriedade
FLOW_CONTROL para falso.

Ao executar interfaces, se você receber uma mensagem, Não pode


iniciar a execução com a primeira linha do rastreamento de pilha Detalhes
ser com.sunopsis.tools.core.exception.
SnpsSimpleMessageException: CKM não selecionado,
é provável que o FLOW_CONTROL propriedade tem o padrão
valor definido para Verdadeiro e não CKM foi selecionado. Se um cheque
Módulo conhecimento não está sendo necessário, definir FLOW_CONTROL
para falso para resolver o problema.

Até agora, nós olhamos e completou a seguinte interface e mapeamento


tópicos de criação:

• Criou um projeto e duas interfaces de carga Pessoa Sales e


Região de Vendas de carga

• Examinou o recurso Editor de Expressão


• Criou um índice temporário para a execução de um filtro

Verificando a execução com o Operador


Navegador
Agora que temos construído a carga Vendas Pessoa e interfaces de carga da região de vendas,
vamos executá-los para verificar a execução de Operador ODI e examinar a
SQL executada para identificar onde e como os mapeamentos, filtros e temporários
índice de aparecer no SQL gerado pelo ODI. Nesta secção, iremos:

• Executar a carga interface de Vendas Pessoa


• Verificar e analisar o SQL gerado e resultados, em especial, quando
e como o SQL gerado aparece para os filtros e de índice temporário

• Executar a carga de vendas de interface Regiões e verificar e identificar onde e


como o SQL gerado para os mapeamentos de interface aparecem

Executar a carga interface de Vendas Pessoa


Vamos executar a interface e acompanhar a sua execução, utilizando Navigator Operador.
Para fazer isso, nós siga estes passos:

[232]

www.it-ebooks.info
Capítulo 7

1. Abrimos a Vendas Pessoa carga Designer de interface no Navigator, e pressione


o verde botão executar na barra de ferramentas ícone ODI.

2. Em seguida, pressione o Ok no botão Execução pop-up de diálogo e Ok em


o Informações pop-up de diálogo.

Verificar e analisar a carga de Vendas resultados Pessoa


Usando ODI Navigator Operador, vamos examinar os detalhes principais do SQL gerado
e os valores resultantes na SALES_PERSON tabela no data warehouse.

1. Nós clique no Operador Tab para alternar para Navigator Operador. Abrimos a
exibição de árvore para Todas as execuções dentro do Lista sessão diálogo acordeão. O primeiro
entrada é nossas vendas carregar apenas executados Pessoa resultados e detalhes. O pai
caixa verde nos diz que a interface executado até o fim com sucesso:

[233]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

Cada número com o pai 1 - Carga Vendas Pessoa


representa uma porção executado do Conhecimento
Módulo (s) usada durante a execução da interface. O
Carregando - SrcSet0 passos vêm do SQL LKM para
Oracle. O Integração - Vendas Pessoa Carga passos vêm
da IKM a Oracle Incremental Update.

2. Nós dê um clique duplo na etapa 3 Dados de carga, e selecione o Código aba


para examinar o código SQL gerado e executado para este passo. O SQL
gerado como resultado do filtro salário criamos anteriormente na Interface
com a Fonte botão de rádio escolhida na Executar em: opção é mostrada
ao lado da seta:

3. Agora vamos clicar duas vezes no passo 9 - Integração - Vendas Pessoa Carga - Inserir
fluir para eu tabela $ e selecione o Código guia. Aqui podemos ver o filtro que é
executados no armazém de dados Oracle, como resultado da configuração da Executar em:
opção no inspetor de propriedade de filtro para Alvo.

[234]

www.it-ebooks.info
Capítulo 7

4. Nós clique no passo 4 - Carregando - SrcSet0 - Criar Temp. Índices em trabalho,


em seguida, selecione o Código guia. Este passo só é gerado se um índice temporário é
especificado no alvo Oracle (estadiamento) área. Enquanto usada aqui para ilustrativa
apenas fins, os índices temporários permitem maior desempenho para filtro
e operações de junção que operam em grandes mesas.

[235]

www.it-ebooks.info
Trabalhando com o Microsoft SQL Server

A criação de índices temporários pode ser um demorado


operação no fluxo geral. Aconselha-se a rever o
estatísticas de execução e comparar o tempo de execução salvo
com os índices para o tempo gasto na criação deles.

Verificar e analisar os resultados de carga da região de


vendas
Vamos agora executar o Região de Vendas de carga interagir e acompanhar a sua execução
dentro Navigator Operador:

1. Executamos o Região de Vendas de carga Interface de um modo semelhante ao


passos anteriores para Carregar Pessoa Sales.

2. Nós selecionamos o Operador guia, vista e Todas as execuções. Em seguida, abra a


exibição de árvore para Carregar região de vendas.

3. Nós duplo clique no passo 3 - Carregando - SrcSet0 - Dados de Carga, em seguida,


selecione
o Código guia para visualizar o SQL gerado para esta etapa. Aqui podemos encontrar
o PAÍS mapeamento de coluna, acrescentamos em Designer.

Olhamos para a execução seguinte e tópicos de validação:

• Uma atualização sobre como executar uma interface


• Examinar como e onde o SQL para filtros é gerado
• Examinar onde e como temporária índices são criados
• Examinar como e onde mapeamentos feitos em Designer ODI pode
ser encontrada no código SQL fornecido pelo operador Navigator

[236]

www.it-ebooks.info
Capítulo 7

Resumo
Completamos agora a terceira solução incremental para o processamento de ordem
cenário de exemplo. Agora você deve ser mais confortável com a criação de interfaces
ao mesmo tempo, ser exposto ao selecionados novos recursos do ODI 11g.

Neste capítulo, começamos usando Topologia Navigator para criar um físico de dados
Servidor apontando para nosso servidor de banco de dados SQL Server. Criamos, então, a
necessária
Esquemas lógicos e físicos.
No Navigator Designer, foi utilizado o esquema recém-criado lógicos para criar um
Modelo novo e iniciar um processo de engenharia reversa para recuperar o SQL Server
DataStores estamos interessados em, ou seja, SALES_PERSON_MASTER e REGIÕES.
Usando esses datastores criamos duas interfaces para carregar os dados de vendas de
SQL Server para nossa dados Oracle mart. Embora a criação das interfaces, vimos
várias maneiras de criar mapeamentos em ODI-usando o recurso de mapeamento automático,
arrastando e soltando colunas de origem para as colunas de destino e usando o
Editor de expressão. Então, teve um olhar para o Conhecimento e Integração Carregando
Módulos, assim como suas opções, como FLOW_CONTROL.

Finalmente, executado nossos dois interfaces e usados Navigator Operador de rever o


passos criados por ODI, bem como o código SQL que gerou.

[237]

www.it-ebooks.info
www.it-ebooks.info
Integração de dados de
arquivos
Enquanto os bancos de dados são, obviamente, extremamente significativo no domínio da integração
de dados,
uma grande quantidade de dados é realizada em ficheiros planos.
Neste capítulo, vamos dar uma olhada em como ODI desempenha um papel significativo na
simplificar a integração de televisão de arquivo de dados utilizando conceitos e abordagens que são
idênticos aos utilizados com banco de dados hospedados em dados, reduzindo drasticamente
a curva de aprendizado. Ele também ajuda a simplificar as habilidades desenvolvedor necessários
para usar alguns dos
a massa de dados especializado funcionalidade de importação / exportação que fornecem bases de
dados, uma vez que
que a funcionalidade especializada é encapsulado em módulos de conhecimento.
Especificamente o que vamos abordar neste capítulo é:

• Estender o ODI Topologia definição para se referir a alguns arquivos de entrada e


em seguida, fazer engenharia reversa os metadados do arquivo entrada de ambos
formato fixo
e arquivos delimitados
• Integrar dados de um arquivo usando tabelas Oracle externo como o mecanismo
para a importação de dados

Isso nos dará as habilidades para começar com o uso de arquivos e também expandir nossa
ODI conhecimento das capacidades de um modo geral.

www.it-ebooks.info
Integração de dados de
arquivos

ODI também tem um monte de recursos para detectar, em movimento,


e transferência de arquivos, mas estes estão fora do escopo deste
"Introdução ..." livro. Há um certo número de exemplos
cobrindo esta área específica em http://blogs.oracle.com/
dataintegration /. Uma grande parte do conteúdo também está disponível em
os arquivos deste blog, que pode ser acessado diretamente a partir de
esse mesmo link.

Um tipo de arquivo que não vamos estar cobrindo especificamente neste capítulo é o arquivo XML.
Estaremos cobrindo-o no próximo capítulo.

Trabalhando com arquivos


simples
Neste exemplo, nós estaremos adicionando informações do parceiro em nosso mart dados de arquivos
simples.

Escopo
Em poucas palavras, este exemplo irá executar as cargas de dados iniciais dos dados Parceiros. ODI
Também foi construído com recursos para usar o FTP e SFTP, bem como arquivo e sofisticado
gestão funcionalidade pasta de arquivos podem ser obtidas de forma segura de máquinas remotas,
empacotado e processado por ODI, então arquivada localmente ou, mais uma vez transferido
para um local de armazenamento remoto. ODI pode mesmo esperar por "arquivos de gatilho" para ser
detectado em
qualquer fase, antes de prosseguir com a próxima fase de processamento de dados de integração.
No entanto, para manter as coisas simples e cumprir com a nossa "Introdução ...", sabor
estamos só vai ser lidar com hospedado localmente arquivos em um local de pasta fixa.

Pré-requisitos para arquivos


simples
Não existem elementos adicionais do sistema que precisam ser instalados para permitir a ODI
trabalhar com dados de arquivo, que vem com seu próprio driver JDBC para arquivos simples.

ODI também pode alavancar utilitários de banco de dados para o processamento de arquivo simples.
Um ponto importante
para se manter em mente é que ambos os arquivos e utilitários têm de ser acessíveis ao agente ODI
que irá processar os arquivos (ou eles estão no mesmo servidor, ou os arquivos e utilitários
estão em um diretório compartilhado que é visível para o agente).

[240]

www.it-ebooks.info
Capítulo 8

Integrar os dados do arquivo em uma tabela Oracle


Integrando os dados do arquivo em uma tabela Oracle será feito por meio de uma tabela externa,
adicionar arquivos entradas de esquema para a topologia de ODI.

ODI Topologia sai da caixa com uma entrada genérica de dados do servidor para os arquivos
tecnologia. No entanto, ainda precisamos adicionar uma ODI entrada esquema físico
para se referir a pasta do sistema operacional em que nossos arquivos de entrada são detidos.
Para o nosso
exemplo este será C: \ po \ input.
Como sabemos bem por agora, devemos também associar este esquema físico a um lógico
Nome do esquema, através do nome do contexto que estamos usando.

Alvo parceiro de dados, fonte e mapeamentos


O alvo PARCEIRO tabela no Processamento de PO Datamart tem o esquema
a seguinte estrutura:

Este será preenchida a partir de um arquivo de formato fixo chamado partners.txt que está na
C: \ po \ input pasta. Tem cinco colunas com a seguinte estrutura:

[241]

www.it-ebooks.info
Integração de dados de
arquivos
Não há linhas de cabeçalho contendo nomes de colunas neste arquivo, mas os dados são mantidos em
o arquivo na ordem mesma coluna da tabela de destino.

O formato da data é significativa. ODI precisa ser contada como


para interpretar uma coluna de data em um arquivo como um valor de data, e não como
uma cadeia de caracteres. ODI sendo escrito em Java usa a data de Java
regras de formatação. Neste exemplo dd representa o dia do mês
com um líder 0para os dias de numeração inferior a 10; MMM representa um
3 caracteres abreviação do nome do mês, e aaaa representa
o valor de 4 anos-número. Os caracteres de pontuação são lidos
literalmente, mas não influenciam o valor da data, o -usada aqui pode
ser substituído com /se este for o que é usado no processo.

Quando o arquivo for adequadamente definidos, incluindo formatos quando necessário, podemos
utilizá-lo em
nossos mapeamentos

A lista completa de regras de formatação de data de Java e exemplos


podem
facilmente encontrados através de seu mecanismo de busca favorito internet
usando
Java SimpleDateFormat como palavras-chave.
O mapeamento dos dados do arquivo para a tabela de destino é simples: a primeira fonte
mapas de coluna à coluna primeiro alvo (PARTNER_ID), Com cada fonte subsequente
mapeamento de coluna para a coluna de destino em ordem sequencial seguinte. Como antes, o alvo
LAST_UPDATE coluna será preenchida com a data em que o registro foi alterado pela última vez.

Durante o processo de engenharia reversa, que será capaz de substituir o nome da


colunas de arquivo, de modo que podemos aproveitar instalação ODI de mapeamento automático.

Parceiro de logística de fluxo de interface


Nossa fonte é um arquivo simples, a nossa meta é o Oracle data mart e nossa área de teste será
também no servidor Oracle que hospeda o data mart (lembre-se que uma área de preparo obrigação
estar em uma base de dados relacionais).

[242]

www.it-ebooks.info
Capítulo 8

Para o nosso Módulo Conhecimento Carregando vamos usar Arquivo LKM para a Oracle
(Tabela externa). Mesmo se você nunca usou tabelas Oracle externo antes, não
se preocupe, nós vamos ter usado um no momento em que terminar com este exemplo, e
você vai ver como é fácil ODI torna!

Para integrar os dados da área de teste na tabela de destino, vamos


utilizar a mesma como antes IKM (IKM a Oracle Atualização Incremental).

Oracle:
Data Warehouse
Servidor

Sistema de arquivos:
Pastas locais IKM a Oracle Atualização Incremental

C: \ po \ input
dobrador
ODITEMP Datamart
esquema esquema
LKM
partners.txt
arquivo Arquivo LKM para a Oracle
(Tabela externa) SS_0 IKM
PARCEIRO
tabela

Uma vez que tenhamos executado a interface veremos os resultados de nossa carga de
dados.

Passo-a-passo exemplo
Agora sabemos o que vamos fazer, então vamos começar!

[243]

www.it-ebooks.info
Integração de dados de
arquivos
Expandindo a topologia para manipulação de
arquivos
Como vimos na visão geral da tarefa, o primeiro passo é expandir a topologia para adicionar
uma referência para a pasta de arquivos que contém os arquivos de entrada.

1. Primeiro, clique no Topologia Tab para alternar para o Navegador Topologia.


2. À medida que expandimos o Arquivos nó de tecnologia, vemos o padrão FILE_GENERIC
servidor de dados com tecnologia de arquivo.

3. Se clicar duas vezes (ou o botão direito do mouse e selecione Editar) no FILE_GENERIC
de dados do servidor de nó, a janela que se abre mostra que o nome de usuário e
campos de senha em branco.

[244]

www.it-ebooks.info
Capítulo 8

Acesso permissões de arquivo


ODI irá utilizar as permissões de acesso a arquivos da operação
usuário do sistema durante a execução do código em tempo de execução para
processar
os arquivos. Então, quando usando ODI Studio (como nós somos para este
exemplo), que será o utilizador que iniciou Studio; quando se utiliza
Agente Autônomo, que será o usuário que iniciou o agente
processo; ao usar um Java EE agente de execução no WebLogic
Servidor, ele será o usuário associado com o WebLogic
Processo de instância de servidor.

4. Ao clicar sobre o JDBC guia, vemos que um driver JDBC é utilizado para acessar
arquivo de dados (SQL assim continuará a ser utilizado para acessar e manipular os dados), mas
os
JDBC URL não inclui nenhuma referência a informações de rede, tais como
um nome ou endereço. Isso porque o arquivo ODI driver JDBC só permite
acesso a arquivos que são "visíveis" a partir das máquinas locais, pois eles podem estar em
locais
unidades, unidades de rede mapeadas, NFS discos montados, e assim por diante.

Existem algumas propriedades opcionais que podem ser adicionados ao processo de


motorista
Url JDBC campo-estes são documentadas na documentação 11g ODI em
Conectividade e Conhecimento Guia Módulos para o Oracle Data Integrator.
Nós vamos apenas estar usando as configurações padrão aqui.

Uma vez que o FILE_GENERIC definição de dados do servidor pode ser utilizado
para acessar qualquer arquivo localmente visível plana, normalmente não há
obrigação de acrescentar uma outra definição servidor de dados para acessar o
arquivo
dados. No entanto, se você precisar acessar os arquivos que usam um
determinado
conjunto de caracteres (o padrão é ISO8859_1), então você deve adicionar um
novo arquivo de definição de servidor de dados com o caráter apropriado
definir a opção de codificação e valor definido no Url JDBC campo e
usar um nome de servidor de dados que reflete essas mudanças a partir da
configurações do servidor de dados genérico arquivo.

5. Nós só olhou para o FILE_GENERIC definição para entender como é


definido, mas que não precisa mudar nada, então nós o fechar.

[245]

www.it-ebooks.info
Integração de dados de
arquivos
6. Sob a definição de servidor, criamos um novo esquema físicas (botão direito do mouse
no FILE_GENERIC nó). Na nova janela, podemos clicar sobre o que
parece uma lista drop-down ao lado do Directory (esquema) e substituir
o <Undefined> texto com C :/ po / entrada (Você pode realmente escrever o nome
diretamente nesse campo). Nós fazemos o mesmo para o Directory (esquema de trabalho)
campo.

Note que ODI usa a convenção Java para caminhos do sistema de arquivos.
Você pode usar o caractere de barra /como separador de pasta
para todos os sistemas operacionais Windows e Unix iguais.

7. Em seguida, clique no Contexto guia e adicionar um mapeamento no Global contexto


a um novo esquema lógico chamado FILE_PO_INPUT (E acertar Enter).

É isso, em termos de expansão da topologia. Se quiséssemos acessar pastas mais


que apenas c: \ po \ input, Então nós adicionar um novo esquema físico (e associados
Nome do esquema lógico) para cada pasta. Podemos agora passar a integrar o Parceiro
dados para o data mart.

[246]

www.it-ebooks.info
Capítulo 8

Analisando o Parceiro
Nesta seção, temos um número de subtarefas:

1. Primeiro, precisamos criar um modelo ODI para o nosso arquivo de entrada e, em seguida,
nós precisamos
para criar uma entrada de armazenamento de dados para o arquivo Partners. Isso não é
exatamente o mesmo que
2.engenharia
Em seguida, vamosde
reversa criar
umaumtabela
novo de
projeto
bancopara
de este exemplo
dados, e importar
como você o Conhecimento
vai ver.
Módulos para a interface para integrar os dados Parceiros. Então nós realmente
construir a interface para integrar os dados do arquivo de entrada Partners.

3. Então vamos executar a interface e verificar com os dados integrados, criando


o Modelo de armazenamento de dados e definição PartnersFile.

Vamos começar com as seguintes tarefas:

1. Nós clique no Estilista Navegador guia e expandir o Modelos acordeão


painel. Nós usamos o ícone do menu na Modelos barra do painel para criar um título Novo
Modelo e chamar o modelo Arquivo de pasta de entrada PO. Nós selecionamos Arquivo como o
Tecnologia e a FILE_PO_INPUT entrada é automaticamente selecionado para nós
no Esquema lógico campo, uma vez que só tem um esquema único arquivo lógico
até agora.

Anteriormente, tinha usado o editor de modelo (a janela aberta no momento) para


engenharia reversa. No entanto, como mencionei anteriormente, este é
não é possível ao lidar com arquivos simples como primeiro precisamos para descrever o
arquivo
estrutura. Então, nós apenas salvar o nosso trabalho e fechar a janela do editor.

[247]

www.it-ebooks.info
Integração de dados de
arquivos
2. No Modelos acordeão painel, botão direito do mouse sobre o Arquivo de pasta de entrada PO
nó e selecione Datastore novo.

3. No editor de armazenamento de dados, nós clique no ícone de pesquisa (a lupa)


para a direita do Nome do Recurso campo para que possamos procurar o
C: \ po \ pasta \ input partners.txt arquivo e clique no Abrir botão.

[248]

www.it-ebooks.info
Capítulo 8

4. Voltar no editor Datastore vamos definir o Nome para PartnersFile. O Pseudônimo


campo escolhe os três primeiros caracteres do nome deste. No entanto,
uma vez que este é o nome que vai ser usado na SQL para os mapeamentos de interface,
nós podemos fazer este alias um pouco mais explícito e único, por isso, mudar o Pseudônimo
campo de PARTNERSFILE. Podemos ignorar o Tipo de OLAP, uma vez que não é relevante
para arquivos simples.

[249]

www.it-ebooks.info
Integração de dados de
arquivos
5. Se você fosse para abrir a partners.txt arquivo em algo como um bloco de notas,
você veria que o arquivo tem um formato de coluna de comprimento fixo, com os valores sendo
preenchido com espaços, e não tem qualquer informação coluna.

Ao lidar com arquivos simples, certifique-se sempre que o proprietário


do arquivo lhe dá uma descrição precisa da estrutura da
arquivo. Não há nada pior do que assumir que o arquivo tem um
estrutura fixa, quando, na verdade, ele tem um separador. Se fôssemos
só olhar para o partners.txt ficheiro, não existe maneira de saber
com certeza se ele é um formato fixo ou um arquivo delimitado por tabulações!

6. Voltar no editor Datastore no ODI Studio, clique no Arquivos guia. Montamos


o Formato de arquivo para Corrigido, Temos a certeza de que o Título (número de linhas)
valor é 0, Deixamos o Separador de Registros como MS-DOS, e como temos um
formato fixo, não precisamos de um Separador de campo. Vamos salvar o nosso trabalho neste
ponto, mas não feche o editor.

[250]

www.it-ebooks.info
Capítulo 8

Existem algumas opções que temos ignorado aqui:


Separador de campo: Esta entrada pode ser ignorado. Mas, para uma
arquivo delimitado, é aqui que irá especificar o separador
caracteres. Você pode usar um ou vários personagens.

Delimitadores de texto: Alguns arquivos vão incluir os campos de texto com


aspas duplas, por exemplo, para se certificar de que os personagens em
seqüências de texto não sejam confundidos com separadores. Utilize este
campo
se os seus arquivos estão usando delimitadores de texto.
Separador decimal : Alguns países usam uma vírgula, enquanto
alguns usam um ponto ou período. Ao lidar com arquivos de
países diferentes, você pode garantir que os separadores decimais
são devidamente tratados para cada arquivo.

Em seguida, clique no Colunas guia.

[251]

www.it-ebooks.info
Integração de dados de
arquivos
7. O ícone mais à esquerda na barra de título acima da área de coluna começa a
engenharia reversa assistente. Tenha cuidado para não clicar nas palavras Reverter
Engenheiro, como eles se referem a engenharia reversa de um arquivo COBOL caderno,
que nós não estamos fazendo aqui. O ícone que clicamos foi cercada
por uma caixa vermelha na imagem seguinte:

8. O Assistente de Configuração coluna aparece como se segue:

Por padrão, todos os dados serão coletados em uma única coluna chamada C1 e
você verá que os dados do arquivo real está sendo usado neste assistente. No entanto, se
você mover o mouse sobre (ou logo abaixo), o governante coluna no topo da
o diálogo do assistente, você verá uma linha preta vertical que se estende ao longo
os dados (como na imagem anterior). Se você mover o mouse ao longo
a regra para o início de cada coluna de dados abaixo e clique, o negro
mudanças de linha em um pequeno ponto vermelho na régua de coluna e você vai ver que
nomes de colunas adicionais são adicionados (C2, em seguida, C3, e assim por diante).
Este é o
maneira que você especificar os limites de coluna no arquivo.

[252]

www.it-ebooks.info
Capítulo 8

Se você cometer um erro, basta clicar novamente quando a linha preta cobre o
ofender mancha vermelha e ele vai ser removido. Este arquivo tem cinco colunas de dados,
assim que você deve acabar com colunas C1 para C5 sendo definido, sem líder
espaços para qualquer uma das colunas (para além da segunda coluna da última linha
claro!). Nós pode inserir os nomes de colunas e tipos aqui, ou fechar
o assistente e terminar o trabalho no editor de arquivo. Aqui nós clique em Ok para
fechar o Assistente de Configuração coluna.

9. Voltar no editor Datastore agora vemos a saída do assistente em um


forma de tabela:

Para tirar o máximo de auto-mapeamento mais tarde, vamos nomear nossas colunas
exactamente os mesmos que os do PARCEIRO tabela de destino na data mart.

10. Estamos definindo nomes e atributos para estas colunas por o seguinte
mesa, deixando o Começar,Comprimento físico e Comprimento lógica valores como
eles são os seguintes:

Nome Tipo Formato


PARTNER_ID Numérico

COMPANY_NAME Corda

CIDADE Corda

Country_id Numérico
DATE_ENLISTED Data dd-MMM-yyyy

Como vimos na parte introdutória, a seqüência de formato de data dada aqui


é o tipo correto exigido para Java (ODI 11g) para ler e interpretar o arquivo
texto como um valor de data. Como a maioria das coisas em Java, caso é importante na
data seqüência de formato.

[253]

www.it-ebooks.info
Integração de dados de
arquivos
11. Uma vez que temos os nomes das colunas corretas e tipos definidos juntamente com a data
formato, podemos salvar o nosso trabalho e feche o editor de arquivo. Agora, se expandir
o PartnersFile no nó Modelos painel no Navegador Designer, o
PartnersFile nó de armazenamento de dados será mostrado. Se botão direito do mouse sobre
este nó
e selecione Visualizar dados ... vemos uma janela do navegador de dados aberto com o
arquivo
dados exibidos. Qualquer desalinhamento ou falta de dados que indicam um problema
com a definição da estrutura do nosso ficheiro.

12. Antes de fechar todas as janelas do editor vamos executar verificação de mais um.
Abra uma janela do Windows Explorer e navegue até o C: \ po \ input
pasta. Se você ver os arquivos chamados partners.bad ou partners.error, Então
algo foi digitado incorretamente. Abrir esses arquivos em um editor de texto para
ver o que os erros são e as linhas afetadas. Corrigir os erros no
definição de armazenamento de dados para PartnersFile, excluir o partners.bad e
partners.error arquivos e abrir outro Visualizar dados ... janela para o
armazenamento de dados novamente. Esperemos que desta vez não haverá qualquer . Ruim ou
. Erro
arquivos criados, mas se houver, você já sabe o que fazer!

[254]

www.it-ebooks.info
Capítulo 8

13. Quando você puder ver todos os dados na janela de visualização de dados e
não há arquivos de erro são criados quando você faz isso, salvar o seu trabalho, feche a
PartnersFile exibição de dados e armazenamento de dados editor de janelas em ODI
Studio.
Temos agora modelado com sucesso os metadados do arquivo de dados Parceiros em ODI.

Note-se que muito do que fizemos aqui vem da falta de


informações no arquivo. Em um arquivo delimitado, você só tem
para especificar o separador, você não tem que manualmente
definir onde colunas de começar e parar. Da mesma forma, se o arquivo
tem uma linha de cabeçalho que descreve os nomes das colunas, em
seguida,
não teríamos de introduzir manualmente os nomes das colunas
e que seria verdadeiro para arquivos fixos e delimitado.

Criação e elaboração do projeto


Primeiro vamos criar o projeto e importar os módulos de conhecimento que estamos
vai usar para a primeira interface.

1. Com o Projetos painel de acordeão no Designer Navigator expandida,


criamos um novo projeto que chamamos Capítulo 8.

2. Expandimos a Capítulo 8 nó do projeto, clique com o Conhecimento


Módulos nó e selecione Importar módulos de conhecimento.

3. Usando o Importar módulos de conhecimento diálogo, nós importamos IKM da Oracle


Atualização Incremental e Arquivo LKM para Oracle (tabela externa)
para o projeto.

Como acontece com qualquer operação de banco de dados, você precisa


ter certeza de
ODI que tem privilégios suficientes para realizar a necessária
operações. Com a LKM tabelas externas, ODI pode
criar o diretório necessário no banco de dados para definir
as tabelas externas, ou reutilizar um já existente. A escolha
ODI de deixar a criação do diretório (e ter a
privilégios necessários) é geralmente nas mãos dos DBAs.

[255]

www.it-ebooks.info
Integração de dados de
arquivos
Criando a interface para integrar os dados Parceiro
Para criar uma interface, siga os passos indicados:

1. Podemos agora expandir o Pasta primeiro no nó Capítulo 8 projeto e


botão direito do mouse sobre o Interfaces para criar um nó Nova interface.

2. Chamamos a interface PARCEIRO carga e clique no Mapeamento guia.


3. No Modelos painel de nós selecionar o PARCEIRO armazenamento de dados a partir do
Oráculo
DataMart modelo e arraste-e-solte no Datastore alvo área
(Canto superior direito) do editor de mapeamento.
4. Do Arquivo de pasta de entrada PO modelo, arrastar-e-soltar o PartnersFile
armazenamento de dados para a área de fontes do Editor de Mapeamento, clicando em Sim no
mapeamento automático de diálogo.

O trabalho que coloque em certificar-se de que o arquivo de armazenamento de dados os


nomes das colunas
Matched aqueles para o alvo na data mart acaba pago. Todos fonte
colunas são mapeados corretamente, deixando-nos apenas com o LAST_UPDATE
coluna para mapa. Nós clique sobre o nome da coluna, e no painel de propriedade definida
o local de execução para o Alvo e Tipo para SYSDATE para o mapeamento.

5. Agora podemos clicar na guia fluxo e visualizar o fluxo de integração gerado


por ODI.

[256]

www.it-ebooks.info
Capítulo 8

Isto mostra que Arquivo LKM para Oracle (tabela externa) foi seleccionada
por padrão para carregar os dados do arquivo para a área de preparo.

Se você rolar a lista de opções para este KM particular,


você vai ver que o EXT_PARALLEL opção foi definida por
padrão para que o Oracle paralelização uso de banco de dados, que
vai resultar em cargas-especialmente mais rápidas de grandes arquivos de
dados. Este
tipo de otimização que aproveita plataforma específica
capacidades não estaria disponível em um conhecimento genérico
Módulo, uma razão para usar um KM específico da plataforma.

A IKM importamos terão sido selecionados para realizar a integração.


Estamos definindo o FLOW_CONTROL opção para falso como nós não vai controlar
os dados.

Agora estamos prontos para executar a interface e usar uma tabela Oracle externo.

[257]

www.it-ebooks.info
Integração de dados de
arquivos
Executar a interface
Para executar a interface e verificar o resultado, fazer o mesmo que fizemos no
capítulos anteriores:

1. Nós clique no botão Run na barra de ferramentas principal ODI (o triângulo verde),
que aceitar os padrões da Execução diálogo, e descartar a Sessão
Começado diálogo quando ele aparece.

2. Nós clique na guia Navegador do operador para ver o estado de execução. Clique em
o botão de atualização se necessário, para ver a última execução destacado por um vermelho
caixa como mostrado na imagem a seguir:

Podemos examinar o código gerado e executado a usar a tabela externa.

3. No Operador Navegador Todas as execuções lista, expandir o Carregar


PARCEIRO nó de sessão e a PARCEIRO carga nó passo que abaixo
para mostrar todo o Carregando, Integração, e Controlar comandos que eram
executado pela interface.

[258]

www.it-ebooks.info
Capítulo 8

Aqui podemos ver que a LKM cria o diretório do Oracle, concede acesso
diretório, cria a tabela de referência externa, e cria uma visão
na mesa externa. Na verdade, não mover quaisquer dados-que só torna
disponível diretamente do arquivo como uma tabela Oracle.

Você sempre pode abrir qualquer uma dessas etapas de execução e dar uma olhada no
código necessário para usar uma tabela Oracle externo. Mas se você quiser apenas para
aquecer
a glória de ter utilizado uma tabela Oracle externo sem ter que saber
as especificidades de comandos e sintaxe, que seria OK também.

[259]

www.it-ebooks.info
Integração de dados de
arquivos
4. Nós clique no Estilista Navegador guia e localizar o PARCEIRO armazenamento de dados em
o A Oracle DataMart modelo. Nós direito do mouse sobre esse nó e selecione Visualizar dados.
Uma janela de visualização de dados abre exibindo o conteúdo recém-integrados da
PARCEIRO tabela no data mart e mostra as 12 linhas que foram carregados.

Isso é tudo para o nosso exemplo de arquivo. Nós


temos:
• Adicionada com sucesso um esquema físico para permitir o acesso aos dados do
arquivo
• Definido um modelo para o arquivo simples
• Dados carregados usando uma tabela Oracle externo e visto como efetivamente ODI
Módulos de conhecimento podem encapsular a perícia para usar de propriedade
extensões de banco de dados e utilitários

[260]

www.it-ebooks.info
Capítulo 8

Resumo
Aqui está o que nós cobrimos neste capítulo:

• Nós aprendemos sobre o FILE_GENERIC de dados do servidor e que precisaríamos


olhar para fora quando usando diferentes conjuntos de caracteres em arquivos

• Vimos como a engenharia reversa de ambos os metadados formato fixo e


arquivos delimitados e como os dois métodos diferem

• Nós usamos uma tabela Oracle externo sem ter que aprender a detalhada
sintaxe de dados para conseguir isso, porque o módulo de Conhecimento usamos
encapsulados todos os conhecimentos que e tornou facilmente reutilizáveis

• Vimos também que ainda há circunstâncias (como a fixação do necessário


permissões de banco de dados), quando um trabalho preparatório adicional é necessária
antes de podermos utilizar módulos específicos da plataforma de conhecimento

Nós integramos os dados de um arquivo simples em um banco de dados. Em seguida vamos para
lidar com
uma forma de arquivo que foi maciçamente crescente importância no negócio de TI do mundo,
nomeadamente arquivos XML.

[261]

www.it-ebooks.info
www.it-ebooks.info
Trabalhando com arquivos
XML
Extensible Markup Language (XML) tem crescido rapidamente em importância ao longo da
últimos anos. Ele tem uma forte associação com serviços web e orientada a serviços
arquitetura (SOA) iniciativas, mas que está trabalhando o seu caminho em todos os tipos de áreas em
TI.
Como resultado, o XML é muitas vezes um fator significativo em projetos de integração de dados
empresariais.
ODI 11g está em uma posição muito forte quando se trata de XML como ele tem um extremamente
poderoso e bastante elegante driver JDBC que trabalha diretamente com estruturas XML,
como iremos descobrir neste capítulo. O que vamos abordar é:

• Uma breve introdução ao XML, apenas para cobrir o básico, e para


certifique-se de que usar um vocabulário comum ao explorar XML
e capacidades do ODI

• Uma visão geral do driver JDBC ODI para XML e os fundamentos de como
funciona: isto é importante para compreender certos aspectos de como usar
ODI com XML e incluir explicações sobre os mais comumente usados
Motorista bandeiras JDBC

• Um breve olhar sobre alguns dos recursos mais avançados do driver XML
• Um tutorial amostra em que vamos estar lendo um arquivo XML simples e integrando
seus dados em nosso data mart

Introdução ao XML
Ficheiros XML empregar um formato no qual os dados estão contidos em uma aninhada, hierárquica
estrutura de tags que dão contexto e significado aos dados contidos entre e
dentro das tags. Ele tem sido descrito como semelhante ao HTML porque tanto em XML e
em HTML as tags usadas cada um pode ter atributos, pode cercar os elementos de dados de valor
(Em HTML estes são principalmente cadeias de texto a ser exibido), e pode suportar mais profundo
aninhamento de estruturas de tags.

www.it-ebooks.info
Trabalhando com arquivos XML

Onde as tags cercam dados ou uma estrutura mais profunda, eles têm marcas de abertura equilibrada
com marcas de fechamento, as marcas aninhadas internas sempre sendo fechado antes de tags
externas como em
esse trecho de HTML:
<b> Este texto será exibido como <i> negrito e itálico e negrito isso como
</ I> </ b>.

Quando uma etiqueta tem atributos, mas não envolvem quaisquer dados ou de outros elementos, o
tags de abertura e fechamento podem ser combinadas em uma só, com um fechamento "barra-
suporte":
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

No entanto, uma grande diferença é que o HTML foi projetado para exibir dados, enquanto XML
foi concebido para transportar dados XML que embora sempre foi destinado a ser adequado para
a web.

O número limitado de marcas e as regras estruturais conhecidas em HTML significa que um bom
Muita coisa pode ser inferida em uma seqüência de HTML. Então, você costuma ver "desequilibradas"
tags
em páginas HTML. Isso nunca é verdade de XML: não é projetado para um conjunto limitado de clientes
ou interrogadores, para que ele não tenha um conjunto pré-definido de etiquetas ou estruturas (afinal de
contas,
ele é extensível!), de modo que cada tag deve explicitamente ser fechado em XML, como a abertura de
qualquer
Uma
Tipo devezdeterminada
que o XML émarca
extensível de modo,
não pode as odefinições
implicar das etiquetas
encerramento de todasaas ser utilizado
marcas em um
anteriores.
documento ou
apresentar juntamente com os metadados estruturais e tipo de dados para essas marcas são
realizadas em um
separado,
• A mas associada
Document Typeou documento
Definition de definição
(DTD), que é umde arquivo,
método, notipicamente tanto
início, em vez como um:
concisa
de tags definidoras, seus atributos, e as suas hierarquias, ou

• Um XML Schema Definition (XSD), que é em si um método baseado em XML de


definindo uma estrutura XML incluindo:

° Nomes de marcas, atributos e tipos de valor (usando tipos de dados padrão


como string, inteiro, decimal e.

° Tipos complexos, que são definidos pelo usuário subestruturas de tags


e atributos.

° Namespaces, que são conceituais "containers" nos quais complexo


definições de tipo pode ser organizado para ajudar a clareza e evitar a nomeação
conflitos. Uma vez que um tipo definido pelo usuário complexo foi definido para
residir em um espaço específico, um documento XML só precisa consultar
para o namespace para usar e aproveitar esse tipo complexo.

[264]

www.it-ebooks.info
Capítulo 9

De fato, desde um XSD é um documento XML, ele precisa estar de acordo com uma definição de
esquema
si. Felizmente existem organizações padrão que concordaram em comum
formato e conteúdo para essas definições de fundação de tipos elementares, nomes de marcas
usar para definir novos tipos, como especificar namespaces, e assim por diante.
Se você é um novato total para XML, existem muitos sites (sua busca favorito
motor obrigará) e livros que cobrem o assunto, mas a fonte oficial de
a informação é o World Wide Web Consortium (W3C) e eles têm uma seção de
seu site dedicado a XML no http://www.w3.org/standards/xml/-Sua
XML Essentials seção é uma introdução muito boa com os conceitos básicos de XML.

XSD e DTD são as formas mais prevalentes fornecedor neutro de definição de esquema
para XML, e embora XSD tem, em grande medida eclipsada DTD sendo mais
de fácil compreensão, mais flexível, e mais poderoso, ambos ainda estão em uso, e tanto
pode ser usado com ODI 11g.

Apresentando o ODI driver JDBC para XML


Como já mencionei antes, ODI usa JDBC para acessar os dados, por isso precisa
um driver JDBC para acessar dados XML. Felizmente ele vem com um extremamente
direito motorista sofisticado fora da caixa. Será essencial para entendermos
algumas das características e métodos de trabalho do motorista para nós usá-lo
correcta e eficaz, por isso vamos cobrir o básico aqui.

ODI e seus XML-driver conceitos básicos


Sabemos agora que os documentos XML contêm uma estrutura hierárquica, aninhada de
elementos (cada um dos quais pode ter atributos), todas as quais estão contidas dentro de
um único elemento raiz.

Sabemos também que ODI é uma ferramenta muito SQL relacional e orientada para que os
modelos
coisas de uma forma muito semelhante a tabela.
O ODI driver JDBC para XML casa com esses dois paradigmas, representando
um único arquivo XML como uma hierarquia de mesa como datastores que estão relacionados a
cada
outros através de primárias, relações de chave estrangeira:
• Cada elemento XML (tag) que contém subelementos (tags aninhados)
torna-se uma tabela

• Cada atributo torna-se uma coluna de tabela o elemento associado do

[265]

www.it-ebooks.info
Trabalhando com arquivos XML

• Menores elementos de nível que contêm apenas valores de dados e sem tags aninhadas
também
tornar-se colunas de tabela contendo o elemento de
• Para preservar a ordem dos elementos na seqüência correta dentro de um delimitador
par de tags, um ORDEM coluna será adicionada para cada elemento-se fechado
esse elemento é mapeado para uma tabela ou uma coluna de uma tabela

• Para manter o correcto aninhamento hierárquico de elementos, o motorista também


adicionar numéricos primárias e estrangeiras colunas de chave para as tabelas

Como exemplo, vamos dar uma olhada em um arquivo XML simples que tem um elemento de raiz que
apenas
contém um nível de subelemento:
<? Versão xml = "1.0" encoding = "UTF-8">
<Building>
<StreetAddr> 32 Lincoln Road </ StreetAddr>
<Locality> Olton </ Localidade>
<Cidade> Birmingham </ Cidade>
<StateOrProv> West Midlands </ StateOrProv>
<PostCode> B27 6PA </ código postal>
<CountryCode> 44 <CountryCode />
<Construção />

Se a engenharia reversa em ODI, isto resolveria a uma tabela chamada Edifício que
tem chamados de colunas StreetAddr,Localidade,Cidade, E assim por diante. Haveria também
colunas criadas na tabela no modelo chamado StreetAddrORDER,LocalityORDER,
CityORDER, E assim por diante que mantivesse números que representam a ordem em que
esses elementos aparecem no arquivo XML.

O uso da "tabela" termo aqui é significativa: o que o motorista XML faz é que cria
essas tabelas e colunas em um esquema relacional e usa esse esquema para o
gestão e manipulação dos dados no ficheiro XML. Por padrão, esta relacional
esquema é criado na memória, mas o motorista pode ser configurado para usar um Oracle ou
não-Oracle banco de dados, que permite ODI para trabalhar com enormes (dezenas ou centenas de
megabytes e até mesmo mais) arquivos XML.

Embora ODI 11g permite a utilização de uma base de dados externa


tais como Oracle para ser utilizado como uma área de manipulação de dados
puramente
para o driver JDBC XML (distinta de uma área de teste utilizado
em uma interface ODI), este capítulo irá cobrir apenas o padrão
fora do comportamento da caixa que tem esse "em-driver" de dados XML
manipulação que ocorrem na memória.

[266]

www.it-ebooks.info
Capítulo 9

Se o ficheiro XML tem uma estrutura aninhada de elementos, tal como um edifício que tem pisos
e salas em cada andar, o motorista XML vai criar uma hierarquia de tabelas relacionadas em
seu esquema relacionais, como mostrado na figura a seguir:

In-Memory, ou
<? Xml version = "1.0"> RDBMS externo
<building>
<floor level="1">
<room layout="theater">
<id> Seminário 1 </ id>
<ext> 4522 </ ext> Esquema de motorista
</ Quarto>
<room layout="board">
<id> Conf 1 </ id>
<ext> 4523 </ ext>
</ Quarto> ODI driver XML edifício
<Chão />
<floor level="2">
...
piso

quarto

<? Xml version = "1.0">


<Xs: schema
xmlns: xs => http://www.w3.org/2001/XMLSchema

name="building"> <xs:element
<xs:complexType>
<xs:sequence>
name="floor"> <xs:element
<xs:complexType>
<xs:sequence>
<xs:element name="id" type="xs:string"/>
<xs:element name="ext" type="xs:integer"/>
</ Xs: sequence>
<Xs /: atributo name = "layout" type = "xs: string" />
<Xs /: complexType>
</ Xs: element>
...

[267]

www.it-ebooks.info
Trabalhando com arquivos XML

Cada ficheiro de dados XML é representado na topologia ODI pelos seus próprios dados físicos
Servidor. Dentro desse servidor de dados um único esquema Física irá representar o
esquema hierárquicos e os conteúdos do arquivo XML. Isto difere do comparável
objetos para tecnologias de banco de dados (em que cada servidor de dados terão acesso a todos
dos esquemas individuais disponíveis através de uma única seqüência de conexão do banco de
dados do servidor)
ou para arquivos planos (em que um único servidor de dados físico abrange o todo acessível
estrutura do sistema de arquivos para a máquina de hospedagem e cada esquema físico representa
uma pasta de sistema de arquivos).

Há uma descrição detalhada do driver JDBC XML ODI


na documentação 11g ODI, especificamente em Apêndice B de
o Conectividade e Guia de módulos de conhecimento, disponível (em
o tempo da escrita) no Oracle Technology Network em
http://www.oracle.com/technetwork/middleware/
data-integrator/documentation/index.html.

Exemplo: Trabalhar com arquivos XML


Neste exemplo, vamos estar lendo arquivos XML simples com ODI. Ao longo do caminho
nós também vamos introduzir procedimentos ODI e construir um par de exemplos.

Requisitos e fundo
Os exemplos neste capítulo construir sobre a experiência adquirida nos capítulos anteriores.

Nosso cenário amostra total abrange uma Ordem de Compra (PO) ambiente de processamento
e aqui vamos estar lidando com a manipulação de dados ordem de compra. Então, o que nós vamos
focar nesta seção é como ODI pode integrar dados de compra em ordem de entrada
o data mart a partir do qual os elementos de processamento de PO pode recuperar a
ordens de compra para o processamento sequencial mais.

Os dados PO temos de lidar é fornecido com o seguinte formato:

• Nós temos um sistema de captura on-line para que as saídas de cada pedido como um XML
mensagem em que são colocados. Essas mensagens são armazenadas como XML indivíduo
arquivos. Os arquivos que recebemos do sistema on-line são sempre para as encomendas
colocado hoje.

[268]

www.it-ebooks.info
Capítulo 9

Escopo
Como vimos anteriormente, vamos ser a leitura de arquivos XML e examinar a
características comportamentais do motorista XML quando utilizado em sua configuração padrão.
Nós não vamos estar a utilizar um banco de dados SQL externo para o motorista XML para armazenar o
esquema
e dados, nem vamos estar usando conjuntos de caracteres especiais no XML.
À medida que progredir através deste exemplo, vamos também precisar executar uma série de
procedimentos
e interfaces que criamos de forma fragmentada, manualmente-driven. Como isso pode ser
orquestrada e executada por ODI si será abordado no próximo capítulo.

Visão geral da tarefa


Nós vamos quebrar a tarefa de integrar uma única ordem de compra de
nosso arquivo de amostra em partes menores. Isto incluirá:

• Definindo-se as entradas para o arquivo de topologia


• Engenharia reversa de metadados a partir do esquema XML
• Construir uma interface para mapear e enriquecer os dados na tabela de destino
• Executar a interface e verificar os resultados de nossa execução

Nós também vamos dar uma primeira olhada em Procedimentos ODI e usar dois de forma interativa
em relação
a nossa integração arquivo XML.

A integração de um pedido de compra de um arquivo XML


Até agora ele vai vir como nenhuma surpresa que será a criação de entradas para uma topologia
Dados do Servidor, um esquema físico e um esquema lógico. O que vamos ver é tanto o
semelhança com a diferença e da maneira que nós especificado entradas correspondentes
para arquivos simples.

[269]

www.it-ebooks.info
Trabalhando com arquivos XML

Criação de modelos a partir de arquivos


XML
Mais uma vez vamos ser a engenharia reversa de metadados em uma base arquivo por arquivo, mas
vamos
ver também que usando o driver ODI XML adiciona significado ao conceito de esquemas
na topologia quando se trata da leitura, escrita e manipulação de XML
dados e as relações.
Veremos também após o processo de engenharia reversa que as novas colunas que são
adicionados no modelo permitir ODI para preservar a ordem hierárquica elemento e associação
informações entre estruturas aninhadas de elementos.

Integrando os dados de uma única ordem de compra


Nós vamos ser a integração de dados para o PURCHASE_ORDER tabela no data mart. Esta tabela
tem o seguinte formato:

A tabela será preenchida a partir de um arquivo XML chamado order_20001.xml que


está na C: \ po \ input pasta. Ele tem um único registro de dados que está em conformidade com
a definição de esquema XML a seguir mostrado na figura a seguir. Este XML
esquema é composta dos elementos principais:

• O elemento raiz é chamado PurchaseOrder e é do tipo


PurchaseOrderType (O po: prefixo refere-se a http://xmlns.
oracle.com / ns ordem / namespace)

• PurchaseOrderType tem uma sequência de (o oval, com três pontos vermelhos) de


nove sub-elementos, alguns dos quais são opcionais (caixas a tracejado)

[270]

www.it-ebooks.info
Capítulo 9

<schema>
targetNamespace http://xmlns.oracle.com/ns/order

PurchaseOrder
Tipo de po: PurchaseOrderType
CustID
tipo string

ID
tipo string

productName
tipo string

ItemType
tipo string

preço
Tipo PurchaseOrder
tipo decimal

quantidade
tipo decimal

estado
tipo string

ccType
tipo string

ccNumber
tipo string

Os mapeamentos são straight-through (sem modificação de dados) a partir do código-fonte XML


arquivar além de quatro colunas no alvo:

• Order_date é considerado como sendo a data em que o pedido de dados é integrado


(Esses arquivos XML são processados no dia a ordem é recebida)
• FULFILLMENT_DATE vai ser deixado em branco (nulo) para agora, como não temos que
informação ainda

[271]

www.it-ebooks.info
Trabalhando com arquivos XML

• O PRODUCT_ID será obtida por uma busca para o data mart do PRODUTOS
tabela com base no nome do produto realizada no arquivo XML

• O STATUS da ordem pode ser alterada para Aprovado se quer o valor é


menos de US $ 1000 ou se há um número válido de cartão de crédito para pedidos de US $
1000
ou acima
• Encomendas de US $ 1000 ou acima, com um cartão de crédito inválido terá seu status
definido para InvalidCreditCard

Temos também uma exigência de que cada ordem deve ser associada a uma venda
pessoa ou de um parceiro para que possamos calcular comissão corretamente. Em vez de
realização de uma junção com o CLIENTE tabela no data mart, criamos duas ODI
restrições sobre a data mart do PURCHASE_ORDER mesa para que não conformes compra
ordens são desviados para uma tabela de erros a partir de onde podem ser posteriormente corrigidos
e alimentado de volta para a execução próxima interface. As primeiras verificações de restrição que o
CUSTOMER_ID nas ligações de ordem de compra para um cliente válido e os controlos de segundo
que o cliente tem um ligado ou SALES_PERSON_ID ou PARTNER_ID entrada. O
vantagem disto é que as restrições sejam reutilizados por todas as interfaces que alimentam
o PURCHASE_ORDER mesa-não precisamos de verificar que todas as interfaces incluem o
corrigir participar.

Nós estaremos usando CKM da Oracle para desviar esses registros não conformes usando fluxo
controlar na interface.

Solteiro ordem fluxo logístico de interface


Nossa principal fonte é um arquivo XML e nosso alvo é a nossa dados Oracle mart. Estamos também
vai realizar uma junção na PRODUTOS tabela que se encontra no mart de dados, por isso, faz
sentido ter a área de preparação no servidor mart dados e a junção pode ser efectuada
lá sem ter que mover o PRODUTOS tabela de dados de seu servidor de hospedagem. Este
é um benefício de ODI Extrair, Carregar, e Transformar (ELT) arquitetura.

[272]

www.it-ebooks.info
Capítulo 9

Oracle:
Data Warehouse
Servidor
XML:
Arquivo PO único
IKM a Oracle Atualização Incremental
XMLPO
esquema

ODITEMP Datamart
esquema esquema
LKM
PurchaseOrder
LKM SQL para SQL
SS_0 IKM PURCHASE_ORDER
tabela
ES_PURCHASE_ORDER
tabela

PRODUTOS
tabela
CKM

CKM da Oracle

Decidimos usar LKM SQL para SQL para mostrar que você não tem que usar um
plataforma otimizada Módulo conhecimento se você não quiser. O SQL LKM
a Oracle também pode ser usado para este exemplo de cenário.

Depois que nós executar a interface para integrar os dados que vamos investigar
algumas das nuances de lidar com arquivos XML individuais e empregam algumas
técnicas que são comumente usados quando se lida com arquivos desse tipo.

O nome do esquema XMLPO mostrado para a fonte no anterior


figura para a região de arquivo XML é simplesmente um valor que nós vamos passar
como um
parâmetro para o controlador de modo que ele pode citar a região de memória
cria-se para manter as representações relacionais do subjacente
Arquivo de dados XML. Ser capaz de nomear regiões esquema deste modo
significa que o motorista pode segmentar e manter separar o trabalho que
executa para múltiplas interfaces diferentes se que é necessário.

[273]

www.it-ebooks.info
Trabalhando com arquivos XML

Cenário de exemplo: Integrando uma simples


Compre arquivo de Ordem
Nesta secção, iremos:

• Crie as entradas de topologia necessárias para ser capaz de interrogar o arquivo XML
e seu esquema para acessar os dados e metadados

• Engenharia reversa do arquivo XML em um modelo ODI e dar uma olhada rápida no
a estrutura que é criada

• Utilizar o modelo de ODI para criar uma interface para ler os dados a partir do ficheiro XML
e movê-lo para a tabela de destino

• Melhorar a estratégia que adotamos para que possa lidar melhor com múltipla
semelhantes arquivos XML-tendo em conta que nós vamos obter um arquivo de entrada por
Ordem de Compra capturado pelo sistema on-line

• Destacar uma das principais coisas a lembrar quando se lida com o ODI
Motorista XML ...

Assim, com esse pensamento último enforcamento, vamos


começar!

Expandindo a topologia
Como seria de esperar, a primeira coisa a fazer é expandir as definições de Topologia para incluir
o arquivo XML que deseja integrar.

1. Com ODI Studio aberto e conectado a um repositório de trabalho, clique no


Topologia guia do navegador.

2. Nós rolar a lista de tecnologias adequadas para o fundo, em seguida, clique direito em
XML para adicionar um novo servidor de dados XML e nós a chamamos Arquivo XML PO Único. Nós
pode deixar os campos marcados (Dados do Servidor), Usuário, e Senha tudo em branco e
ir direto para o JDBC guia.

[274]

www.it-ebooks.info
Capítulo 9

3. Nós clique no ícone de pesquisa (lupa) para o direito do JDBC


Motorista campo e quando o diálogo de seleção do driver aparece clicamos Ok
para aceitar a opção padrão do ODI Driver JDBC para XML.

[275]

www.it-ebooks.info
Trabalhando com arquivos XML

4. Em seguida, clique no ícone de navegação para a direita do Url JDBC campo para abrir
o Exemplos de URL diálogo.

A descrição dos parâmetros URL menciona a f = parâmetro para o nome do arquivo


e a s = parâmetro para o nome do esquema relacional que o XML ODI
condutor irá criar na memória e também sugere que há uma série de outras
parâmetros que também podem ser especificados. Isto é muito verdadeiro, mas vamos
usar apenas um desses parâmetros adicionais, sendo que o d = parâmetro,
que especifica o local do documento DTD ou XSD que especifica o
definição do esquema XML que está sendo usado pelo arquivo de dados.

Nós clique em Ok para aceitar o padrão modelo de URL exemplo.

5. Nós modificar o Url JDBC campo para refletir a localização do XML e


XSD. Nós também optar por chamar o esquema XMLPO (S parâmetro =):
jdbc: SNPs:? xml f = C :/ po/input/order_20001.xml & d = c :/ po /
XmlSchemas / po.xsd & s = XMLPO.

[276]

www.it-ebooks.info
Capítulo 9

Isso significa que nós vamos estar acessando C: \ po \ \ input order_20001.xml arquivo
(Lembre-se a preferência de Java para barras para separadores de pasta),
usando uma definição de um esquema XML realizada em C: \ \ po XmlSchemas \ po.xsd
eo motorista vai criar uma área na memória a nível Agente ODI que
vai se referem como o XMLPO esquema e criar nossas representações relacionais
dos dados XML lá.

Obtenção de informações de log do driver ODI JDBC XML


Se a operação Conexão de teste estavam a falhar, gerando uma
erro, podemos acrescentar mais alguns parâmetros de URL JDBC
para mudar o log de motorista e especificar um arquivo de log para que
vai escrever. Por exemplo, adicionando o texto, & Ll = 255 & lf = c :/
po / input / xml.log, ao final da URL temos sido
usando irá definir o nível de log para 255 (o nível mais detalhado)
e vai escrever todas as entradas para o C: \ po \ \ input xml.log
arquivo de log. Isso deve ajudar a diagnosticar e resolver qualquer
problemas que possa ter, ou em última instância, irá ajudar qualquer
conversas com suporte técnico Oracle sobre questões
a respeito de nossos arquivos XML.

Lembre-se de desligar (retirar) estas opções uma vez que você


resolvido os seus problemas, ou você vai desacelerar tanto o
operação motorista, obrigando-o a escrever um monte de registro de dados
bem como aos poucos enchendo o seu espaço em disco!

6. Nós clique em Salve Todos e descartar o diálogo informativo sobre a criação de


um esquema Física we'll-fazer isso em breve. Porque, agora, clique no Teste
Conexão botão na barra de ferramentas do editor de Servidor de Dados. Depois de uma
pequena pausa
vemos uma Conexão bem sucedida diálogo informativo aparecer.

É útil aqui para refletir sobre o que aconteceu naquele leve


pausa. O motorista XML abriu o arquivo XSD fizemos referência
no URL de ligação e usou a estrutura definida dentro
para criar uma tabela (apenas um, neste caso) em uma área na memória
que criou e chamou XMLPO; que, em seguida, os dados carregados
a partir do arquivo XML para essa tabela. De agora em diante o XML
motorista vai estar usando os dados na memória e até menos
que instruí-lo a fazer o contrário. Isto significa que o Teste
Conexão verificação é extremamente completo, ele verifica que o
XSD esquema (ou DTD) é válido e também verifica se os dados
realizada no arquivo XML está de acordo com esse esquema.

[277]

www.it-ebooks.info
Trabalhando com arquivos XML

7. Agora que temos uma conexão bem-sucedida que fechar o Servidor de Dados
guia editor.

8. Expandimos a XML nó de tecnologia e direito do mouse sobre os novos dados


servidor para criar uma Esquema físico novo.

9. No editor de esquema físico que aparece usamos as listas drop-down


para selecionar o esquema recém-criado na memória XMLPO tanto para o
Esquema (esquema) e Esquema (esquema de trabalho) valores.

10. Finalmente, clique no Contexto guia e adicionar uma referência novo esquema lógico
para o Global contexto, digitando o nome XML PO (E acertar o Entrar chave). Nós
clique em Salve Todos e fechar a aba Schema Editor.

Engenharia reversa metadados


Em seguida, vamos inverter o arquivo XML para criar um novo modelo para os dados que
vamos integrar. O processo para criar um modelo é o seguinte:

1. Nós mudar para o Estilista Navegador guia e adicionar um Novo Modelo, chamando-o de
XML único PO e selecione o XML tecnologia: a XML PO Esquema lógico
será automaticamente selecionado para nós, pois é o único compatível definido
até agora. Nós clique no Seletiva engenharia reversa guia e, em seguida, clique em
as caixas de seleção para selecionar Seletiva engenharia reversa (O Nova DataStores
caixa deve receber automaticamente marcada) e ver a Objetos para reverter
Engenheiro. A tabela chamada PurchaseOrder pode ser revertido, de modo que selecioná-lo, clique
em
no Engenharia reversa botão na barra de ferramentas do editor de modelo e fechar a
Guia editor modelo.

[278]

www.it-ebooks.info
Capítulo 9

2. No painel de acordeão modelos, expandir o XML único PO modelo,


clique duas vezes no PurchaseOrder Datastore nó para abrir o
Editor de armazenamento de dados, e em seguida, clique no Colunas guia.

Podemos ver que todas as colunas aparecem em ordem alfabética, com cada
das colunas de dados que têm uma numeração correspondente ORDEM coluna
que irá indicar a ordem exacta em que os elementos aparecem na
Arquivo XML. Há também um PURCHASEORDERPK foi adicionado à coluna
assegurar que ODI pode distinguir entre os registos XML que podem ter
informações idênticas (não há nada para parar isso em dados XML)-este
coluna que está sendo marcado como Não nulo. Três colunas adicionais foram
adicionado, tudo com um prefixo de SNPS (Uma ressaca de "Sunopsis" dias):
estas colunas mantêm informações sobre o nome do arquivo, caminho e tempo
quando o arquivo foi acessado para recuperar esses dados (que foi quando nós
testada a ligação).

Nós também podemos ver que todos os XML "corda" colunas do tipo são engenharia reversa
como VARCHAR (255) em nosso modelo e todos os "decimais" colunas do tipo são
traduzidas para NUMERIC (10,2). Podemos antecipar que quando o mapeamento de
algumas destas colunas de origem para as colunas correspondentes na nossa meta que
têm tipos, tais como VARCHAR2 (30) ou NÚMERO sem casas decimais que
estamos propensos a receber advertências.

[279]

www.it-ebooks.info
Trabalhando com arquivos XML

Nós podemos mudar essas definições de coluna aqui e salvar nossas alterações para
evitar esses avisos, mas, por enquanto, apenas feche o editor de modelo sem
alterar quaisquer detalhes.

Existe um parâmetro de sensibilidade caso que poderia ter


definido na URL de conexão para o motorista. Uma vez que não fez
definir este parâmetro, nós estamos vendo o comportamento padrão do
todos os nomes de armazenamento de dados e de coluna, sendo em
letras maiúsculas.

Criando a interface
Estamos a fazer com os metadados, por isso precisamos começar a criar uma interface para
mover
os dados.
1. Criamos um Novo projeto, chamado Capítulo 9, salvá-lo, e feche o editor do projeto.
2. Dentro Pasta primeiro no Capítulo 9 projeto, criamos um Nova interface, chamar
ele Carregar PURCHASE_ORDER Único, e passar para o Mapeamento guia.
3. Nós arrastar-e-soltar o PURCHASE_ORDER armazenamento de dados a partir do Oráculo
DataMart como modelo o alvo eo PurchaseOrder armazenamento de dados a partir do
XML único PO modelo como a fonte, aceitando o mapeamento automático.
4. Notamos que um par de triângulos amarelos apareceram ao lado
dois dos três mapeamentos que ODI criados automaticamente. Nós clique em
o símbolo de aviso de correspondência acima da área de fontes para ver o que isso significa.

[280]

www.it-ebooks.info
Capítulo 9

5. As duas melhores mensagens na caixa de diálogo que aparece (se rolar) informar
nos que os avisos para os dois campos que temos mapeados relacionam com o
possibilidade de os dados serem truncadas. No caso de o STATUS coluna, é
porque o tamanho do campo padrão dado a partir de engenharia reversa de um XML
Tipo "string" é de 255 caracteres, como vimos anteriormente, enquanto a nossa coluna de
destino
é consideravelmente menor. Como se mapear os outros "strings" colunas vamos ver
mais avisos deste tipo. O QUANTIDADE coluna é especificada como um "decimal"
XML tipo e isso é traduzido como um número, com até duas casas decimais
lugares, quando a engenharia reversa em ODI. A coluna estamos mapeando
é especificado em não ter partes decimais, por isso é que estes estariam em risco
do truncamento na interface. Nós vamos simplesmente ignorar estes avisos para este
interface como nenhum dos nossos dados, de facto, ser truncado.

As próximas duas mensagens-os com um Crítico status-relacionam ao Conhecimento


Módulos não sendo selecionado para a interface e isso é porque não temos
importado qualquer para este projeto ainda. Nós vamos resolver isso em breve.

Os três últimos mensagens de advertência nos dizem que estamos perdendo alguns
obrigatório
mapeamentos, que irá abordar seguinte, portanto, pode fechar o Interface
relatório de validação diálogo.
6. Antes de se empolgar e começar a criar mapeamentos muito rapidamente, precisamos
para tomar nota de algumas coisas:

° A fonte CUST_ID e alvo CUSTOMER_ID colunas são de diferentes


tipos, sendo a primeira uma cadeia de caracteres e os últimos um número

° A distinção mesmo é válido para a fonte ID e alvo


PURCHASE_ORDER_ID colunas

[281]

www.it-ebooks.info
Trabalhando com arquivos XML

° Nós não tem (ainda) qualquer meio para preencher o PRODUCT_ID coluna,
por isso vamos ter de retificar que em breve, com uma junção ou pesquisa

° Há uma série de desfasamentos de nome (que é por automático


mapeamento não pegá-los), como ItemType mapeamento para
PRODUCT_TYPE,CCTYPE mapeamento para CC_ISSUER

° O FULFILLMENT_DATE mapeamento precisa ser deixado em branco, já que não


tem que os dados ainda

Tendo esses pontos em mente, criamos mapeamentos para o CUSTOMER_ID e


PURCHASE_ORDER_ID colunas que usam um TO_NUMBER () função de conversão
executado na área de preparação. Em seguida, mapear a Order_date coluna de destino
para SYSDATE, Novamente na área de preparação. O resto dos mapeamentos (excepto
obviamente PRODUCT_ID e FULFILLMENT_DATE) Podem ser criadas simplesmente
arrastar e soltar a partir da coluna de origem para a coluna de destino apropriado.

Se quiséssemos poderíamos usar banco de dados apropriado


funções nos mapeamentos, ou conjunto de colunas da tabela XML
largura e escala configurações no nível de armazenamento de dados para,
na verdade,
refletir os nossos dados para remover estes símbolos de advertência.

7. Em seguida, precisamos adicionar o PRODUCT_ID dados, por isso vamos criar uma associação
com o
PRODUTOS na tabela A Oracle DataMart modelo para fornecer esses dados. Nós
arrastar este armazenamento de dados a partir da Modelos painel de acordeão para a área de
fontes,
aceitar o mapeamento automático para criar a PRODUCT_ID mapeamento, em seguida,
criar uma associação entre o PurchaseOrder e PRODUTOS com base em fontes
PURCHASEORDER.PRODUCTNAME = PRODUCT.PRODUCT_NAME.

[282]

www.it-ebooks.info
Capítulo 9

Antes de ir pulando à frente pensando que nós terminamos nossos mapeamentos, não temos
dirigiu-se aos requisitos para o STATUS coluna no alvo. Se você se lembra,
estes requerem aprovação automática para pedidos abaixo de $ 1000 e validação do fornecido
número de cartão de crédito se o valor pedido é acima deste limiar. Nós temos a quantidade
e preço para cada Ordem de Compra, então podemos facilmente calcular o valor, mas dentro deste
interface que não tem (ainda) o acesso ao cartão de crédito, validação de status e precisamos
para lidar com a situação em que um número de cartão fictício (ou incorreta) é fornecido.

[283]

www.it-ebooks.info
Trabalhando com arquivos XML

Se nós simplesmente criar um padrão (interior) junção entre o PurchaseOrder fonte eo


dados Mart CREDITCARD mesa, que irá resultar em ODI ignorando quaisquer ordens de compra, onde
o número do cartão dado não corresponde a um em nossa tabela de dados de cartão de crédito, que é
mais definitivamente não é o que queremos alcançar. Em vez disso, vamos usar uma associação
externa, o que
resultará em todas as ordens de compra a ser tratados, mas todos os detalhes de cartões de crédito que
são
perdidos devido aos números ímpares serão apresentados como valores nulos.
1. Nós arrastar-e-soltar o CREDITCARD armazenamento de dados a partir do A Oracle DataMart
modelo na área de fontes e criar uma associação, arrastando o CCNUMBER
coluna do PurchaseOrder armazenamento de dados e soltá-lo no CCARD_
NÚMERO coluna do CREDITCARD armazenamento de dados.

2. Nós clique no símbolo de união (que irá destacar as colunas unidas como em
a imagem anterior) e desça no Inspetor de propriedades para
que você pode mudar o tipo de junção para um Esquerda Junte-se ao exterior. A descrição
texto vai explicar que todo o PurchaseOrder linhas serão incluídas no
a juntar-se, mesmo se não houver uma correspondência CREDITCARD linha.

[284]

www.it-ebooks.info
Capítulo 9

3. Agora que temos todos os dados que precisamos, podemos corrigir o mapeamento de
o STATUS coluna na tabela de destino. Nós clique sobre esta coluna e definir
o mapeamento de texto a ser:

caso
quando PURCHASEORDER.QUANTITY * PURCHASEORDER.PRICE <1000 então
"Aprovado"
outro
caso
quando CREDITCARD.VALID_STATUS = 'válido', em seguida 'Aprovado'
else 'InvalidCreditCard'
final
final

[285]

www.it-ebooks.info
Trabalhando com arquivos XML

Marcamos o mapeamento a ser realizado na área de armazenamento


temporário.

Se estivéssemos indo para usar esse mapeamento mais tarde, seria um candidato
para uma função do usuário reutilizável, mas vamos deixá-lo como é para este exemplo.

4. Nós clique na guia Fluxo e clique em cada um dos Fonte e Alvo caixa
cabeçalhos, por sua vez, notando que para cada um deles o Módulo de Conhecimento
seleccionada
é <Undefined>.
5. Nós direito do mouse sobre o Módulos de Conhecimento no nó Projetos acordeão
dentro do painel Capítulo 9 projeto e escolha Conhecimento de importação
Módulos .... Vemos uma lista de módulos de conhecimento importáveis e escolha CKM
Oráculo,IKM a Oracle Atualização Incremental, E LKM SQL para SQL, Em seguida, clique em
Ok para importar estes KMs três.

6. Voltar no diagrama de fluxo, clique no Fonte barra de caixa de cabeçalho e, em seguida,


no Inspetor de propriedades abaixo do diagrama vamos definir o LKM ser LKM SQL
para o SQL.

[286]

www.it-ebooks.info
Capítulo 9

7. Nós executar uma operação semelhante no cabeçalho da Alvo caixa e definir o


IKM ser IKM a Oracle Atualização Incremental.

8. Então, clique no Controles guia e definir o CKM Selector valor de


CKM da Oracle.

9. Finalmente, Executar a interface (aceitando os padrões de execução) e verifique


que os dados chegaram à tabela de destino com sucesso usando operador.

Desde o início do exercício deste capítulo amostra temos:

• Topologia definições adicionais para um servidor de dados XML para mapear para a nossa
fonte
arquivo e os esquemas ODI físicos e lógicos associados
• Engenharia reversa arquivo XML em um modelo ODI
• Utilizado o armazenamento de dados que representa o arquivo XML como uma fonte em
uma interface para
integrar os dados em nossa fonte de dados mart
• Executado a interface e verificou que os dados destinados foi carregado
a tabela de destino

Enquanto fazíamos isso, você pode ter notado, mais uma vez que uma vez que tivemos a
modelo de engenharia reversa em ODI, podemos acessar os dados XML em exatamente o mesmo
maneira como RDBMS ou flat-arquivo de dados.

[287]

www.it-ebooks.info
Trabalhando com arquivos XML

No entanto, é também o caso (similar aos ficheiros planos que se tratam em


capítulo anterior) que o nome do arquivo é codificado tanto nas definições de Topologia
(Para arquivos XML) ou nas definições de armazenamento de dados (para arquivos simples). Então, o
que devemos fazer se
tem vários arquivos XML que todos precisam ser integrados, como para o nosso processamento de
ordem
situação? Tendo separados definições de dados do servidor em nossa topologia para cada um e
cada arquivo XML é pesado e totalmente inviável.
Na prática, existem várias maneiras isso pode ser abordados, mas vamos olhar para um
abordagem simples seguinte, que também destaca um fator muito importante quando se lida com
Arquivos XML no ODI (lembre-se que deixou um pensamento suspensão). A abordagem que vamos
Procedimentos tomar exploits ODI para fazer alguma manipulação de arquivos.

Criação de procedimentos
Imagine se você tivesse sua definição de servidor de dados XML criado usando um fixo, mas
nome fictício, e você copiado ou renomeado cada um dos arquivos de origem desejados em
voltar a ter o nome certo para ser pego pela definição Servidor de Dados. Vamos
através dos seguintes passos para criar um procedimento que irá copiar e renomear o nosso
Arquivos XML:

1. Em ODI Studio, que voltar para a Topologia navegador e abra a guia


Arquivo XML PO Único entrada de dados do servidor para edição. No JDBC guia, nós
alterar o f = parâmetro para se referir ao c :/ po / input / single_po.xml arquivo.

2. Nós mudar para o Estilista Navegador guia e, em Pasta primeiro dentro


Capítulo 9 projeto que cria um Novo procedimento.

[288]

www.it-ebooks.info
Capítulo 9

3. No editor de procedimento, definir o nome para CopyXMLOrderForInput no


Definição aba e deixe a fonte e alvo como tecnologias <Undefined>.

4. Em seguida, clique no Detalhes guia e adicionar um passo novo comando, clicando em


o sinal de mais verde acima da lista de comando (atualmente vazio).

5. No Comando guia que se abre, nomeamos o comando Cópia do arquivo XML PO,
no Comando no alvo sub-seção vamos definir o Tecnologia para ODI Ferramentas e
digite o seguinte texto (todos em uma linha) na Comando campo deixando todo o
outros valores como são:

OdiFileCopy-file = c :/ po/input/order_20001.xml
-ToFile = c :/ po / input / single_po.xml-CASESENS = yes

OdiFileCopy é uma ferramenta ODI, que nós vamos cobrir em


próximo capítulo, juntamente com os pacotes.

[289]

www.it-ebooks.info
Trabalhando com arquivos XML

6. Vamos salvar o nosso trabalho e clique no Executar botão no principal ODI Estúdio
barra de ferramentas usando as configurações padrão. Após a execução, podemos ver que
um novo
single_po.xml arquivo foi criado no C: \ po \ input diretório.
Esta abordagem ainda não está indo para o trabalho, porque o original codificado
nome do arquivo no texto do nosso procedimento. O que precisamos fazer é passar no
nome do arquivo original como parâmetro, neste caso vamos usar uma opção de
Procedimento.
7. Expandimos a Procedimentos nó Capítulo 9 |Primeira pasta, clique-direito
nó de nosso procedimento de novo e selecione Nova Opção.

8. Chamamos a opção POSourceFileName, Defina sua Tipo para Valor, sua Posição
para 0, Ea sua Valor padrão para C :/ po/input/order_20001.xml.

9. Em seguida, precisamos de alterar o procedimento para que ele usa o valor da opção
em vez de nosso arquivo codificado fonte, por isso, salvar todo o nosso trabalho, fechar
o editor Opção e volta no campo de comando procedimento que mudar o
primeiro parâmetro passado para o OdiFileCopy comando a ser:

-FILE = <% =% odiRef.getOption ("POSourceFileName")>

[290]

www.it-ebooks.info
Capítulo 9

GetOption () é um método de substituição que ODI


substitutos do valor da opção em tempo de execução para o
código gerado pelo ODI. No nosso exemplo, ele irá retornar o
fonte de nome de arquivo que vamos copiar para o nosso "conhecido"
local que nos propusemos em nossa definição de topologia.

Há muitos mais métodos de substituição que pode ser


usado para criar código genérico em ODI. Sua documentação é
parte do Guia do Módulo conhecimento do desenvolvedor que pode
ser encontrado (na altura da escrita) a http://www.oracle.
com.br / technetwork / middleware / data-integrador /
documentação / index.html

Agora o que aconteceria se nós mudamos o valor padrão do nosso procedimento


usar um arquivo XML diferente, como C :/ po/input/order_20002.xml? Se
foram re-executar o nosso procedimento com este novo valor e, em seguida olhar para o
dados em Designer, nós ainda ver os dados do arquivo anterior ( C :/ po /
input/order_20001.xml).

Lembre-se que as cargas de driver XML de dados em uma área de memória para
manipulação. Bem, nós não fizemos nada para forçar o motorista a recarregar seu
dados na memória do arquivo para que ele ainda está em execução fora os dados antigos.
Precisamos
para criar um novo procedimento para que ODI pode atualizar os dados na memória.
10. Criamos um Novo procedimento chamado RefreshSingleOrderData e em
o Detalhes guia adicionar um novo comando. Nós chamamos o comando Sincronizar
Do arquivo, Defina o Tecnologia para o Comando no alvo ser XML,
o Esquema ser XML PO, e introduzir o Comando texto, SINCRONIZAR
DE ARQUIVO, Como mostra a imagem a seguir:

11. Nós salvar e executar este procedimento e depois ver os dados no XML
PurchaseOrder armazenamento de dados novamente. Desta vez, podemos ver os dados de
o novo arquivo XML.

[291]

www.it-ebooks.info
Trabalhando com arquivos XML

Ao integrar este último arquivo vimos três coisas:

• Alterar o conteúdo de um arquivo XML não mudar automaticamente o


conteúdo da representação na memória do arquivo XML que o ODI
motorista tem (eo inverso também é verdadeiro). Esta é uma daquelas coisas que
ocasionalmente pode "morder" se você não tomar cuidado.

• Há momentos em que é necessário (e não apenas desejável) para realizar uma


sequência previsível de operações, apenas para integrar os dados em um
única tabela:

° Renomear / copiar um arquivo


° Sincronizar com o arquivo
° A execução de um interface para integrar os dados nele contidos
° Normalmente renomear / copiar o arquivo transformado em uma área de arquivo

Nós vamos cobrir esse tipo de orquestração no próximo capítulo, quando examinamos
Pacotes ODI e Planos de carga.

• Ao executar um procedimento manualmente, a única que pode mudar


o valor da opção (parâmetro) que criamos foi para mudar seu padrão
valor. O que você espera para ser capaz de fazer é usar algum tipo de variável como
o parâmetro e alterar o valor da variável com base em alguma outra
processamento. ODI variáveis podem ser utilizadas para esta finalidade, no entanto, as
variáveis
em ODI apenas assumir valores dentro de um pacote, um cenário, ou um plano de carga, de
modo
não vamos usá-los neste capítulo.

Se você não quer que continuamente tem que copiar arquivos XML
ao redor (e se eles são grandes, você provavelmente quer
evitar isso), você pode de fato usar uma variável ODI na topologia
definição para o servidor de dados XML (na URL de conexão) para
representam a totalidade ou parte do nome do arquivo. Isso significa que você
só poderia se conectar a um novo arquivo, sincronizar os dados, e assim
no de dentro de um pacote, mas para a produção de executar este não é
realmente uma limitação porque normalmente tudo é executado como parte de
um pacote. Também estar ciente de que esta abordagem apenas funcionar se
todos os arquivos XML têm a mesma estrutura.

[292]

www.it-ebooks.info
Capítulo 9

Resumo
Neste capítulo, com sucesso consumido arquivos XML em nossas atividades de integração.
Ao longo do caminho que já explorou uma série de aspectos de trabalhar com XML, bem como
algumas outras capacidades extremamente úteis de ODI 11g:

• Temos visto como servidores de dados XML estão associados com o arquivo de referências,
tanto
para os arquivos de dados e definições de esquema e seus como, usando ODI
Procedimentos, nós podemos manipular esses arquivos para permitir que um servidor de
dados única
acesso
Há a vários
outras formasconjuntos de dadospara
mais sofisticadas de arquivos.
conseguir isso, mas pelo menos temos
coberto o suficiente para "começar".

• Nós demos uma olhada em como o motorista XML quebra uma marca hierárquica
estrutura de um arquivo em um número de relacionados com as tabelas em memória e
como
ele acrescenta colunas para manter a ordem de entradas e as relações
entre eles.
• Experimentamos a separação entre os dados do arquivo e aqueles em memória
tabelas e como os cuidados devem ser tomados para garantir que estes são sincronizados se
as mudanças são feitas para um ou o outro.

• Também tinha o nosso primeiro vislumbre ODI Procedimentos ea exigência de


sequenciação (também conhecido como orquestração) de actividades de integração de
dados.
No próximo capítulo, vamos dar uma olhada mais profunda a orquestração de integração de dados
tarefas e investigar algumas das capacidades abrangentes e flexíveis do ODI nesta área.

[293]

www.it-ebooks.info
www.it-ebooks.info
Criar fluxos de trabalho-
Pacotes e planos de carga
Uma vez interfaces individuais foram criados, você vai querer orquestrar sua
execução. Parte da orquestração será a definição da ordem na qual o
interfaces tem de ser executado, o que os elementos serão executadas em paralelo ou numa
série, e que outras operações que você deseja adicionar ao seu processo de fazer
a orquestração global mais sofisticado. Neste capítulo, vamos analisar três
elementos que serão necessários para atingir essas metas: Pacotes, Planos de carga, e
Ferramentas ODI.

Pacotes
Os pacotes são o elemento básico de orquestração na ODI. Este é o lugar onde você vai
seqüência de suas interfaces, e definem o que operação para executar quando um passo (ou
interface) falhar. Um ponto importante a ter em mente é que os pacotes podem ser muito
sofisticado, com o uso de ferramentas, mas a realização das diferentes etapas de um
pacote é sempre seqüencial. Para a execução de etapas em paralelo, vamos olhar para
Planos de carga um pouco mais abaixo no capítulo.

Criando um pacote
Desde que você não pode usar uma interface de um projeto diferente em um pacote, pacotes
será criado no mesmo projeto como as interfaces.

Além disso, para o código para ser mais fácil de manter, uma abordagem é organizar as interfaces
e pacotes em uma pasta (e como subpastas que forem necessárias) para que uma pasta só
contém um pacote e as interfaces necessárias para esse pacote. Interfaces que
seriam compartilhados entre os pacotes podem ser agrupados em uma pasta separada, ainda no
mesmo projeto.

www.it-ebooks.info
Criar fluxos de trabalho pacotes e planos de carga

Para criar um pacote, vá para o Pacotes entrada em sua pasta, clique em


Pacotes e selecione Novo pacote.

A primeira tarefa será a de nomear o pacote. Você não será capaz de salvar
um pacote sem nome. Você, então, tem que clicar sobre o Diagrama guia na
inferior da definição do pacote para começar a desenhar o seu pacote.

Antes de olharmos para a construção de um pacote, você precisa estar ciente de algumas
características
de pacotes:
• A embalagem tem apenas um ponto de entrada (ou de primeiro passo). O primeiro passo é
marcado
com um triângulo verde no canto inferior direito do ícone da etapa de si.

• Passos são seqüenciados em termos de sucessos (Ok, ou setas verdes) e erros


(Ko, ou setas vermelhas). Se um passo dado é bem sucedida, ODI seguirá o verde
seta para o passo seguinte. Se o passo de falhar, ODI seguirá a seta vermelha para o
passo seguinte (se houver).

[296]

www.it-ebooks.info
Capítulo 10

• Se não se segue um passo inicial, a execução será interrompida. Se o último passo é


bem-sucedida, o pacote completo for bem sucedida. Se o último passo falhar, então o
pacote inteiro falhar. Uma conseqüência disso é que, se por um passo a decidir
ter as setas verdes e vermelhas apontam para a mesma etapa seguinte exacto, então
erros no passo que, basicamente, ser ignorado.

Incluindo as etapas em um pacote


Existem duas formas de adicionar passos de um pacote. Você pode fechar o pacote e
arrastar e soltar os objetos que você deseja adicionar ao pacote no nome do pacote em
árvore. Se você adicionar os objetos na ordem em que você quer que eles sequenciaram
no pacote, ODI vai fazer todo o seqüenciamento para você (o primeiro objeto adicionado será
o ponto de partida e as setas verdes são atraídos para você, passo a passo).

A outra abordagem é a de abrir o pacote Diagrama e posicionar manualmente a


objetos e desenhar as setas para definir a seqüência de execução.

Os objetos que você pode arrastar e soltar em um pacote são interfaces, variáveis,
procedimentos, cenários, modelos e tabelas.

Variáveis estão fora do escopo deste capítulo, mas em geral diferente


ações são possíveis para as variáveis:

• Declare variável: Posicionada no início do pacote, variáveis


receberia valores passados como parâmetros para o pacote

• Atualizar variável: Executar a consulta SQL associado à variável para atualizar


o seu valor

• Avaliar variável: Compare o valor da variável para algum valor (ou outro
variável) e filial na sequência de um Verdadeiro (Verde) ou Falso (Vermelho) arrow

• Definir Variável: Atribuir um valor a uma variável

Modelos e tabelas são usados em pacotes para automatizar operações de CDC (dados alterados
Capturar, ou detecção de mudanças em um sistema) de início CDC, parada CDC, e mais
operações avançados relacionados ao CDC.

[297]

www.it-ebooks.info
Criar fluxos de trabalho pacotes e planos de carga

Interfaces, procedimentos e cenários serão adicionados ao pacote de definir o


ordem na qual eles vão ser executada. Ferramentas serão adicionadas para melhorar o fluxo de
trabalho
comportamento. Teremos mais detalhes sobre as ferramentas mais adiante neste capítulo, mas alguns
exemplos
de ferramentas seria a detecção de eventos, envio de e-mails de notificações, ou invocando
comandos do sistema operacional.

Quando um pacote é projetado manualmente, as setas OK (sucesso) e Ko setas


(Falha) deve ser feita manualmente mudar o cursor, clicando no verde único
seta ou seta vermelha único na barra de ferramentas. Em seguida, clique sobre o primeiro objeto (não
solte o botão do mouse), arraste o cursor para o próximo objeto na seqüência e liberação
o botão do mouse. A seta será desenhada entre os dois objetos. Se a seta faz
não acabar da maneira que quiser (soltar o botão do mouse normalmente acabam em
uma seta que circula no mesmo objeto), você pode simplesmente repetir a operação-desde
haverá apenas um Ok (Verde) e um Não OK (Vermelho) flecha por objeto, redesenhando
a seta irá substituir a definição anterior.

Você também pode selecionar a seta e bateu o Excluir no teclado para remover um
inválido flecha, se necessário.

Em tempo de execução, ODI seguirá os "verdes" setas, enquanto a execução é bem sucedida.
Quando um erro de execução é encontrado, ODI vai seguir a seta "vermelho". Se um objeto
tem nenhuma seta a seguir, a execução será interrompida e o estado de todo o pacote
vai ser o mesmo que o estado desse último objecto: sucesso ou falha. Em outras palavras, se
você não processar os erros de execução, o pacote termina em erro.

[298]

www.it-ebooks.info
Capítulo 10

Adicionar ferramentas em um
pacote
O mais sofisticado de pacotes de ferramentas de alavancagem ODI. Fora da ODI ferramentas, uma
Pacote ODI não faz muito mais do que aquilo que pode ser feito com procedimentos armazenados
em um banco de dados (exceto que, graças ao uso da interface gráfica e KMS, você
deve ser muito mais eficiente em fazer o trabalho). Ferramentas ODI podem ser organizados em
diferentes categorias: mudou Data Capture (CDC), detecção de eventos, arquivos, Internet,
Metadados, ODI Objetos, Plugins, SAP e utilitários.

Mudou de captura de dados


Ferramentas CDC será usado para permitir que o pacote de esperar novos dados em tabelas CDC.
Outras ferramentas irá forçar uma atualização da contagem de tabelas do CDC (as revistas) ou
investigar
as tabelas de diário.

Detecção de eventos
Além do CDC, outros eventos podem ser detectados: a detecção de arquivos plana, novos e-
mails,
conclusão de outros cenários ODI, e assim por diante, muito conveniente para uma maior
orquestração avançada do que a programação básica.

Arquivos
Operações de arquivo irá incluir a detecção de novos arquivos no sistema operacional, em movimento,
copiar, excluir arquivos, criar arquivos (como um resultado de uma consulta SQL ou não), fechando
e descompactação de arquivos, e divisão e concatenação de arquivos XML. Estas operações
vai ser muito útil quando a manipulação de arquivos é uma grande parte do processo de integração de
dados.
Por exemplo, detectar que novos arquivos estão disponíveis, arquivá-los uma vez que tenham sido
processada, e esperar por mais arquivos estarão disponíveis.

Internet
Muitas vezes, os dados que devem ser processados tem de ser acedido remotamente, ou o
resultado do processo de integração de dados tem de ser empurrada para uma localização
remota. Teia
Serviços, FTP, SFTP, SCP e e-mails podem ser usados para recuperar ou enviar dados.

[299]

www.it-ebooks.info
Criar fluxos de trabalho pacotes e planos de carga

Metadados
Ferramentas de metadados raramente são utilizados tal e qual nas embalagens. Eles são
geralmente usados em
Engenharia reversa Conhecimento Módulos para importar metadados a partir de bancos de
dados.
ODI Objetos
Estas ferramentas manipular objetos no repositório do ODI (importação, exportação, excluir e
regenerar cenários). Eles podem ser muito úteis para automatizar o gerenciamento do ciclo de vida.

Plugins
Os plugins são normalmente com códigos personalizados ferramentas. Se você decidir criar suas
próprias ferramentas,
eles aparecerão na caixa de ferramentas como plug-ins.

SAP
Uma maneira de trocar dados com as aplicações da SAP é a arquivos alavancar IDocs que são
perto de um formato XML. Ferramentas dedicados são fornecidos para se comunicar com o SAP por
realmente utilizar arquivos XML. As ferramentas XML irá traduzir de e para IDocs.

Utilitários
Uma série de outras ferramentas disponíveis para realizar todos os tipos de operações: invocar
comandos do sistema operacional, beep, invocar a ferramenta de qualidade de dados, ping o
ODI
agente, limpar os logs ODI, iniciar um plano de carga ou um cenário, e assim por diante.

Adição de ferramentas para um


pacote
Quando você clicar no nome de uma ferramenta na caixa de ferramentas, o cursor do mouse irá mudar
em uma viga. A partir de então a cada clique no pacote irá adicionar uma nova instância
da ferramenta. Quando você quer liberar a ferramenta de seleção, clique na seta no cursor
a barra de ferramentas do pacote. O cursor do mouse irá retornar para a seta padrão. Se você acabar
acrescentando mais exemplos de uma ferramenta que o necessário, clique no cursor de seta na barra
de ferramentas
e selecionar as ferramentas extras. Você pode então botão direito do mouse sobre o ícone e selecione
Excluir ou bater a Excluir tecla em seu teclado.

Usando ferramentas
ODI é adicionado a um pacote, cada ferramenta mostrará uma grade onde os parâmetros podem
Quando
ser
inserido (na Geral guia).

[300]

www.it-ebooks.info
Capítulo 10

A grade vai ajudar com uma lista contextual de valores possíveis para cada parâmetro. O
Comando guia irá exibir uma versão da API do mesmo comando. Esta versão pode API
ser utilizado em procedimentos quando a tecnologia para um dado passo é definido para Ferramentas
ODI. Você
pode definir e modificar os parâmetros tanto no Geral ver, ou o Comando ver.

Repetir contra falhar


Cada passo de um pacote pode ser definida de modo a que em caso de erro do passo é tentado
novamente por um determinado número de vezes antes de falhar (ou antes de ir para o caminho
de uma seta "vermelho").

[301]

www.it-ebooks.info
Criar fluxos de trabalho pacotes e planos de carga

Se você clicar em qualquer uma das etapas, a janela de propriedades terão um Avançado guia.
No Processamento após falha parte da janela, você pode entrar no Número de
tentativas e a Tempo entre as tentativas (Expresso em segundos) que você deseja
aguardar antes de tentar novamente.

Este recurso pode ser extremamente útil se você sabe que uma de suas conexões é
propensos a falhas quando você é suposto para processar os dados. Você pode ter ODI manter
tentar processar durante o tempo de inactividade o esperado. Se o tempo de inatividade excede o
normal
duração você pode erro de e tipicamente enviar uma notificação para algum administrador.

Melhores práticas: Não loop infinito


Você vai logo perceber que é fácil e conveniente para definir laços em sua
pacotes. Um ponto a prestar atenção ao que é o tempo que o pacote está em execução,
o mesmo trabalho gera novos passos nos logs de operador e este trabalho não pode ser purgado
até que seja concluída. Para a sanidade de seus registros e para tornar possível para o ser humano
operadores para entender o que está acontecendo, lembre-se de nunca ter um infinito
laço em seus pacotes. As embalagens devem terminar eventualmente. O que você pode fazer, porém,
é
usar a ferramenta ODIStartScen e iniciar o mesmo cenário de forma assíncrona (o cenário
é uma versão compilada do pacote mais sobre isso será abordado no seguinte
seção). Uma chamada assíncrona significa que você vai disparar um processo novo e
continuar. Se esta é a sua última etapa, o pacote termina. Se você iniciar o cenário com
versão "-1" você sempre irá executar a versão mais recente desse cenário.

Gerando um cenário de um pacote


O cenário é a versão "compilada" do pacote. Mais precisamente, ele é um congelado
versão do pacote em que o código foi pré-gerada. Apenas a topologia da
informação não tenha sido definida, de modo que ele pode ser actualizada com base no contexto
selecionado em tempo de execução.

[302]

www.it-ebooks.info
Capítulo 10

Para gerar um cenário, clique no nome do pacote na árvore.

Um cenário é constituído por um nome e uma versão. ODI irá incrementar automaticamente
a versão cenário com cada geração cenário do pacote. Você pode,
Claro modificar o número da versão, conforme necessário: se incrementos ODI 1,1-1,2
e você prefere incrementar a 2.0, você pode definitivamente fazer isso, substituindo
o número da versão.

Se você quiser regenerar um cenário e substituir sua definição anterior, você tem
para a direita do mouse sobre o próprio cenário e selecione Cenário regenerar. ODI irá se recusar a
substituir um cenário com o mesmo nome e número da versão se você estiver gerando
do nome do pacote.

Planos de carga
Como vimos até agora, apenas lidar com pacotes de execução serializado. Cada etapa
executado após a anterior e antes do seguinte. Planos de carga trará adicional
funcionalidades que permitam mais avançada orquestração dos processos.

[303]

www.it-ebooks.info
Criar fluxos de trabalho pacotes e planos de carga

Passos serial e paralela


Quando um plano de carga é definido, a primeira operação é definir se as etapas serão executadas
em sequência ou em paralelo. Você pode, obviamente, misturar e combinar serializado e paralelo
ramos, conforme necessário.

No exemplo anterior, irá carregar nosso Cliente dados e nossos Produto dados
Paralelamente, uma vez que não existe uma dependência entre estes dois conjuntos. Cada conjunto
pode ser feita
de vários passos que podem ser, por sua vez, executada de um modo em série ou em paralelo.
Você pode ver aqui que as etapas em cada conjunto são executadas em sequência. Quando ambos
os conjuntos
estão concluídas, nós então processar nossa De vendas dados. Este passo é serializado porque é
dependente tanto do cliente e os dados do produto.

Objetos que podem ser usados em um Plano de


Carga
Os objectos que se seguem podem ser usados em um plano de
carga:
• Cenários
• Interfaces
• Variáveis (em particular para usar como pontos de decisão com um "caso ... quando ..." sintaxe)

Esses objetos podem ser arrastados da Projetos árvore à esquerda diretamente para a carga
Planeja criar um novo passo. No entanto, sempre que um objeto é adicionado a um Plano de Carga,
o que é adicionado é um cenário gerado a partir desse objeto. Se você adicionar uma interface ou um
Variável, ODI irá gerar automaticamente um cenário e adicionar este cenário no
Carregar Plano. Isso significa que se você realizar alterações para o objeto depois de ter sido
adicionado ao Plano de Carga, você terá que quer regenerar o cenário, ou gerar
uma nova versão do cenário e editar o número da versão do plano de carga. Uma maneira
para limitar a quantidade de edições é a utilização de "-1" para o número da versão, a fim de que o plano
de carga
sempre usa a versão mais atual dos cenários.

[304]

www.it-ebooks.info
Capítulo 10

Para modificar a versão de um cenário que será executado em um Plano de Carga, clique no
Carregar passo Plano; uma lupa aparecerá. Clique na lupa para editar
o número da versão.

Você também pode botão direito do mouse em um passo para modificar as suas referências:
regenerar o cenário
que é usado atualmente, ou atualizar a versão do cenário para o mais recente que tem
foi gerada.

Manipulação de exceção
Tratamento de exceções pode ser bastante complexo e há uma necessidade de ir além do que
é oferecido por pacotes. O comportamento padrão em um pacote é reiniciar um pacote
a partir do último ponto de falha. Isso é muito bom em uma execução seqüencial, mas quando
processos começam a invocar outros processos e executar em paralelo, reiniciando um trabalho é a
ser mais complicado. Você quer reiniciar a partir do ponto de falha, ou reiniciar todo o
o passo? Ou talvez todo o ramo?

Planos de carga permitem que você especifique para cada passo que o comportamento deve ser em
caso de
uma exceção.

[305]

www.it-ebooks.info
Criar fluxos de trabalho pacotes e planos de carga

Além de escolher o ponto de reinício, você também pode definir o comportamento ODI em caso de
erro em cada passo.

Conforme mostrado na imagem anterior, o painel de propriedades permite que você escolha para
cada
etapa do Plano de Carga de um Passo exceção para executar em caso de falha. Gerando um
exceção (que impede que o processo) pode ser configurado para Aumentar ou Ignorar. Aumentar
vontade
parar a execução e relatar um erro na janela do operador.
Passos de excepção são definidos na Exceções guia do plano de carga.

Em vez de simplesmente erro fora e esperar que o operador a tomar alguma ação, você pode
desencadear todas as acções necessárias imediatamente, se você quer notificar um operador ou
iniciar um processo de auto-correcção, sob a forma de um cenário ODI.

[306]

www.it-ebooks.info
Capítulo 10

Usando pacotes e planos de carga


Pacotes têm um lugar natural em Planos de Carga: eles podem ser usados para definir complexo
as operações que são executadas na sequência de pacotes e múltiplas podem ser executados
em paralelo dentro de um Plano de Carga.

Planos de carga são "execução" objetos. Eles podem ser criados diretamente na produção
ambiente, se necessário. No entanto, os planos de carga pode ser invocado por pacotes com um
ferramenta chamada OdiStartLoadPlan que é muito semelhante ao da ferramenta utilizada para
iniciar cenários.

Resumo
Neste capítulo, vimos como orquestrar processos em ODI, se é
com pacotes ou planos de carga. Ambas as abordagens oferecem diferentes conjuntos de benefícios,
a partir de
a sofisticação dos processos em pacotes para a flexibilidade dos planos de carga.
Através da combinação de ambos, você será capaz de orquestrar as implementações mais avançadas
para seus projetos de integração de dados.

[307]

www.it-ebooks.info
www.it-ebooks.info
Gestão erro
Se tudo foi desenvolvido e utilizado trabalhou tempo perfeitamente todos e cada um!
Infelizmente, no mundo real, o tema de gerenciamento de erros como descobrir,
diagnosticar e corrigir erros é uma parte fundamental do "business as usual" operações.
É também uma das áreas de conhecimento e habilidade que cresce constantemente com
experiência e familiaridade com um produto ou sistema.

Existem três categorias principais de erros e gerenciamento de erro quando se trata de


ODI, a saber:

• Erros de dados: Estes ocorrem quando nos deparamos com "maus" dados durante
tarefas de integração. Esta área de estudo abrange as tabelas do ODI erro, detectando
e desviando não conformes registros, e corrigir e reciclagem de erro
registros, essencialmente do ODI capacidades de dados básicos de qualidade e
mecanismos.
• Erros de execução: Elas ocorrem quando um ou mais passos de uma interface,
procedimento, pacote, cenário ou não concluir com êxito. Nós já
Passei algum tempo a olhar para os logs de execução em Navigator Operador de ODI
Studio e visto o uso de caminhos de erro na orquestração pacote flui, então
vamos ter apenas uma breve recapitulação aqui.

• Erros operacionais: Estes surgem se um ou mais do nível da plataforma subjacente


ou componentes de infraestrutura encontrar algum tipo de exceção. Esta área
faz parte de gestão e acompanhamento, especialmente a localização e visualização
componente do sistema (por exemplo, ODI agente) arquivos de log e é primariamente
descrita em um capítulo posterior, embora nós vamos cobrir uma visão geral de alto nível aqui.

Então, é a primeira categoria de gestão de erro listado anteriormente que é o foco principal
neste capítulo. Os principais tópicos que vamos cobrir são:

• Detectar e desviar erros de dados no ODI


• Corrigindo e reciclagem dessas erros de dados

www.it-ebooks.info
Gestão erro

Gerenciando erros de dados


Erros de dados no contexto da ODI referem-se a registros que não estejam em conformidade com um
conjunto de chaves,
restrições, referências, e as condições que descrevem os valores, padrões, singularidade,
e relações que necessitam desses dados. Exemplos no contexto de um pedido
Cenário de processamento incluem:
• Uma ordem onde a identificação do cliente é incorreto ou ausente
• Uma ordem em que a identificação do cliente existe e é correto, mas o correspondente
registro do cliente tem uma referência incorreto ou faltando a uma pessoa de vendas ou
parceiro a quem pode pagar comissão como fonte da venda

O que estamos realmente tratando aqui é um nível básico de dados de execução de qualidade.

Detectar e desviar erros de dados


O primeiro passo na gestão de erros de qualquer tipo é o de identificar quando elas surgem e
isolar os seus efeitos. Ao lidar com a qualidade dos dados que normalmente quer dados que
não cumprir as nossas regras de qualidade para ser temporariamente desviado para algum tipo
de manter área (ocasionalmente chamado de "hospital de erro") onde as correções podem ser
aplicado antes de os dados alterados podem ser re-introduzida no meio principal.
Mas, primeiro, precisamos detectar as violações de regras de nossa qualidade.

Qualidade de dados com restrições ODI


Então, como podemos detectar os erros de dados listados anteriormente? Seria preciso especificar o
características de qualidade exigidos dos dados que integram um data mart definindo
ODI restrições das tabelas de destino que preencher. Nós, então, detectar e desviar
os registros não-conformes, certificando-se de que um conhecimento de seleção apropriada
Módulo é especificado na interface realizar a integração de dados e provocar a sua utilização
definindo o FLOW_CONTROL opção do Módulo de Conhecimento de Integração para true.

Se em vez disso, basta adicionar as restrições para o esquema de banco de dados subjacente, o que
que aconteceria? Bem, se não o fizermos engenharia reversa essas restrições para o ODI
modelos para as tabelas do banco de dados alterados, ODI seria ignorar o adicional
requisitos de integridade de dados e iria tentar inserir ou atualizar registros no
tabelas de banco de dados que desencadeiam erros. Esses erros gerados teria sido
erros de banco de dados, o que causaria a inserção inteiro, atualizar ou mesclar banco de dados
instrução falhar. Apenas os passos razoáveis para ODI a tomar quando se recebe um banco de dados
erro são a interromper seu processamento imediatamente e marcar a sessão de acompanhamento
como
ter falhado.

[310]

www.it-ebooks.info
Capítulo 11

Lembre-se que ODI realiza operações baseada em conjunto SQL que


quer ter sucesso ou falha na sua totalidade, ao contrário do convencional
abordagem de linha por linha de processamento, onde a mesma regra pode ser
aplicada, mas no nível de linha, permitindo que a ação apropriada para ser
tomada, mas de forma mais lenta em geral.

O ponto-chave é que mesmo um valor da coluna "ruim" em um registro poderia parar o


conjunto de dados de ser integrado no alvo desejado.

Não é sempre que você quer uma entrada mal digitado em uma ordem para parar a sua completa
vendas de sistema de processamento de ordem em suas trilhas. Então, tomando a abordagem de
adicionar o
restrições no modelo ODI para as tabelas correspondentes, possibilitamos ODI para detectar
que de todos os registros que estão sendo integrados não cumprem com as normas de qualidade,
permitir
todos os outros registos de continuar a ser processada normalmente e apenas desviar o
não-conformes registros em algum tipo de erro do hospital.
Idealmente gostaríamos de ter as regras de qualidade aplicados diretamente no banco de dados
e em ODI, de modo que ainda vemos o comportamento de tratamento de erro de ODI, mas os dados
é protegido contra a corrupção por outros sistemas, aplicações ou acesso directo. Este
pode ser conseguida pela adição de novas restrições às tabelas de base e, em seguida,
repetindo o processo de engenharia reversa para ODI, certificando-se de que o Existente
Datastores está selecionada no Seletiva engenharia reversa guia para permitir
incrementais engenharia reversa.

[311]

www.it-ebooks.info
Gestão erro

No nosso exemplo, como pode ser visto na imagem anterior, seleccionámos o


PURCHASE_ORDER mesa para uma engenharia reversa para o modelo de dados atual.

Incremental engenharia reversa no ODI


Engenharia reversa em ODI é puramente aditivo: se fôssemos cair
uma coluna ou restrição na tabela subjacente, este seria não
ser refletido no modelo ODI da tabela, por isso o cuidado deve ser tomado
quando fazer este curso de ação. (A razão subjacente para não
soltando informações de metadados a partir de um armazenamento de dados é que
um tal
ação pode facilmente quebrar as interfaces que estão actualmente a referência
o armazenamento de dados em questão. Portanto, a exclusão de metadados
existentes
torna-se um processo manual.)
Além disso, se um objeto de banco de dados (restrição, índice, coluna e) tem
foi renomeada desde o momento em que o armazenamento de dados foi modelado,
em seguida, existe um potencial para uma "dobrar" dos elementos de metadados.

Pode haver circunstâncias em que você não pode ter as restrições definidas tanto em
a base de dados e, em ODI. Por exemplo, você pode não ter os privilégios para editar o
metadados do banco de dados. Este é o lugar onde ODI tem uma vantagem restrições porque ODI
são definidos no nível de metadados, assim, em algumas circunstâncias ODI é capaz de impor uma
maior nível de qualidade sobre os dados que o próprio banco de dados.

Existem três tipos de restrições ODI:

• Teclas correspondem a chaves primárias, chaves suplentes, ou índices no


Metadados ODI.

• Referências representam chaves estrangeiras que ligam duas datastores juntos.


• Condições regras de negócios são expressos em SQL que são usados para
validar os dados no armazenamento de dados. É possível definir um erro específico
por mensagem condição. Esta mensagem de erro aparece no erro
tabelas, juntamente com os registros inválidos.

Restrições ODI são criados no nível de armazenamento de dados em Navigator Designer, como você
pode
ver na imagem seguinte.

[312]

www.it-ebooks.info
Capítulo 11

Lembre-se que a adição de novas restrições nos metadados ODI não terá impacto no
subjacente de banco de dados. No caso de você gostaria de refletir as modificações feitas em
ODI no nível de base de dados, é possível gerar um procedimento contendo o DDL
declarações. Isto pode ser feito a partir de um modelo usando o item de menu Gerar DDL.

ODI prefixo da tabela de erro


Vimos como podemos ver os erros que tinham sido desviados a partir da integração
fluxo da interface com o botão direito do mouse sobre o armazenamento de dados no painel de
acordeão no Modelos
ODI Studio e selecionando Controlar |Erros, mas onde estão os erros realmente realizado?
Você pode se lembrar de capítulos anteriores que, quando se configurar os detalhes de topologia
de um esquema físico, há alguns Trabalhar prefixo da tabela campos logo abaixo, onde o
nomes de esquema são especificados.

Como você pode ver na imagem anterior, o prefixo para a tabela que contém
erros é E $ _ e é o prefixo padrão. Portanto, se os erros de dados são detectados por
o CKM ao carregar um CLIENTE tabela na nossa Datamart esquema de dados físicos,
esses erros será desviado para uma tabela chamada E $ _CUSTOMER localizado no ODITEMP
esquema, já que é o nosso nome do esquema escolhido trabalho.

Nós também podemos ver que esses campos não são cinzento (ao contrário do criado
automaticamente
ODI nome do esquema), portanto, se desejar, poderá mudar esses prefixos. Na verdade, há
alguns sistemas e programas que têm problemas para acessar tabelas que incluem
personagens como $em seus nomes. Então, se nós queria usar um desses programas
ou sistemas diretamente para ler os registros de erro de nossas mesas de erro para corrigir os
erros, teria que mudar o prefixo para outra coisa, como ERR_. O ODI
Módulos de conhecimento e ODI ambiente de estúdio pegar esses prefixos internamente
, utilizando métodos de substituição, de modo a mudar um prefixo não deve normalmente danos
Comportamento ODI.

[313]

www.it-ebooks.info
Gestão erro

Esteja ciente de quando se muda prefixos, alguns bancos de dados tem um


comprimento máximo que pode ser usado para nomes de tabelas. Não use
prefixos excessivamente longos ou você pode introduzir inesperada
problemas na operação do ODI.

Conteúdo de uma tabela de erros


ODI tabelas de erro tem uma estrutura que inclui todas as colunas e as definições de
a tabela de dados correspondente com colunas adicionais para gravar informações como
se o erro foi detectado durante o controlo estático ou de fluxo ("S" ou "F" tipos de erro),
a mensagem associada com o erro, a data de verificação, o objeto de origem ODI (o
interface ou cenário que gerou o erro), nome de restrição e tipo (por exemplo,
"FK" para uma referência, "CK" para uma condição), e o número da sessão ODI que detectada
o erro.

Esta informação adicional é utilizada para identificar por ODI linhas de erro que são candidatos
para reciclagem quando uma interface específica ou cenário é executado novamente.

Note-se que a estrutura das tabelas de erro 11g é diferente do


Tabelas de erro 10g, tabelas de erro tão existentes terão de ser reconstruídos para
evitar falhas de execução 11g. Isto pode ser feito automaticamente usando
o UPGRADE_ERROR_TABLE opção dos ckms 11g.

Usando o controle de fluxo e controle de estática


Até agora vimos como usar controle de fluxo não-conformes registros foram
desviado para fora do fluxo de integração antes mesmo de chegar ao armazenamento de dados alvo.
Como
uma alternativa (ou complemento) a esta, a IKM pode ser configurado para ter a CKM
realizar uma estático verificar na tabela de destino completo uma vez que o fluxo de interface
completa
foi integrado o alvo.

[314]

www.it-ebooks.info
Capítulo 11

Isto é especialmente útil se as restrições ODI são mais rigorosos do que os definidos
no banco de dados subjacente e onde uma alteração de dados pode quebrar restrições para
os dados existentes na tabela de destino.

Digamos que temos uma tabela de funcionários com IDs de seus funcionários e uma coluna que
identifica seu gerente através de ID do gerente. Se você tiver uma atualização onde um
identificação do funcionário for alterado (por qualquer motivo), ID do gerente ainda pode ser
válido. No entanto, se eles também conseguiram uma série de outras pessoas, membros de sua equipe
"
registros teria agora um gerente inválido ID, apesar do fato de que esses registros
mesmos não foram alteradas.

Quando utilizado desta maneira, o controlo estático também cria entradas no erro correspondente
tabela para o alvo da interface. No entanto, usando o controle de fluxo significa que estes
registros são desviados antes de chegar à tabela de destino. Controle estático deixa o não-
registros compatíveis na tabela de destino e simplesmente copia as informações do registro em
a tabela de erros. Isto porque ODI não pode ter certeza da origem dos registros e
se sua saída irá causar erros ou falhas a jusante para outros sistemas.

Você pode configurar se você quer uma restrição individual a ser aplicada durante
controlo de fluxo e / ou controle estático seleccionando caixas sobre o Controlar guia de
a definição de restrição em um armazenamento de dados. O seguinte é uma captura de tela do
Controlar guia de uma restrição de onde você pode ver as duas caixas de controle, ou seja,
Fluxo e Estática.

O Controlo síncrono mostrado na secção anterior


tela permite ODI para simplesmente contar o número de registros
que violar a restrição escolhida (que é expresso sob a forma
de um SQL ONDE cláusula) quando o carrapato é clicado. Este tipo de
verificar não adicionar registros para a tabela de erro correspondente. É
também é válido para realizar este tipo de seleção para homogênea simples
condições tais como avaliar a singularidade de uma nova chave, ou as
número de registros que estão fora de um intervalo valor necessário.

[315]

www.it-ebooks.info
Gestão erro

Utilizando os limiares de erro


Enquanto nós, provavelmente, não quer parar um processo de integração de dados devido a uma
pedaço de dados ruins ou ausente, queremos proteger contra as inundações nosso tratamento de erro
sistema, se receber um conjunto de qualidade particularmente pobre ou dados corrompidos. Isto é
especialmente verdadeiro se estamos trabalhando com agências de fora e nós não temos controle
sobre
a geração ou extração dos dados que são necessários para integrar um conjunto de dados
mart ou data warehouse. Por exemplo, a recepção de um conjunto de ordens de 90.000 a partir de um
novo
site parceiro pode parecer um impulso de vendas de boas-vindas na superfície, mas se cada
ID do produto em essas ordens é baseado em codificação única e exclusiva do parceiro
sistema em vez do esquema que nós confiamos em em casa, então nós final mais provável
com 90.000 registros de erro de lidar. Provavelmente seria mais fácil e melhor
a longo prazo para rejeitar o lote inteiro e firme até os nossos termos de nível de serviço com que
parceiro para especificar qual esquema de codificação deve ser usado.

ODI nos permite proteger contra dados de origem invulgarmente baixa qualidade, permitindo que
nos colocar limites sobre o número máximo (ou percentagem) de não-conformidade
registros que vai desviar para a tabela de erro antes de coloca toda a interface
execução em um estado de falha e suspende o processamento da sessão. O
valor limite escolhido para uma interface é definida na Controlar guia de sua definição,
o mesmo lugar onde o CKM para a interface é especificada. Ao selecionar um
valor limite, você pode escolher uma porcentagem ou uma contagem recorde absoluto.
Quando uma porcentagem é indicado, este valor será verificado após o conjunto
de condições foi avaliada. No entanto, quando um número específico for especificado,
em seguida, logo que o número total de erros após cada teste excede o limite,
a execução é interrompida, uma distinção sutil, mas útil quando há grande volume de
dados ou um grande número de cheques a serem executadas.

Como você pode ver na imagem abaixo, o valor limite pode ser definido usando o
O número máximo de erros permitidos no campo Controles painel de uma interface.

Corrigindo erros de dados e reciclagem


Sabemos que podemos definir a diferença entre bons registros e erro, adicionando
restrições. Nós também sabemos que podemos aplicar essas restrições e detectar todos os erros do
registros usando fluxo e / ou controle estático em uma interface. Sabemos, também, onde todos
os registros de erro são armazenadas. Mas o que vamos fazer com eles?

[316]

www.it-ebooks.info
Capítulo 11

O processo de retificação de dados incorretos ou ausentes dependerá numerosas


fatores, incluindo:

• A "apropriação" da fonte de dados, se se trata de uma agência de fora, ou


direta do usuário ou de entrada do cidadão, e você tem o "direito" de mudá-lo

• A natureza do erro de dados, se ele está faltando ou parcialmente corrompidos, tais


como tendo uma letra errada ou dígito), ela pode ser encontrada ou inferidos a partir
noutro local, e assim por diante

• Se o erro é temporário
• Alguns políticos organizacional organizações terão regras, alguns dos quais
pode ser legalmente imposta a eles, ao lidar com correções de dados

Estes pontos, esperamos deixar claro que os mecanismos e processos para


correção de erros formar muito grande um assunto a ser abordado neste livro. De facto, este é um
dessas questões para as quais não há uma única resposta correta.

Também haverá ocasiões em que o erro é apenas temporário e não fazer nada para
o registro de erro é a política correta. Digamos que processar os pedidos de entrada, integrando
dados em vários pontos durante o dia, mas apenas integram os dados do cliente, uma vez por
dia, no início das operações. Estamos muito provável que tenha encomendas que chegam de novo
clientes, onde os dados dos clientes não existe no data mart. No entanto, todos os nós
tem a fazer é esperar até ao dia seguinte, altura em que os dados de clientes novos terão
foi adicionado e então re-processar os dados do pedido, sem mudança.

Este último caso pode ser manuseado automaticamente por ODI configurando o RECYCLE_
ERROS opção de um IKM para TRUE-tão foi na imagem das opções de IKM
no Usando o controle de fluxo e controle de estática secção. Isto simplesmente sinaliza para o GIC
para extrair os dados a partir de ensaios anteriores da interface para fora da mesa de erro para o
alvo de interface e re-inseri-lo no fluxo de integração pouco antes do controle de fluxo
verificações são executadas. Se as restrições são passados com sucesso o segundo (ou posterior)
vez, os dados são integrados no alvo sem qualquer outra intervenção.
Note, no entanto, se qualquer uma das verificações de integridade de dados falhar novamente durante
a próxima
ciclo de integração, os dados ofensivos vai mais uma vez ser desviados para a tabela de erros.

Esta capacidade é também extremamente útil quando se considera um erro global


correção de processo quando se lida com ODI: se corrigir os erros de dados individuais
na tabela de erros (adicionar campos em falta, modificar valores incorretos, e assim por diante) e têm
reciclagem de erro habilitado, então os registos corrigidos serão automaticamente integrados
para o destino desejado em um teste posterior da interface que originalmente detectada
e desviou os erros em primeiro lugar.

[317]

www.it-ebooks.info
Gestão erro

De um modo geral, não é considerada a melhor prática para corrigir


erros de dados apenas por mudanças efetuando aos dados contidos no
tabelas de erro sem também tentar obter o sistema de código (s)
que forneceu os dados originais para fazer correções semelhantes. Para fazer
então significa que os mesmos não conformes dados poderia retornar e
criar os mesmos erros no futuro.

A modificação de erro real pode ser efectuada por um sistema externo, o


importante é que a tabela de erros é actualizado com as modificações.

Existe uma Oracle por exemplo tutorial disponível na Fusão


Middleware seção da Biblioteca Aprendizagem Oracle chamado
"Criar uma ODI Hospital de erro que usa BPEL Humanos
Fluxo de Trabalho "(https://apex.oracle.com/pls/apex/f?p
= 44785:24:3481539500422101 :: NO: 24: P24_CONTENT_
P24_PREV_PAGE ID,: 4350,29) , que mostra o uso de Oracle
SOA Suite para orquestrar a correção e reciclagem de ODI
erros. Embora esse exemplo foi construído usando as versões 10g
de ambos Oracle SOA Suite e ODI, os princípios valem para
as versões 11g de cada produto.

Erros de reciclagem e atualização chaves ODI


Uma breve explicação de parte de um mecanismo utilizado em interfaces ODI com exclusividade
identificar cada registro vai adicionar clareza aqui.

ODI e o GIC seja usada de uma interface deve ser capaz de identificar os registos individuais
ao integrar os dados para um destino, por exemplo, para determinar se o registo vai
resultar em uma inserção de um novo registro ou uma atualização de uma linha existente na tabela de
destino.
Isto é conseguido, certificando-se de uma chave de actualização existe para o armazenamento de
dados destino.
Por padrão, o ODI extrai a informação de atualização da chave do
definição de chave primária de armazenamento de dados no modelo ODI
(originalmente
engenharia reversa do banco de dados subjacente). Se queremos
para adicionar mais colunas para a atualização da chave que poderia alterar o ODI
definição de metadados da restrição de chave primária no alvo
armazenamento de dados. Podemos até ignorar a definição de chave primária
completamente
e escolher uma chave de atualização diferente ou conjunto de colunas sobre o alvo
datastore folha de propriedades da guia de mapeamento da interface.

[318]

www.it-ebooks.info
Capítulo 11

Então, quando se considera que os registros de re-inserir no fluxo de integração, IKM a única
extratos de registros da tabela de erros que foram causados por uma execução anterior de o
mesma interface ou cenário e também garante que os registros de erro reciclados não colidir com
(Que é ter a chave de atualização mesmo) os registros de entrada de armazenamento de dados de
origem.
A prioridade é dada para os registros de origem sobre o erro-registos seria
extremamente irritante e um pouco confuso se você corrigiu a não-conformidade
dados da tabela de origem, re-executado da interface, e ainda os dados de erros anteriores
continuou a substituir os dados de origem recém-corrigidas.

Gerenciando erros de execução


Erros de execução podem ser categorizadas num número de maneiras, mas por uma questão de
simplicidade vamos usar uma matriz simples para dividir entre tempo de design e tempo de
execução
em uma dimensão, e antecipado em relação inesperada na outra, para distinguir
entre as ferramentas e as abordagens que têm mais probabilidade de serem usados em cada
circunstância:

Antecipado Inesperado

Caminho de erro em
ODI pacote ou Navegador operador
Design-Time ODI em Estúdio
cenário

Caminho de erro em
Run-Time Pacote ODI usado ODI Console
para construir cenário

Tratamento de erros esperados


Se podemos antecipar que um erro pode ocorrer, como um servidor de banco de dados estar offline
ou inacessível, então devemos ser capazes de especificar o que deve acontecer no evento
de tal erro. Devemos construir nossos sistemas (pacotes ODI, cenários, ou carga
planos) para lidar com este tipo de erro.

[319]

www.it-ebooks.info
Gestão erro

O mecanismo a utilizar para este no ODI é o erro (KO-ou "não OK") caminho no
ODI editor do pacote. Usando esta técnica nós podemos emitir alertas de e-mails, realizar
investigação automatizado ou actividades de atenuação, e assim por diante.

Um ponto importante a lembrar é que, se a nossa mensagem de erro


processamento é concluído com sucesso (por exemplo, correio o alerta
é enviado corretamente), a sessão será marcada na sessão
registrar como tendo concluído com êxito. Se queremos que a sessão
a ser marcado como tendo falhado, e isso dependerá de cada
política operacional da organização, então vamos ter que forçar a
último passo executado em um pacote (ou seu derivado cenário) falhem.

Causando um erro deliberado benigna com OdiBeep


Um "truque" freqüentemente usado para forçar uma sessão a ser marcada como tendo falhado é
usar
o passo ferramenta OdiBeep como última atividade em um caminho de erro. Esta etapa ferramenta,
encontrado em
o Utilitários categoria no editor de pacote, pode ter um arquivo de som como um parâmetro
valor (usando um FILE = sintaxe) e, normalmente, jogar esse arquivo de som no host
executar o pacote ou cenário.
No entanto, se você deliberadamente especificar um parâmetro incorreto no Comando aba
para o passo, o passo irá falhar na execução sem outros efeitos adversos no sistema
recursos ou dados. É provavelmente o melhor para renomear o pacote passo a refletir a sua intenção.

[320]

www.it-ebooks.info
Capítulo 11

Manuseio inesperados em tempo de design erros


Nós já usamos o Navegador Operador de ODI Studio e vi que quando os dados
os erros ocorrem, em seguida, o indicador de estado de uma sessão de execução é alterado para
mostrar
um símbolo de aviso. Você pode já ter visto o que acontece quando um erro completo é
encontrado ea sessão execução falha:

A imagem anterior mostra uma sessão que falhou. A perfuração para dentro do
passos de sessão e abrindo a etapa sessão falhou revela que a causa é o uso
de um TO_DATE função em um servidor de dados XML fonte (que é o motor em memória).
Isso não é de todo surpreendente, pois o mapeamento que usa essa função deve
ter sido marcado para ser executado na área de preparo, não a fonte, a fonte
não suporta essa sintaxe de mapeamento.

[321]

www.it-ebooks.info
Gestão erro

Investigação de erro mais detalhadas no Operador


Navegador
O que você pode fazer se você tem um erro de menos óbvio? A imagem seguinte mostra
um Símbolo inesperado erro (causada porque propositadamente selecionado o QUANTIDADE
coluna duas vezes):

Clicando sobre o Código guia para o passo revela o código real que foi executado.

[322]

www.it-ebooks.info
Capítulo 11

A mensagem de erro original diz que a falha foi detectada na fonte, de modo que sabemos
para verificar o código para essa seção. Com certeza parece que temos inadvertidamente
arrastou o PURCHASEORDER.QUANTITY coluna do nosso datastore fonte dobro
para o nosso alvo porque tem uma entrada dupla (C6_QUANTITY e C9_QUANTITY) Em
a instrução de seleção.

Isso foi fácil de detectar, mas se algo ainda mais obscuro ocorre você pode
tirar proveito de uma ODI capacidade adicional. Se você clicar no Consulta / Execução
Plano link você verá uma janela de consulta SQL aparecerá, na qual você pode alterar a
código e executar a consulta para detalhar a verdadeira causa de qualquer erro e como
para corrigi-lo.

O plano de execução não pode ser construído para a consulta de exemplo, porque não há uma
sintaxe
de erros que nós já sabíamos! Se fôssemos para remover a segunda referência para o
PURCHASEORDER.QUANTITY coluna e clique em Executar código SQL então veríamos
os registros retornados na seção meio deste diálogo.

Alguns erros podem ser detectados, mesmo antes da execução usando o


nova ODI 11g Simulação recurso no Estúdio ODI. Este recurso
sequencialmente gera todas as instruções SQL que seriam
usado durante uma execução real da interface especificada.

[323]

www.it-ebooks.info
Gestão erro

Se o erro é simples de corrigir no código SQL (como a que aqui), então


lata alterar o código para ser executado diretamente no Código guia, salvar a sessão, e
reinicie a sessão (botão direito do mouse sobre a sessão e escolha Reiniciar). Note-se que esta
só deve ser feito durante o tempo de design de teste de unidade como apenas o código em que
específica
exemplo de sessão é alterado.

Esta abordagem geralmente funciona melhor se não outras sessões foram executados desde o
falha ocorreu. Se as consultas ou sessões para ser reiniciado confiar em tabelas temporárias que
foram criadas no início da execução cenário ou interface, eles vão
necessidade de existir no estado quando ocorreu a falha para o reinício para funcionar corretamente.

Embora ODI fornece esta janela interna do SQL, alguns externo


Ferramentas SQL como o SQL * Plus proporcionar um melhor diagnóstico mensagens-
muitas vezes
destacando a posição do caractere exato onde um erro de sintaxe é
encontrado, portanto, um bom corte de idade e colar entre ferramentas é uma não rara
prática. Note-se que um corte e colagem nem sempre é possível, sem
alguma edição adicional já que o código fonte, neste ponto pode
conter alguns caracteres especiais ou variáveis ODI.

Manipulação de erros de execução inesperados


ODI Console, novo com ODI 11g, é a ferramenta que é a ajuda primária para diagnóstico
durante a execução. ODI Console é um aplicativo baseado na web e que precisa ser implantado
para WebLogic Server para executar. Ele pode ser acessado diretamente ou através da fusão
Elemento de controle de middleware da Oracle Enterprise Manager, que faz parte do
Java EE instalação de ODI 11g.

[324]

www.it-ebooks.info
Capítulo 11

ODI Console é discutido com mais profundidade no próximo capítulo, mas


é útil para ver que ela dá uma vista semelhante da sessão
log de execução como o Navigator Operador em ODI Studio-se bem
sem a capacidade de utilizar a janela SQL / ou a execução de alterar
código de sessão (estamos falando de um ambiente de execução aqui).

O drill-down é um pouco diferente do Navegador Operador em que você destaca


e ver a sessão pai.

Em seguida, no painel do lado direito você rolar para o fundo e clique no link
o passo de sessão desejada.

[325]

www.it-ebooks.info
Gestão erro

Este, por sua vez, irá mostrar uma lista de cada uma das tarefas da etapa de sessão
(rolar para a
fundo novamente).

ODI Console também permite que você reiniciar sessões fracassadas. Isto é o mais provável que seja
de
usar quando tenha havido algum tipo de interrupção temporária de uma fonte-chave ou alvo
recursos. Nestas situações, uma simples reinicialização de a sessão terá sucesso, mas deve
ser usado com cuidado em um ambiente de produção para garantir que os resultados inesperados
não são vistas como uma conseqüência. Um reinício da sessão provavelmente irá ser sujeito a uma
políticas operacionais da organização.

Tratamento de erros operacionais


Esta categoria de manipulação de erro é abordado no próximo capítulo, que é a gestão
e monitoramento. Ela envolve a utilização de controle Fusion Middleware com o ODI
plugin que faz parte dos componentes do Java EE para instalação ODI 11g. Isto permite que o
monitoramento de agentes de execução ODI (ambos autônomo e WebLogic hospedado) e também
a disponibilidade de ambos Mestre e repositórios de trabalho. Existe também um mecanismo para ler
os arquivos de log para os componentes da plataforma várias ODI.

Então ao invés de nos repetir, vamos deixar a discussão deste tema para o
próximo capítulo.

[326]

www.it-ebooks.info
Capítulo 11

Resumo
Neste capítulo, nós discutimos duas das três principais categorias de erro
manuseio, ou seja, erros de dados e erros de execução.

Vimos que a manipulação de dados de erros faz parte de uma política de qualidade dos
dados e
que as regras que regem a qualidade dos dados pode ser imposta através do uso de ODI
restrições, um módulo de Conhecimento de seleção, e quer fluxo ou Static Control
(Ou, na verdade, ambos).
Também orientado através da utilização de reciclagem de erro para demonstrar alguns
das capacidades do ODI 11g que podem ajudar nesta área de actividade.

Nós também uma rápida olhada em alguns dos erros de tempo de design de
diagnóstico
capacidades do ODI que podem vir em muito útil durante o teste de unidade em
um processo de desenvolvimento iterativo.

[327]

www.it-ebooks.info
www.it-ebooks.info
Gerenciando e monitorando
ODI Componentes
Como vimos ao longo do livro, o Oracle Data Integrator é um robusto e
plataforma abrangente para satisfazer a sua integração de dados e orquestração
negócio e requisitos técnicos. Nós vamos agora voltar nosso foco para ODI
gestão e monitoramento, fornecendo para empresas, tarefa
automação e visibilidade rica em seus dados e metadados.

Os conceitos e as tarefas descritas neste capítulo tem três objetivos de aprendizagem:

• Demonstrar os benefícios e as características do built-in Scheduler para ODI


gerenciar e automatizar a execução de cenário

• Examinar os recursos e valor do Gerente de empresa de fusão


Middleware Controle Console integração para ganhar visibilidade na
infra-estrutura de saúde em tempo de execução de nossa solução de integração de
dados, bem como
principais estatísticas operacionais
• Testar o ODI Console aplicação web que fornece dados Lineage
capacidades, para além da capacidade de realizar as funções essenciais da espessura
cliente ODI Estúdio

Agendamento com o Oracle Data Integrator


Nesta seção, ilustramos por exemplo, como o fora da caixa ODI Scheduler
interface de usuário que gerencia cenários são executados em que horário programado. ODI também
fornece uma maneira de monitorar a lista de cenários programados para executar no futuro.
Definições de planejamento apoiar ambas as execuções simples (uma vez) e repetitivos de uma
cenário. Mas você pode perguntar: "E se minha empresa tem padronizado em um terceiro
agendamento de solução para automatizar tarefas dentro do meu ambiente? "

www.it-ebooks.info
Gerir e monitorizar componentes ODI

Não se preocupe, nós concluímos esta seção com uma discussão sobre as opções disponíveis
para integração de soluções existentes Scheduler com ODI para satisfazer a
exigência de execução de cenários ou planos de carga em uma base programada.

Visão global
Oracle Data Integrator satisfaz a necessidade de operações confiáveis e repetíveis
processos, proporcionando um fora da interface do usuário caixa para gestão de agenda
e execução automatizada de Cenários ou planos de carga. Além disso, as operações
pessoal não é fechado em usar a interface de usuário ODI Scheduler para agendamento
Tarefas ODI. ODI oferece várias facilidades para permitir soluções de terceiros agendamento
programar e executar tarefas ODI. Tem uma ODI dissociado Scheduler arquitetura,
separar os dados de programação (Repositório de Trabalho), cronograma de execução (agente) e
uma interface programável (serviços web, linha de comando, e Java API) que permite
de terceiros para gerenciar Agendadores ODI execução da tarefa de tempo de execução.

A figura a seguir ilustra o ODI Agendador de arquitetura:

Usuário
Interface Trabalhar
Repositório
Agendamento
DEV / OracleDIAgent

DEV / OracleDIAgent
Agende Dados

Agente
WebServices
(Programação)
Executar tarefas agendadas
Mestre
Repositório

Antes de se ilustrar a criação de tarefas programadas, é importante compreender


itens que podem e não podem ser programadas, bem como onde gestão de agenda
reside dentro da interface do usuário.

• Quando a execução de tarefas ODI são acionados fora do cliente Estúdio ODI
software, o que o agente executa é uma ODI Cenário ou um Plano de carga

• Ao contrário ODI 10g, onde havia tipos de agente separadas para programação e
não-agendar agentes, ODI 11g tem um e somente um tipo de agente e
apenas acontece de ser capaz de agendar tarefas

[330]

www.it-ebooks.info
Capítulo 12

Como as equipes de projeto desenvolver e validar as interfaces ODI e pacotes durante o


ciclo de desenvolvimento, versões executáveis chamados cenários são produzidos para lançamento
em produção. Os objectos seguintes ODI pode ser convertido em um cenário:

• Interface
• Pacote
• Procedimento
• Variável

Planos de carga são objetos executáveis em ODI, que ajudam os usuários a orquestrar a execução
de cenários, que foram introduzidos em ODI 11.1.1.5.0. Etapas do Plano de carga pode ser executado
em paralelo ou sequencialmente.

A melhor prática para um repositório de trabalho de produção é que os únicos cenários ou carga
Planos estão presentes, mantendo os objetos de origem originários apenas em pré-produção
Repositórios de trabalho. Os benefícios de seguir esse processo de melhores práticas são:

• Elimina mudanças / melhorias que estão sendo feitas diretamente na produção.


ODI Studio não mostrar um mapeamento de interface para uma interface ou ODI
diagrama de um fluxo de trabalho de dados de pacote ao abrir um cenário. Mudanças
para a interface / pacote / procedimento / variável deve ser feita em outro
Trabalhar repositório onde os equivalentes não-execução apenas estão presentes.

• Incentiva o uso de múltiplos ambientes durante uma integração de dados


projeto de ciclo de vida. Para fazer uma alteração no comportamento de tempo de execução
do Cenário
na produção, a alteração deve ser feita em outro ambiente que tem
mais do que apenas versões de tempo de execução implantados para o repositório de
Trabalho.
Automatizando geração Cenário
Você pode estar se perguntando: "Será que eu tenho que gerar um cenário de uma
em um tempo para cada cenário que eu preciso no ambiente de produção? "
A boa notícia é que a resposta é não!

ODI fornece uma ferramenta para automatizar a geração de cenários


chamado OdiGenerateAllScen. Informações adicionais sobre
usando OdiGenerateAllScen pode ser encontrado no produto ODI
documentação em http://docs.oracle.com/cd/E23943_01/
integrate.1111/e12643/appendix_a.htm # CEGFHFIE.

Também é possível gerar ou regenerar Cenários utilizando o


Assistente cenário de geração em ODI Estúdio no projeto ou pasta
níveis dentro Designer.

[331]

www.it-ebooks.info
Gerir e monitorizar componentes ODI

Ilustrando a programação de interface de utilizador de gestão


Para alavancar sua compreensão das capacidades de programação ODI, vamos ilustrar
uma implementação de uma comumente visto exigência de agendamento de integração de dados.

Criação de uma execução programada que irá executar exatamente


uma vez
Nesta ilustração, um "exatamente uma vez" exigência está configurado. A configuração
mapeia para uma carga de dados de uma só vez. Neste exemplo, usamos a carga interface de Vendas
Pessoa
criamos em Capítulo 7, Trabalhando com o Microsoft SQL Server.
1. Nós criamos o cenário de carga Pessoa de vendas da Vendas Pessoa carga
interface em Designer. Nós o botão direito sobre o nome da interface e selecione
Gerar Cenário. Entramos VENDEDOR DE CARGA como cenário como o
nome do cenário e imprensa OK.

2. Então nós expandir o controle de árvore para o Vendas Pessoa carga interface. Vemos
um nó para Cenários em Carregar Pessoa Sales. Verificamos que existe uma entrada
para LOAD_SALES_PERSON_AS_SCENARIO Versão 001 e expandir o
controle de árvore para essa entrada.

3. Nós selecionar e clique direito sobre o Agendamento nó e selecione Agendamento de novo.

4. No Definição guia, fazemos as seguintes seleções:


° Contexto: Global
° Agente: OracleDIAgent
° Sob a Estado região do diálogo da guia dedo, nós fazemos o
seguinte modificação:

• Ativo: Selecionado
° Sob a Execuções região do diálogo da guia dedo, especificar o
os seguintes parâmetros:

• Simples: Selecionado

[332]

www.it-ebooks.info
Capítulo 12

• Data: Nós selecionamos a data de hoje


• Hora: Nós selecionamos um tempo dentro de alguns minutos do presente
tempo

5. Nós selecionamos o Ciclo de Execução guia. Sob a Repetição região, selecionamos


o Nenhum (executado uma vez) botão de rádio. Sem mudanças precisam ser feitas para o
Restrições região do diálogo.

Criando uma execução de repetição programada


Sob a aba de execução do ciclo, podemos também verificar
Muitas vezes para criar uma agenda de repetição. O máximo
número de repetições, bem como o ciclo máximo
duração pode ser especificado neste painel

6. Nós clique no ícone salvar na barra de ferramentas ícone Designer Navigator e verificar
que uma nova entrada programada aparece sob o Agendamento do nó
LOAD_SALES_PERSON_AS_SCENARIO Versão 001 cenário.

7. A entrada de agenda foi definida para o cenário, mas ainda não é visível para
o agente OracleDIAgent. Mudanças no cronograma não têm efeito imediato.
Depois de criar uma programação em ODI Studio, os agentes têm sua programação de tempo de
execução
lista atualizada durante um dos dois eventos:
° Um reinício do agente (parar / iniciar o agente)
° O agente recebe uma solicitação de agendamento de
atualização
8. Nós mudamos a Topologia, selecionando a guia Topologia. Expandimos a
Arquitetura física vista acordeão. Em Agentes, vamos selecionar e
botão direito do mouse sobre o OracleDIAgent agente, selecionando Atualize Agenda em
no menu pop-up.

[333]

www.it-ebooks.info
Gerir e monitorizar componentes ODI

9. Uma caixa de diálogo pop-up aparece. Nós clique no Selecione todos os repositórios de
trabalho
caixa e pressione o Ok botão. Um Informações de diálogo aparece informando
que o Programação de atualização está completo. Clique em OK.

Interrogar
Verdadeiro / Falso
Se você quer parar a execução de um cenário marcado para dia
execuções de executar uma segunda vez, uma maneira de fazer isso é
parar e reiniciar o agente de ODI.

Resposta: Falso. Enquanto a execução diária do cenário faria


não ocorrerá enquanto o agente está parado, tudo previamente definido
programações no início válida e tempos de paragem será recarregado
para o agente e executado por válidos horários programados ocorrendo
após o reinício do agente. Uma forma adequada de parar
execução de um cenário particular, que tem um ou mais futuro
execuções agendadas seria abrir os nós de agendamento
para aquela região Estado cenário e configurá-los para inativa (da
Definição guia). Um indicador vermelho está presente em um nó de programação
que está actualmente definido para inativo:

Usando de terceiros programadores


Podem surgir situações em que o uso não é o built-in ODI 11g Agendador de uma opção
(Empresa-padrão específica agendamento corporativo ou directiva arquitetura). O
capacidade de ODI para integrar com terceiros programadores é um conhecido, entendido e
dirigida requisito. Um programador externo pode utilizar um comando de linha de comando ou
uma interface de serviço web para realizar a tarefa de executar um cenário ou um Plano de Carga.

Capítulo 21, executando processos de integração da Documentação ODI descreve em


detalhe a utilização de uma linha de comando.

[334]

www.it-ebooks.info
Capítulo 12

Impulsionar a sua produtividade: Dicas para entrar cenário remoto


campo nomes de execução

Contexto: Você pode ser tentado a entrar no Nome: do


Contexto de execução no * Contexto campo. Mas o nome do contexto
mostrado na Topologia Navigator é um alias para o código de contexto.
O serviço web quer que o código de contexto, que não pode ser
o mesmo que o texto que você entrou para o Nome: campo quando
criando o contexto no Topologia Navigator. Se você ver um controle remoto
Erro de execução afirmando contexto de execução inválido, vá em
Topologia Navigator, expanda a exibição acordeão Contexto e
abrir e ver o contexto em questão. O campo abaixo do
Nome: campo é o Código: campo-certifique-se de digitar a string
correspondente ao Código de contexto e não o nome do contexto. Enquanto
elas são geralmente o mesmo, eles não têm de ser, e tem sido
observado como uma fonte de erros de execução.

Nome da sessão: Se uma mensagem de erro aparece dizendo que o


ScenarioName não é a causa do erro (encontrado no Trabalho
repositório), para verificar o uso correto do "_" personagem bastante
do que um espaço em branco.

Versão cenário: Se você receber uma mensagem de erro informando que a


versão
não existe no repositório de Trabalho, digite um número de três dígitos
em vez de truncar zeros, ou seja, 001, em vez de 1.
As entradas alternativas de 1, 01 e 0001, todos resultam em um erro.

OdiUser: Não confunda o Controle Fusion Middleware


Consolar com o ID de usuário OdiUser.

Fusion Middleware console de controle


Capacidades de gestão e de acompanhamento são necessárias para praticamente todos empresa
software projetos de classe. Além disso, os requisitos de controlo tornaram-se cada vez mais
importante para as empresas de todos os tamanhos.

ODI aborda os requisitos de gerenciamento e monitoramento através da integração com


Enterprise Manager Console de controle Fusion Middleware (FMCC). O FMCC
fornece visibilidade atual para a saúde e chave de desempenho e métricas de atividades
para o Agente ODI mestre e Trabalho repositórios e integração com o ODI
Consolar aplicação web.

[335]

www.it-ebooks.info
Gerir e monitorizar componentes ODI

Tomando uma abordagem prática para a FMCC, os seguintes recursos e FMCC


capacidades são ilustrados nesta seção:

• Ilustrar como iniciar e acessar a gestão diversificada e rica e


capacidades de monitoramento para um domínio ODI

• Examinar os relatórios sobre a saúde, desempenho e métricas-chave de actividade do


ODI runtime agente (s)

• Definir uma vez, controlar, e reconfigurar qualquer lugar


• Examine o registro do ODI visibilidade arquivos e gestão no FMCC

Lançamento e acessar o FMCC


A página de destino padrão do aplicativo FMCC pode ser acessado digitando
o URL http:// <WebLogic do host: porta / em em um navegador da web. O FMCC
página de destino pode ser usado para identificar rapidamente o estado de saúde (up / down) da
Implantações de aplicativos (Incluindo o agente JEE ODI), WebLogic domínio e
Infra-estrutura de ODI. Na navegação de exibição em árvore à esquerda, em Aplicação
Implantações, é uma ligação seleccionável para oraclediagent-o agente implantado
aplicação em WebLogic. Quando selecionado, a página Agente mostra tudo o que você
quero saber sobre o Agente JEE runtime saúde, métricas de atividades, e publicado
serviços web a partir do agente (OdiInvoke), bem como uma capacidade conveniente
gerar invocações de teste Web Service para OdiInvoke. Mais importante, a ODI
componentes de infra-estrutura são listados na pasta ODI incluindo Mestre
Repositório sob ODI com links para acessar os repositórios de trabalho e os diversos
agentes autônomos ou JEE implantado.

Domínio
A página de domínio com o nome aparece depois de clicar sobre a entrada sob domínio chamado
o WebLogic Domain pasta no Fusion Middleware região do FMCC
tela de pouso. Imediata e fácil de localizar informações sobre a saúde do administrador
métricas de desempenho do servidor e do núcleo são fornecidos, assim como informações sobre
Clusters
e Implantações de aplicativos.

Tarefas administrativas disponíveis na página de domínio estão disponíveis, selecionando o


WebLogic Domínio botão menu localizado no canto superior esquerdo. As tarefas administrativas que
pode ser realizada na aplicação web FMCC diretamente do Weblogic Domínio
drop-down no canto superior esquerdo da página de domínio incluem:

• Iniciando-se ou desligar o Domínio


• Porto resumo de utilização

[336]

www.it-ebooks.info
Capítulo 12

• A capacidade de implantar / undeploy / reimplantar um aplicativo


• Manter as credenciais de segurança / políticas / funções
• Manter fontes JDBC

O percentual de uptime, status atual e porta de escuta do administrador do servidor WebLogic


são prontamente aparentes.

É possível se aprofundar em uma implementação do agente ODI JEE, clicando em seu link
(Tais como oraclediagent por padrão), sob Implantações de aplicativos e dê uma olhada
a informações e ações disponíveis ao usar FMCC para monitorar e gerenciar
um agente.

Agente
O agente está no coração da arquitetura ODI, desempenhando os papéis principais de um maestro
e maestro movimentação de dados entre fontes de dados e metas e acabamento
a geração de código ODI. Enquanto o agente ODI não é um processo intensivo de CPU,
disponibilidade latência da rede, entre o agente, fontes e de destino, os sistemas, tal como
bem como sistema razoável e volumes de carga do agente, são fundamentais para o sucesso.

De interesse imediato na página implantado agente JEE são Pedidos (por minuto),
Tempo pedido de Processamento (ms), e disponíveis Web Services (OdiInvoke) com um
acompanhante Teste botão para testar o serviço web.

[337]

www.it-ebooks.info
Gerir e monitorizar componentes ODI

Iniciar e parar
Além disso, o utilizador tem controlo de Start Up e Desligar o Agente de
seleccionando o Implantação de aplicativos drop-down na parte superior esquerda
e seleccionando Controlar.

Resumo do desempenho
Para exibir uma visualização gráfica do Agente de estatísticas de resumo de desempenho
pelo tempo, selecione Implantação de aplicativos em oraclediagent, e selecione
Resumo do Desempenho.

[338]

www.it-ebooks.info
Capítulo 12

A duração do Resumo do Desempenho gráfico pode ser aumentada ou diminuída pela


seleccionando o - / + zoom símbolos no canto superior direito.

Acesse a visibilidade do arquivo e agregação


Operador ODI pode ter ambas as visões em tempo real e históricos consolidados sobre múltipla
arquivos de log de interesse usando o Fusion Middleware console de controle. O novo
visualizador de arquivos de log consolidada pode acessar qualquer aplicação web JEE implantado
agente,
WebLogic Server, ODI Console aplicação web, e no log de aplicativos web FMCC
se entre outros. Esta visão consolidada log pode ajudar a solucionar problemas facilmente.

Visibilidade
Ao visualizar o Domínio Weblogic ou AdminServer entradas, o usuário pode visualizar
e busca de mensagens de log, selecionando o Logs | Ver mensagens de log entrada da
WebLogic Application Server cair no canto superior esquerdo da tela. Adicional e
pesquisas mais abrangentes também pode ser feita selecionando Alvo ampliar
Escopo que proporciona a capacidade de visualizar, pesquisar e exportação de pesquisa de arquivo
resultante log
resultar mensagens para um arquivo. Selecionando Ampliar escopo de destino oferece uma navegação
ponto de entrada para arquivo de log consolidada a visualização e procura através das hierarquias de
ativos gerenciáveis na vista esquerda árvore. Registos consolidados também pode ser visto
selecionando o Fazenda cair para baixo e selecionando Logs |Ver mensagens de log.

[339]

www.it-ebooks.info
Gerir e monitorizar componentes ODI

Agregação
Ao selecionar o Fazenda |Ver mensagens de log, ou selecionando Ampliar escopo de destino
de outra página arquivo de exibição de registro dentro FMCC, a pesquisa do usuário configurável
página de log
interface é apresentada com um conjunto completo de ficheiros para escolher a partir de quando
realizar
sua pesquisa.

Ao pressionar o Pesquisar botão, a configuração de registro padrão é executado


para as metas.

[340]

www.it-ebooks.info
Capítulo 12

A capacidade de pesquisas em muitos agregados Arquivos de log-alvo melhora grandemente a


Produtividade dos usuários ODI. Não é apenas a expansão do Alvos selecionados útil para
garantir as entradas adequadas são selecionados, o diálogo expandida também tem uma muito maior
utilidade, por si só. Aqui temos uma pista bem conhecida para visualizar a lista de
localizações no disco para todo o relevante ODI Alvos selecionados sobre uma dada instalação.
Arquivos de log inteiro também pode ser visto no FMCC.

Visibilidade repositório
O FMCC também fornece visibilidade valiosa e produtiva para os dados dentro do
ODI Mestre e repositórios de trabalho. De saúde de agentes destacados para Sessão
estatísticas, os usuários FMCC libera ODI de ter que criar uma custom-off soluções
para monitorar a saúde de seus agentes e ter que trazer ODI Studio e
Navegador operador visualizar os resultados de uma sessão. O FMCC fornece visibilidade
nos principais ativos físicos da solução-os ODI agentes. Além disso, dado um agente,
os usuários podem agora ver as execuções de carga Planos e informações de resumo da sessão.

Estatísticas de sessão
Resumo e estatísticas Sessão detalhadas estão disponíveis no FMCC. Além disso, um
bem pensado capacidade para pesquisar o conteúdo da história da sessão está disponível.
Para chegar ao diálogo de pesquisa Sessão estatísticas, siga os passos indicados:

1. Selecionar MESTRE REPOSITÓRIO na pasta ODI Farm:

2. Do Mestre Repositório drop-down, selecione Sessões de busca

[341]

www.it-ebooks.info
Gerir e monitorizar componentes ODI

3. Digite os seus critérios de pesquisa e pressione Pesquisar ou simplesmente pressione


Pesquisar para
ver toda a história a Sessão.

Para visualizar os detalhes de um registro da sessão, clique sobre o número da sessão específica
no
primeira coluna (Session Número) e os detalhes da sessão aparecer.

Oracle Data Integrator Console


Oracle Data Integrator Console fornece capacidades de gerenciamento remoto da chave
ODI componentes e objetos. Mas ODI Console vai além da funcionalidade
oferecido em ODI Studio em duas áreas importantes: Dados linhagem e Mapa de Fluxo.
Tomando uma abordagem prática para a FMCC, as seguintes características ODI Console
e capacidades são ilustrados nesta seção:

• Como lançar e acessar ODI Console


• Lineage dados
• Mapas de fluxo

[342]

www.it-ebooks.info
Capítulo 12

Lançamento e acessar ODI Console


O ODI aplicação web Console é implantado em um servidor de aplicativos WebLogic
e sua página de destino padrão pode ser acessada digitando o URL associado com
a raiz de contexto da aplicação web ODI Console. Para iniciar ODI Console,
siga os passos:

1. Abra um navegador e digite http://myhost:port/odiconsole.


2. Selecione o repositório que você deseja se conectar a partir do Repositório cair.
3. Digite o Id de usuário e Senha credenciais para o repositório e clique em
Entrar.

Lineage dados
Linhagem de dados oferece a capacidade de olhar para uma extremidade à outra vista dos fluxos de
dados
a partir de um ponto de vista de armazenamento de dados específico. Estes pontos de vista
atravessar o modelo tradicional
e pontos de vista de interface oferecido em Designer. Lineage dados também oferece ao usuário
final
aprofundar capacidades, bem como a capacidade de facilmente e avaliar com precisão o impacto.
Para1.acessar
ODI lançar Console em linhagem
a funcionalidade seu navegador.
de dados, siga os passos indicados:
2. Entrar usando o repositório de trabalho adequado.
3. Com o Procurar guia selecionada, o usuário pode clicar no ícone de expansão para
esquerda do Tempo de Design, e, em seguida, clique no ícone de expansão para a
esquerda
de Modelos. Aqui vemos tanto Mapa de Fluxo e nós linhagem de dados.
4. Clique em Lineage dados para realçar a entrada, então mover-se para selecionar o
Ver ícone na Procurar barra de ferramentas ícone guia. A Lineage dados guia aparecerá
no espaço de trabalho de diálogo com guias no lado direito da interface do usuário.

O ícone da tela é a que parece um par de óculos de sol.

No Opções região, você terá de escolher:

° Modelo
° Sub-modelo e
° Datastore

[343]

www.it-ebooks.info
Gerir e monitorizar componentes ODI

5. Opções adicionais, tais como a capacidade de exibir Interfaces no Linhagem


gráfico também estão disponíveis

6. Como o número de fontes, modelos, interfaces, pacotes e aumento alvos


ao longo do tempo, tendo a função de relatório de dados Lineage produzir variando
granularidade de diagramas detalhados que mostram a nossa solução de integração de dados
relacionamentos e dependências é de valor inestimável para rápida e produtiva
entender o como-é a solução e realizar análise de impacto.

[344]

www.it-ebooks.info
Capítulo 12

7. Pressione Ver para ver a linhagem de dados:

[345]

www.it-ebooks.info
Gerir e monitorizar componentes ODI

O diagrama resultante oferece a possibilidade de incluir um número de opcional


itens de conteúdo nos relatórios de dados, incluindo Lineage Interfaces, esquema lógico,
e Modelo nomes.

Clique em Mostrar Interfaces para exibir as interfaces na figura. Capacidades de detalhamento


dentro dos dados de relatórios Lineage também são suportados.

Mapa de Fluxo
Onde linhagem de dados está focada em fornecer visibilidade sobre os relacionamentos,
dependências, e fluxo de dados de ou para um armazenamento de dados único, o recurso Mapa de
Fluxo é
Modelo-centric e de âmbito mais abrangente, relatando principais construções adicionais ODI
bem como a variação da granularidade de detalhes dos relatórios Model-centric de dependência.
Granularidade de pormenor nos relatórios de fluxo mapa gráfico pode ser controlada por:

• Restringindo dependências relatados para apenas determinados projectos ODI


• Adaptando a granularidade de detalhe do mapa de fluxo, selecionando um item
a partir de cada um dos seguintes dois grupos:

° Modelos, sub-modelos, ou DataStores


° Projetos, pasta, pacotes, ou interfaces

[346]

www.it-ebooks.info
Capítulo 12

Um mapa de fluxo que representa a relação entre os objetos armazenamento de dados e interface
para apenas um projeto ou dois é semelhante a um relatório de linhagem de dados que inclui
interfaces,
mas pode refletir mais de um armazenamento de dados. A capacidade de drill down em modelos,
Projetos e interfaces é semelhante aos relatórios de dados de linhagem, embora cada objeto ODI
tipo tem sua própria representação das informações apresentadas na broca para baixo.

Resumo
Gestão e monitoramento são dois críticos requisitos não-funcionais para uma
empresa aplicação de classe. Conforme ilustrado neste capítulo, o Oracle Data Integrator
fornece recursos fundamentais nestas áreas. Você agora deve ser mais experiente
e confortável usando os recursos de gerenciamento e monitoramento de ODI.

Neste capítulo, examinamos os seguintes tópicos:

• Programação de execução e ODI, incluindo como visualizar e usar o built-in


ODI Scheduler para criar um tempo de tarefas de integração e recorrentes de dados.
As opções para a integração com terceiros programadores também foi coberto
em detalhe.

• Um profundo olhar como iniciar e usar o Oracle Fusion Middleware


Console para controlar a visibilidade da saúde, status e chave de desempenho
estatísticas de tempo de execução da infra-estrutura Oracle Data Integrator.

• Aprender a lançar o novo Oracle Data Integrator Web Console


aplicação e aprender a usar tanto a linhagem de dados e fluxo
Mapa apresenta-características que podem melhorar dramaticamente a produtividade
de desenvolvedores, testadores e analistas de negócios em sua integração de dados
equipes de projeto.

[347]

www.it-ebooks.info
www.it-ebooks.info
Observações finais
Parabéns! Se você passou por diferentes capítulos, você está bem
em seu caminho para se tornar uma produtiva Oracle Data Integrator desenvolvedor e
integração de dados membro da equipe do projeto. ODI é um dos mais abrangente
e populares produtos de integração de dados do setor, de modo que você adicionou um
na demanda de entrada para o seu portfólio conjunto de habilidades e currículo.

Ao investir seu tempo neste livro, você se tornou bem versado e proficiente
em usar o Studio ODI e funcionalidades do agente e ganharam valiosa
experiência em criação de mapeamentos de integração de dados e fluxos de trabalho. Os autores da
este livro tem dezenas de anos de experiência acumulada trabalhando com a Oracle
Data Integrator em uma base diária, ajudando a evitar alguns dos freqüentes
solavancos ao longo da estrada quando a primeira aprendizagem do produto, oferecendo um generoso
número de sugestões e dicas dentro dos vários capítulos. Nosso objetivo não era simplesmente
fornecer uma compreensão superficial ou introdutória do ODI, mas sim para dar-lhe um
alavancar a produtividade, assim como seu primeiro projeto de integração de dados começa. Você
agora o conhecimento de trabalhar com Oracle, Microsoft SQL Server, MySQL,
arquivos simples, e arquivos XML, como ambas as fontes e metas, bem como a utilização todos os
diferentes objetos ODI e conceitos. Finalmente, você deve ter desenvolvido a confiança
em trabalhar com o projeto de integração de dados aspectos-de definir fontes e
metas, a criação de mapeamentos e fluxos de trabalho de dados, para testes de agente de execução,
resolução de problemas, gestão, acompanhamento, linhagem de dados e análise de impacto.

Então, o que é o próximo? Nossa primeira recomendação é fica hands-on com o Oracle Data
Integrator o mais cedo possível e começar a usá-lo com frequência. Outras fontes de material
para ajudar a interiorizar o Oracle Data Integrator e conceitos de integração de dados são:

• O fórum do produto ODI no Oracle Technology Network ( http://forums.


oracle.com / fóruns / forum.jspa? forumID = 374)

• My Oracle Support (https://support.oracle.com/), Que fornece uma


extensa base de conhecimento sobre o Oracle Data Integrator

www.it-ebooks.info
Observações finais

• Blog da Oracle Data Integration (http://blogs.oracle.com/


dataintegration /)

• Um casal de blogs que cobrem ODI: Quociente de BI (http://www.business-


inteligência quotient.com /), Mais vida para além deste (http://john-
goodwin.blogspot.com /Especialistas), e ODI (http://www.odiexperts.com/)

• Oracle University (http://education.oracle.com-Olhar sob


Treinamento de middleware depois Integração de Dados)

• Devemos também mencionar vários livros de Packt Publishing que encontramos


são muitas vezes complementares ao trabalhar com clientes em seus dados
iniciativas de integração, incluindo Oracle SQL Developer 2.1, Oracle GoldenGate
Guia de 11g implementador, e Começando com o Oracle SOA Suite 11g R1 - A
Hands-On Tutorial

Finalmente, vale a pena repetir alguns dos temas mencionados no livro. Use ODI
mais de home-grown SQL codificação para o seu enriquecimento de transferência de dados e de dados
e
transformação atividades, deixe-os módulos de conhecimento ODI fazer o trabalho pesado
SQL geração de trabalho para você. Agora você tem o conhecimento e confiança para
"Dizer não" à abordagem padrão muitas vezes visto de manuais implementações de codificação.
Considere usar o Oracle Data Integrator e Oracle GoldenGate juntos quando
acesso em tempo real de dados de uma fonte de dados relacional é requerido. Para os casos em que
a quantidade de dados em tempo real é menor e as mudanças são inerentemente orientada a eventos,
considerar Serviços ODI de dados para fornecer em tempo real e integração de dados compartilhada
acesso remoto à sua fonte de dados de verdade em seus modelos de alvo. Por fim, tem o seu
SOA negócios em massa delegado processos e operações de grandes quantidades de dados para o
Oracle Data
Integrator através de serviços web.

Construir suas habilidades e carreira com confiança e coragem com o Oracle Data Integrator.

[350]

www.it-ebooks.info
Índice
A Console 24, 25
Contextos
additional_path.txt arquivo 184 definição de 93
Agente Módulos de controle de Conhecimento (CKM) 29
cerca de 337 controles, interfaces de 34
resumo do desempenho 338, 339 engenharia reversa personalizado 102
partida 338
parando 338
agregação 340, 341 D
anatomia fluxo de interface,
banco de dados e arquivo de banco de dados 105-108 bases de dados
examinar 105 trabalhando com 127
arquivo e banco de dados para o segundo arquivo 108,erros de dados
109 cerca de 309
arquivo para aplicações corporativas 110, 111 corrigindo 316-318
erros previstos, erros de execução detectar 310
gestão desvio de 310
erro benigno deliberada, causando gestão 310
com OdiBeep 320 regras de qualidade de violação, detectando 310
manipulação 319 reciclagem 316, 318
gestão de dados de erros
cerca de 310
dados de qualidade, com restrições ODI 310-312
erros, reciclagem de 318, 319
B limiares de erro, utilizando 316
controle de fluxo, utilizando 314
BCP 22 ODI tabela de erros conteúdo 314
Quociente de BI ODI tabela de erros prefixo 313
URL 350 Chaves ODI atualização, reciclagem de 318, 319
controle estático, utilizando 315
Dados fluxo logístico 130
C Lineage dados
cerca de 343
CDC ferramentas 299
acesso 343, 344
Change Data Capture. Ver CDC ferramentas
opção de caixa tipo 118
Verifique Módulos de Conhecimento (ckms) 113
mapeamentos de coluna, dados de produtos 181
componentes, ODI. Ver ODI componentes

www.it-ebooks.info
interface de dados Load_Customer, ordens de execução, ODI agente
movimento, ODI interface usada 148-164 execução a partir de linha de comando 23
topologia de dados, interface Load_Customer execução a partir do console 23
construção de 131 execução de Studio 23
criação de 132-140 execução de serviço de web 23
projeto declarativa 31 execução repositório 17
declarar 297 variáveis Editor de Expressão 224
Definição dedo guia-88 Extensible Markup Language. Ver XML
descrições, interfaces de 31
designer de navegador, ODI Studio 21

F
E FILE_GENERIC 94, 95
operações de arquivo 299
ELT arquitetura arquivar engenharia reversa 103, 104
principais diferenças 13 plana arquivo de integração de dados
Enterprise Manager Fusion Middleware cerca de 239
Controle de integração Console 329 mapeamento de 242
ETL ferramentas 11 alvo parceiro de dados 241
avaliar 297 variáveis parceiro interface de fluxo logístico 242
detecção de eventos 299 fonte 242
manipulação de exceção, Carga Planos 305, 306 passo-a-passo exemplo 243
execução arquivos simples
utilizando, no MySQL 200 arquivo de dados, integrando em Oracle tabela 241
execução, verificando com Operador pré-requisitos 240
Navegador alcance 240
Carregar Vendas interface de Pessoa, a execução de 232 Visão Geral da Tarefa 240
Vendas de carga resultados Pessoa, trabalhando com 240
examinar 233-235 Mapa fluxo 346, 347
Vendas de carga resultados Pessoa, fluxos, interfaces de 32, 33
verificar 233-235 Guia Fluxo, interfaces ODI 123, 124
Carregar os resultados da região de vendas, examinandoFMCC
236 cerca de 335
Carregar os resultados da região de vendas, verificando acessando 336
236 Agente 337
contextos de execução Domínio página 336, 337
cerca de 27 Características 336
revisão de 27, 28 lançamento 336
erros de execução registrar a visibilidade do arquivo 339
cerca de 309 repositório de visibilidade 341
gestão 319 Fusion Middleware Controle Console. Ver
gestão de erros de execução FMCC
cerca de 319
erros esperados, manuseio 319
inesperados em tempo de design erros,
manipulação 321
inesperados erros de execução,
manipulação 324-326

H
Hypersonic SQL 16

[352]

www.it-ebooks.info
Eu K
IBM/DB2 (UWL e iSeries) 16 conceitos-chave, ODI. Ver Conceitos-chave ODI
IKM Teradata para Arquivo (TTU) 29 Opções KM
modos de instalação, ODI 11g Tipo de caixa 118
criação do Estúdio ODI 37 opção texto digitado 118
A Oracle Repositório Criação Utility (RCU) opção de valor digitado 118
instalação 37 Módulo objetivos de conhecimento. Ver
Conhecimento de integração objetivos Módulo Conhecimento (KM)
Módulo (GIC) 29, 32, 107 Módulos de Conhecimento (KM)
integração mapeamentos 129 cerca de 29, 108
integrações de dados 213 comportamento, configurando-o com KM
integração fonte 129 opções 117-119
alvo integração 128 Verifique Módulos de Conhecimento (ckms) 113
interfaces de Definição dedo guia-115
cerca de 31, 112 Texto de descrição 115
controles 34 Detalhes dedo guia-116
31 descrições importação 112-115
flui 32 Módulo de Conhecimento Integração (GIC) 107
mapeamentos de 31 Módulos de diário de Conhecimento
Internet 299 (JKMs) 113
dados de inventário Carregando módulos Conhecimento (LKMs) 107
cerca de 182 A tecnologia multi-IKM 112
integração de 182 objetivos 28
inventário mapeamentos 182 Resumo 115-117
fontes de inventário 182 selecção 112, 113
inventário alvo 182 Serviço módulos de conhecimento (SGCS) 113
movendo 201-208 IKM única tecnologia 112
inventário de logística de fluxo de interface 183 tipos 29
mapeamentos de inventário, os dados do inventário 182Módulo tipos de conhecimento
CKM 29
IKM 29
JKM 29
LKM 29
RKM 29
SKM 29

J
Driver JDBC 177
JDBC dedo-guia 89
JEE agente
cerca de 22
22 benefícios
JEE Agente aplicação web 339 L
Conhecimento Journalization
Módulo (JKM) 29 ciclo de gestão,
Módulos de diário de Conhecimento ODI repositório 18, 19
(JKMs) 113 Arquivo LKM para o Oracle 29
JRockit JDK 1.6.0_24 67 Interface Load_Customer
construção de 131
execução, verificando com Operador
Navegador 165-175

[353]

www.it-ebooks.info
Interface Load_Customer edifício, metadados do modelo, interface Load_Customer
dados, móveis usando ODI interface de 148-164 verso engenharia 141-148
dados de topologia, edifício 131 modelos, ODI
metadados do modelo, engenharia reversa-141 cerca de 30
Carregando módulos de conhecimento diagramas 30
(LKMs) 29, 32, 107 diagramas, benefícios 30
Planos de carga metadados, a importação de 30
cerca de 82, 303, 330 submodelos, criando 30
manipulação de exceção 305, 306 Multiload 22
objetos, usados 304, 305 My Oracle Support
medidas paralelas 304 URL 349
passos de série 304 MySQL
utilizando 307 cerca de 178
Carga interface de Vendas Pessoa vantagens 178
criando 221, 222 177 benefícios
execução de 232 desvantagens 178
Carga mapeamento Vendas Pessoa download de 179
a criação de 223 instalação de 179
Carga resultados de vendas Pessoa dados de produtos, integrando 180, 181
examinar 233 de produtos de interface logística de fluxo de 181
verificação de 233 utilizando, com 183 ODI
Carga de interface de vendas da região trabalhando com 178, 179
criando 229-232 MySQL driver JDBC
Vendas de carga resultados Região adicionando 184, 185
examinar 236 MySQL, usando com ODI
verificação de 236 execução, utilizando 184, 199-201
Local_as_prodsystem nó 187 dados de inventário, 184, 201-208 movimento
registrar a visibilidade do arquivo 339 MySQL driver JDBC, acrescentando 183-185
Esquemas lógicos dados do produto, 184 movendo, 190-196
definição de 92, 93 engenharia reversa revisitado 184, 188-190
simulação, utilizando 184, 197
topologia, expandindo 183-185

M
mapeamentos, interfaces de 31, 32 N
guia de mapeamento, ODI interfaces de
cerca de 121, 122 navegadores, ODI Estúdio
DBMS Agregue 122 designer de navegador 21
DBMS Função 122 operador navegador 22
mapeamentos de campo 122 de segurança do navegador 20
Valor fixo ou constante 122 topologia navegador 20
Coluna fonte 122 banco de dados não-tecnologias
mestre repositório 16 cerca de 94
metadados 101, 300 FILE_GENERIC 94, 95
ferramentas de metadados 300 Arquivos XML, a manipulação 95-100
Microsoft SQL Server 16 NZload 22

[354]

www.it-ebooks.info
O ODI aborda a gestão 335
ODI agente
objetivos Módulo Conhecimento (KM) cerca de 22
personalizações, permitindo 28 ordens de execução 23
melhores práticas de integração, englobando 28 JEE agente 22
produtividade, melhorando 28 agente autônomo 22
ODI tipos 22
Contextos, definindo 93 ODIC
bases de dados 127 cerca de 342
erros de dados 309 acessando 343
gestão de erro 309 Dados Lineage 343-346
erros de execução 309 Mapa fluxo 346, 347
flat-arquivo de integração de dados 239 lançamento 343
Planos de carga 303 ODI componentes
Esquemas lógicos, definindo 92, 93 cerca de 13
MySQL, usando com 183 Agentes 14
banco de dados tecnologias de não-94 Console 14
erros operacionais 309 repositório 13
visão geral 330 Studio 13
pacotes de 295 ODI Console aplicação web 339
físicos servidores de dados, definição de 86-89 cerca de 329
Esquemas físicas, definindo 90 Restrições ODI
instalação do produto 35 condições 312
engenharia reversa de metadados 100 312 chaves
agendamento com 329, 330 referências 312
SQL Server 2008, trabalhando com 211 ODI ELT arquitetura 12
de terceiros programadores, utilizando 334 ODI tabela de erros conteúdo 314
Topologia Navigator 86 ODI tabela de erros prefixo 313
variáveis 71 Especialistas ODI
variáveis, definindo 71 URL 350
OdiGenerateAllScen 331
variáveis, utilizando para alterar os fluxos de trabalho 80
variáveis, utilizando para dinâmico Interfaces ODI
informações 74 examinar 119
Arquivos XML, trabalhando com 268 Guia Fluxo de 123, 124
ODI 11g Guia Mapeamento de 121, 122
cerca de 263 Guia Visão Geral 120
configuração, para o uso do MySQL 179 Quick-guia Editar 125
instalação de 37 ODI driver JDBC, XML para
pós-instalação 69 cerca de 265
ODI instalação 11g conceitos básicos 265-268
cerca de 37 ODI JEE agente de implantação 337
modos de instalação 37 Conceitos-chave ODI
ODI agente, instalando 50-66 cerca de 26
ODI Studio, instalando 50-66 contextos de execução 27
ODI Studio, 67 de partida, 68 interfaces de 31
repositório, criando com RCU 38-50 Módulo de Conhecimento 28

[355]

www.it-ebooks.info
30 modelos erros operacionais
pacotes de 34 cerca de 309
34 cenários manipulação 326
ODI Objetos 300 Navegador operador
ODI produto arquitetura cerca de 232
cerca de 13 utilizado, para verificar a execução 232
componentes 13 utilizado, para verificar Load_Customer
representação esquemática 14 interface de execução 165-175
ODI produto fórum operador de navegador, ODI Estúdio 22
URL 349 A Oracle 16
ODI repositório Blog da Oracle Data Integration
cerca de 15 URL 350
criar, com RCU 38-50 Oracle Data Integrator Console. Ver ODIC
execução repositório 17 oraclediagent 23
ciclo de vida do gerenciamento de 18, 19 Oracle Enterprise Manager 26
posição 16 Oracle Enterprise Plugin Gerente de 14
mestre repositório 16 Oracle Technology Network
visão geral 15 ODI fórum do produto, URL 349
tipos 18 Oracle Universal Installer
trabalhar repositório 17 pré-requisitos 36
ODI Cenário 330 Oracle University
ODI Scheduler 329 URL 350
ODI Agendador de arquitetura out-of-the-box KMs 30
representação esquemática 330 guia Visão Geral, interfaces ODI 120
ODI Programador de interface de usuário 330
Horários ODI 23
ODI Estúdio
cerca de 19
navegantes 20
pré-requisitos 36
começando 67, 68 P
ODI ferramentas
cerca de 299 pacotes
adição, a embalagem 300 cerca de 34, 295
Categorias 299 criando 295, 296
Change Data Capture (CDC) 299 º 302 loop infinito
Internet 299 repetir contra falhar 301
metadados 299 cenário, gerando a partir de 302, 303
ODI Objetos 299 passos, adicionando 297, 298
plugins 299 ferramentas, adicionando 299
utilizando 300, 301 utilizando 307
Ferramentas ODI, categorias Integração de dados sócio, arquivo simples
detecção de eventos 299 exemplo de integração de dados
SAP 299 cerca de 247-255
ODI topologia interface, criando 256, 257
expansão 215 interface, executando 258-260
a criação de 215 projeto, a criação de 255
projeto, preparando-255
parceiro interface de fluxo logístico 242
Arquitetura física, MySQL
definição de 186

[356]

www.it-ebooks.info
servidores de dados físicos Q
definindo 86-89
Editor esquema física 91 Quick-guia Editar, interfaces ODI 125
Esquemas físicos
dados esquemas 90, 91
definição de 90 R
esquemas de trabalho 90-92
plugins 300 RCU
PO solução exemplo de processamento cerca de 35
Índice temporária automática download de 38
Gestão 227-229 parâmetros de segurança 44
execução, verificando com Operador utilizado, para a criação de depósito 39-50
Navigator 232 297 atualização variáveis
interfaces, criando 221 repositório
Carga interface de Vendas Pessoa 221, 222 instalação de 36
Carga mapeamento Vendas Pessoa 223-227 pré-requisitos 36
Carga de interface de vendas da região 229-232 Utilitário de criação de repositório. Ver RCU
mapeamentos, criando 221 visibilidade repositório
Metadados do modelo, cerca de 341
engenharia reversa-219, 220 estatísticas de sessão 341, 342
ODI topologia, expandindo 215 engenharia reversa
topologia, a criação de 215-219 metadados, a partir do MySQL 188-190
pós-instalação, instalação ODI 11g engenharia reversa de metadados
parâmetros de arquivos de revisão 69 cerca de 100, 101
pré-requisitos de instalação do produto, engenharia reversa personalizado 102
cerca de 35 arquivar engenharia reversa 103, 104
pré-requisitos para a Oracle engenharia reversa padrão de 101, 102
Universal Installer 36 XML engenharia reversa 104
pré-requisitos para repositório 36 engenharia reversa revisitado 188
pré-requisitos para Agente Autônomo 37 Reversa Módulos de Conhecimento (RKM) 29
pré-requisitos para Studio 36
prodsystem esquema 186
product_base 180
product_category 180
dados do produto
integração de 180
movendo 190-196 S
PO Processamento Datamart esquema 180
prodsystem MySQL esquema 180 dados de vendas, o SQL Server 2008
produto alvo de dados 180 integrações de dados 213
instalação do produto, ODI fonte de dados 212, 213
cerca de 35 alvo de dados 213
pré-requisitos 35 descrição da amostra cenário, os bancos de dados
de produtos de interface logística de fluxo de 181 cerca de 128
Propriedade barra de ferramentas Inspector 222 Dados fluxo logístico 130
integração mapeamentos 129
integração fonte 129
alvo integração 128, 129
SAP 300
cenário
gerando, a partir do pacote 302, 303
34 cenários

[357]

www.it-ebooks.info
agendar gestão de interface de usuário T
ilustrando 332
execução programada, criando 332, 334 alvo de dados 213
Esquema 90 Índice de Gestão temporária
segurança navegador, ODI Studio 20 ilustrando 228
parâmetros de segurança, RCU opção texto digitado 118
Mestre Repositório ID 44 de terceiros programadores
Supervisor senha 44 utilizando 334
Repositório trabalhar ID 45 topologia
Trabalho Nome do repositório 45 expansão 185, 187
Trabalhar Senha Repositório 45 topologia navegador, ODI Studio 20
Trabalho tipo Repositório 45 Transform arquitetura (ELT) 272
Conhecimento Módulos de Serviço
(Skms) 29, 113
arquitetura orientada a serviços. Ver SOA
definir 297 variáveis
Compra integração simples arquivo de Ordem, U
com o arquivo XML
cerca de 274 inesperada de tempo de design erros de execução,
interface, criando 280-287 gestão de erros
metadados, engenharia reversa 278, 279 investigação de erro, em Operador
procedimentos, criando 288-292 Navegador 322-324
topologia, expandindo 274-278 manipulação 321
simulação inesperados erros de execução,
utilizando, no MySQL 197 gestão de erros de execução
SOA 263 manipulação 324-326
fonte de dados 212, 213 utilitários 300
SQL Loader 22
SQL Server 2008
dados de vendas, integrando 212
tarefa, visão geral 212 V
trabalhando com 211
agente autônomo opção de valor digitado 118
cerca de 22 variáveis
23 benefícios definição de 71
pré-requisitos 37 definições 72, 73
engenharia reversa padrão de 101, 102 história 74
passo-a-passo exemplo, arquivo simples localização e extensão 71, 72
integração de dados 73 refrescante, 74
cerca de 243 variáveis, para informação dinâmica
Dados de parceiros, integrando 247 Declarar Variável 76
topologia, expandindo 244-246 valor embutido, estabelecendo 75
Sybase ASE 16 Atualizar Variável 76
valor, atribuindo a variável 75
variáveis, em interfaces 77-79
variáveis, nos modelos de 79
variáveis, em topologia 80
variáveis, referência 77

[358]

www.it-ebooks.info
variáveis, para alterar os fluxos de trabalho Arquivos XML, com ODI
Planos de carga 82 fundo 268
pacotes de 80 de dados, integração de um único
visibilidade 339 Ordem de Compra 270-272
modelos, criando a partir de arquivo XML 270
visão geral 269
W Ordem de Compra, integrando a partir de
Arquivo XML 269
WebLogic Domínio menu botão 336 requisitos 268
WebLogic Server 339 alcance 269
trabalhar repositório 17 Ordem de Compra arquivo simples, integrando 274
único fim de logística de fluxo de interface 272, 273
XML engenharia reversa 104
X
XML
cerca de 263
introdução 263-265
Arquivos XML
manipulação 96-100

[359]

www.it-ebooks.info
www.it-ebooks.info
Obrigado por comprar
Introdução ao Oracle Data
Integrator 11g: Um tutorial Hands-On

Sobre Packt Publishing


Packt, pronunciado 'embalado', publicou o seu primeiro livro Mastering phpMyAdmin "para efetiva
MySQL Management "em abril de 2004 e, posteriormente, continuou a especializar-se em publicação
livros altamente focada em tecnologias e soluções específicas.

Nossos livros e publicações compartilhar as experiências de seus colegas profissionais de TI em adaptar


e personalização de sistemas de hoje, aplicações e frameworks. Os nossos livros de soluções baseadas em dar
o conhecimento e poder de personalizar o software e tecnologias que você está usando para obter
o trabalho feito. Packt livros são mais específicos e menos geral do que os livros de TI que você já viu em
no passado. Nosso modelo de negócios único que nos permite trazer informações mais focada, dando
você mais do que você precisa saber, e menos do que não fazer.

Packt é um moderno, editora e única, que se concentra na produção de qualidade,


de ponta livros para comunidades de desenvolvedores, administradores, e também de novatos. Para mais
informações, por favor visite nosso website: www.packtpub.com.

Sobre Packt Empresa


Em 2010, lançou Packt duas novas marcas, Packt corporativo eo open source Packt, a fim de
mantenha o foco na especialização. Este livro é parte da marca da empresa Packt, casa
livros publicados sobre software empresarial - software criado por grandes fornecedores, incluindo (mas
não limitado a) a IBM, Microsoft e Oracle, muitas vezes para uso em outras empresas. Seus títulos irá oferecer
informações relevantes para uma gama de usuários deste software, incluindo administradores, desenvolvedores,
arquitetos e usuários finais.

Escrevendo para Packt


Congratulamo-nos com todas as perguntas de pessoas que estão interessadas na criação. Propostas livro deve
ser enviado para author@packtpub.com. Se a sua idéia do livro ainda está em um estágio inicial e que você
gostaria
para discuti-lo primeiro antes de escrever um livro proposta formal, entre em contato conosco; uma do nosso
comissionamento
editores irá entrar em contato com você.
Nós não estamos apenas à procura de autores publicados, se você tem fortes habilidades técnicas, mas nenhuma
escrita
experiência, nossos editores experientes pode ajudar a desenvolver uma carreira de escritor, ou simplesmente
obter alguma
recompensa adicional para o seu conhecimento.

www.it-ebooks.info
Oracle SOA Suite 11g R1
Guia do desenvolvedor
ISBN: 978-1-84968-018-9 Paperback: 720 páginas

Desenvolver soluções Arquitetura Orientada a Serviços com


o Oracle SOA Suite

1. A hands-on, guia de boas práticas para o uso e


aplicação do Oracle SOA Suite na entrega
de aplicações do mundo real SOA

2. Cobertura detalhada do Service Bus Oracle,


BPEL PM, Regras, fluxo de trabalho humano, Evento
Atividade Delivery Network, e Negócios
Monitoramento

3. Dominar a melhor maneira de usar e combinar


cada um destes componentes diferentes na
implementação de uma solução SOA

Fluxos Oracle 11g


Guia implementador
ISBN: 978-1-847199-70-6 Paperback: 352 páginas

Projetar, implementar e manter um distribuídos


ambiente com Oracle Streams

1. Implementar Oracle Streams para gerenciar e


coordenar os recursos, informações e
funções de um sistema distribuído

2. Se familiarizar com explicações detalhadas do


componentes que compõem Oracle Streams, e
como eles funcionam juntos

3. Aprenda considerações de projeto que ajudam a identificar


e evitar obstáculos córregos Oracle - antes
você é pego neles

Por favor, verifique www.PacktPub.com para obter informações sobre nossos


títulos

www.it-ebooks.info
Dados Oracle 10g/11g e
Management Database Utilities
ISBN: 978-1-847196-28-6 Paperback: 432 páginas

Mestre-12 deve usar utilitários para otimizar o


eficiência, gestão, desempenho e de sua
tarefas diárias de banco de dados

1. Otimizar tarefas que consomem tempo de forma eficiente


usando
o banco de dados Oracle utilitários
2. Executar cargas de dados em tempo real e substituir o
funcionalidade de exportação e importação de idade
utilitários usando dados Bomba ou SQL * Loader

3. Reforçar as defesas do banco de dados com o Oracle


Wallet
Gerente e Segurança

Oracle Business Intelligence:


O Guia de condensado para
Análise e Relatório
ISBN: 978-1-84968-118-6 Paperback: 184 páginas

Um guia de via rápida para descobrir o poder analítico


do Oracle Business Intelligence: Analytic SQL, Oracle
Discoverer, Oracle Reports e Oracle Warehouse
Construtor

1. Instalar, configurar e implementar os componentes


incluído no Oracle Business Intelligence
Suite (SE)

2. Obter uma visão abrangente de componentes


e características da Business Intelligence da Oracle
pacote

Por favor, verifique www.PacktPub.com para obter informações sobre nossos


títulos

www.it-ebooks.info

Potrebbero piacerti anche