Parte VII: Versão 8.5
Capítulo 38: Serviço de Integração (8.5)
E- mail Pós-Sessão
¨ Otimização de Empilhamento, 173 ¨ Desempenho, 174
¨ Processamento em Tempo Real, 175
Processamento de Tipo de Dados
Esta seção descreve as alterações no processamento do tipo de dados.
Bigint
Na versão 8.5, o Serviço de Integração pode processar valores de dados bigint ou de inteiros de 64 bits. O tipo de dados Bigint de transformação tem uma precisão de 19 e suporte para valores entre
-9,223,372,036,854,775,808 e 9,223,372,036,854,775,807. As versões anteriores não têm um tipo de dados Bigint.
Valores Bigint nas Chaves Geradas
Use Bigint como tipo de dados para aumentar o intervalo de valores de chave gerados em transformações. Use valores de bigint para os seguintes valores de chave geradas:
Transformação Chaves Geradas
Pesquisa (dinâmica) Número de ID de sequência
Normalizador Número de sequência de chave gerada Gerador de Sequência NEXTVAL e CURRVAL
Qualificador de Origem XML Chaves primária e estrangeira
Quando você cria uma transformação de Pesquisa, Normalizador ou Gerador de Sequência, o Designer define o valor máximo para as chaves geradas para 9,223,372,036,854,775,807. Nas versões anteriores, o valor de chave máximo era 2,147,483,647. Quando você atualiza para a versão 8.5, o processo de
atualização não redefine o intervalo para os valores de chave gerados para as transformações existentes. Por
exemplo, se você atualizar um mapeamento que contenha uma transformação de Gerador de Sequência, o processo de atualização não aumenta o valor final da sequência.
Para aumentar o intervalo de valores de chave gerados, edite a transformação da seguinte forma:
¨ Gerador de Sequência. Para usar valores de inteiros grandes em um Gerador de Sequência, aumente o valor final da sequência.
¨ Pesquisa. Para aumentar o número de ID de sequência máximo em uma transformação de Pesquisa dinâmica, altere o tipo de dados da porta de Pesquisa de Integer para Bigint.
¨ Normalizador. Para aumentar o número de sequência máximo de chave gerada em uma transformação de Normalizador, altere o tipo de dados da porta de chave gerada de Integer para Bigint.
Quando você importa uma origem XML, o Designer define os valores máximos para as chaves primária e estrangeira como 9,223,372,036,854,775,807. Nas versões anteriores, o valor de chave máximo era 2,147,483,647. Quando você atualiza para a versão 8.5, o processo de atualização não redefine o intervalo para os valores de chave primária e estrangeira nos Qualificadores de Origem XML existentes. Para aumentar o intervalo dos valores de chave primária e estrangeira, reimporte a origem XML.
Usando Bigint com Código SDK
Você pode usar Bigint como o tipo de dados com código SDK para criar plug-ins para aplicativos personalizados.
Quando você atualiza para o PowerCenter 8.5, a atualização não altera o tipo de dados usado no código SDK para Bigint. Se você desenvolveu um plug-in para um aplicativo personalizado, será necessário recompilar o código SDK para usar o tipo de dados Bigint.
Suporte do Tipo de Dados Bigint para Bancos de Dados
Use o tipo de dados Bigint em origens e destinos relacionais. O suporte do tipo de dados Bigint foi adicionado para os seguintes bancos de dados:
¨ Informix ¨ Teradata
Quando você atualiza para o PowerCenter 8.5, a atualização não altera o tipo de dados de origens ou destinos relacionais para Bigint.
Importe as origens, as pesquisas e os destinos para usar o tipo de dados Bigint. O Serviço de Integração converte o tipo de dados Bigint de transformação no tipo de dados com suporte de dados bigint para os seguintes bancos de dados:
Banco de Dados Tipo de Dados
Informix Int8
Teradata Bigint
Processamento de Data/Hora
Na versão 8.5, o Serviço de Integração processa dados de data/hora para nanossegundos. O tipo de dados Data/Hora de transformação tem uma precisão de 29. Antes, o Serviço de Integração processava dados de data/hora em até segundos. O tipo de dados Data/Hora tem uma precisão de 19.
Especificando o Formato de Data Padrão
Você pode especificar o formato de data padrão usado pelo Serviço de Integração nas funções de Data e na conversão de porta-para-porta de strings de texto em valores de data/hora. Para especificar o formato de data padrão, insira um formato de data no atributo String de Formato de Data/Hora na guia Objeto de Configuração de um objeto de configuração de sessão. Você pode definir formatos de data que processem valores em nanossegundo.
Para novos objetos de configuração de sessão, o formato de data padrão é MM/DD/AAAA HH24:MI:SS.US, que especifica a precisão como microssegundo. Para objetos de configuração de sessão atualizados, o formato de data padrão é MM/DD/AAAA HH24:MI:SS, que especifica a precisão em segundo.
Para dar suporte à precisão de subsegundo no formato de data para sessões atualizadas, você pode executar uma das seguintes ações:
¨ Altere o formato de data da sessão.
¨ Altere o formato de data do objeto de configuração da sessão.
¨ Crie um novo objeto de configuração de sessão e aplique-o às sessões atualizadas. Para novas sessões, o formato de data padrão é aquele no objeto de configuração de sessão.
Mantendo a Compatibilidade com Versões Anteriores
Por padrão, o Serviço de Integração não processa subsegundos em sessões atualizadas. Quando você atualiza para a versão 8.5, o processo de atualização ativa o atributo de sessão de Compatibilidade de Carimbo de Data/Hora Pré 8.5 em todas as sessões atualizadas e nos objetos de configuração de sessão. O atributo de sessão de Compatibilidade de Carimbo de Data/Hora Pré 8.5 é exibido na guia Objeto de Configuração nas propriedades da sessão.
Quando esse atributo é ativado, o Serviço de Integração executa as seguintes ações:
¨ Ajusta subsegundos para todos os valores de Carimbo de Data/Hora ao ler de bancos de dados relacionais ou gravar neles.
¨ Ajusta subsegundos para todos os valores de Carimbo de Data/Hora ao gravar em arquivos de destino intermediários de carregador externo.
¨ Mapeia valores de Carimbo de Data/Hora para valores de Data Oracle quando você substitui uma conexão de banco de dados não Oracle por uma conexão Oracle nas propriedades da sessão.
¨ Não substitui nenhuma propriedade personalizada definida por você para dar suporte a subsegundos em uma versão anterior do PowerCenter. Para obter mais informações sobre propriedades personalizadas com suporte para subsegundos, visite a Base de Dados de Conhecimento do Informatica em
http://mysupport.informatica.com.
Para fazer com que o Serviço de Integração processe subsegundos em uma sessão atualizada, desative o atributo de sessão de Compatibilidade de Carimbo de Data/Hora Pré 8.5 na sessão ou no objeto de configuração da sessão, ou crie um novo objeto desse tipo e aplique-o à sessão atualizada. Talvez também seja necessário executar as seguintes ações:
¨ Se a sessão contiver uma origem ou destino de arquivo simples, altere o formato de data na origem ou destino para aceitar subsegundos.
¨ Se a sessão contiver uma transformação de Pesquisa ou Procedimento Armazenado, altere a precisão de subsegundo de 0 para qualquer valor inteiro positivo até 9.
¨ Se a sessão contiver uma substituição SQL que use um valor de string para especificar uma data, altere o formato de data para o formato usado na origem. Por exemplo, para converter o valor de string
‘01-Jan-2007' para uma origem Oracle, use a seguinte função Oracle na substituição SQL: to_date (‘01-Jan-2007’, ‘mm/dd/yyyy’)
Usando Dados de Subsegundos com Código SDK
Use dados datetime até milissegundos no código SDK para criar plug-ins para aplicativos personalizados. Quando você atualiza para o PowerCenter 8.5, a atualização não altera a precisão do tipo de dados Date/ Time para processar subsegundos no código SDK. Se você desenvolveu um plug-in para um aplicativo personalizado, será necessário recompilar o código SDK para processar dados de subsegundos.
Inteiros
Na versão 8.5, quando o Serviço de Integração lê de um arquivo simples de largura fixa, esse serviço analisa inteiros com espaços em branco iniciais e grava valores de inteiros e inteiros pequenos no destino.
Antes, o Serviço de Integração lia dados de inteiro e inteiro pequeno com um espaço em branco inicial como valor inválido. O Serviço de Integração rejeitava a linha e registrava uma mensagem de erro no log da sessão.
Conversão de Caracteres
O Serviço de Integração processa dados internamente usando o conjunto de caracteres Unicode UCS-2. Na versão 8.5, o Serviço de Integração usa ICU para converter dados de caractere em Unicode para processar dados.
Anteriormente, o Serviço de Integração usava GlobalC para converter dados de caractere em Unicode para processar dados.
Alterações no Mapeamento de Caracteres
Na versão 8.5, os Serviços de Integração podem gravar um valor hexadecimal diferente quando gravam dados em um banco de dados. O ICU pode ter vários valores hexadecimais para o mesmo caractere. Por exemplo, quando o Serviço de Integração lê um caractere com o valor 0xED40 e os objetos de conexão usam a página de código MS932, o ICU converte 0xED40 em U+7E8A. Antes de o Serviço de Integração gravar dados, o ICU determina se ele deve converter U+7E8A em 0xED40 ou 0xFA5C. O mapeamento de caracteres ICU para a página de código MS932 declara que 0xED40 e 0xFA5C representam o mesmo caractere. O ICU converte U+7E8A em 0xFA5C, em vez de usar o valor original 0xED40. O Serviço de Integração grava o valor hexadecimal que a conversão ICU produz para o banco de dados.
Você poderá observar dados de saída diferentes se determinar o valor de um caractere com base em seu valor hexadecimal.
Antes, o valor hexadecimal de um caractere não era alterado devido a uma conversão Unicode.
Valores de Substituição para Caracteres Não Conversíveis
Na versão 8.5, o valor de substituição de caracteres não conversíveis foi alterado. As alterações no valor de substituição hexadecimal podem aumentar o tamanho dos dados de saída. Talvez seja necessário alocar mais espaço ou comprimento de coluna em destinos.
Os valores de substituição foram alterados para as seguintes páginas de código:
Nome da Página de Código
ID da Página de Código
Descrição da Página de Código Valor de Substituição Hexadecimal 8.5
ISO-8859-2 5 ISO 8859-2 Europeu Oriental 0x1A ISO-8859-3 6 ISO 8859-3 Sudeste da Europa 0x1A
ISO-8859-4 7 ISO 8859-4 Báltico 0x1A
ISO-8859-5 8 ISO 8859-5 Cirílico 0x1A
ISO-8859-6 9 ISO 8859-6 Árabe 0x1A
ISO-8859-7 10 ISO 8859-7 Grego 0x1A
ISO-8859-8 11 ISO 8859-8 Hebraico 0x1A
ISO-8859-9 12 SO 8859-9 Latino 5 (Turco) 0x1A ISO-8859-10 13 ISO 8859-10 Latino 6 (Nórdico) 0x1A
Nome da Página de Código
ID da Página de Código
Descrição da Página de Código Valor de Substituição Hexadecimal 8.5
JapanEUC 18 Código UNIX Estendido Japonês (incl. JIS X 0212) 0xF4 0xFE ISO-8859-15 201 ISO 8859-15 Latino 9 (Europeu Ocidental) 0x1A
IBM930 930 IBM EBCDIC Japonês 0xFE 0xFE
IBM935 935 IBM EBCDIC Chinês Simplificado 0xFE 0xFE IBM937 937 IBM EBCDIC Chinês Tradicional 0xFE 0xFE IBM939 939 IBM EBCDIC Japonês CP939 0xFE 0xFE MS932 2024 MS Windows Japonês, superconjunto de Shift-JIS 0xFC 0xFC MS1250 2250 MS Windows Latino 2 (Europa Central) 0x1A MS1251 2251 MS Windows Cirílico (Eslavo) 0x1A MS1252 2252 MS Windows Latino 1 (ANSI), superconjunto de Latin1 0x1A
MS1253 2253 MS Windows Grego 0x1A
MS1255 2254 MS Windows Latino 5 (Turco), superconjunto de ISO 8859-9
0x1A
MS1258 2258 MS Windows Vietnamita 0x1A
JEF 9000 EBCDIC Fujitsu Japonês 0xFE 0xFE
KEIS 9001 HITACHI KEIS Japonês 0xFE 0xFE
JIPSE 9002 NEC ACOS JIPSE Japonês 0xFE 0xFE
UNISYS 9003 UNISYS Japonês 0xFE 0xFE
MELCOM 9004 MITSUBISHI MELCOM Japonês 0xFE 0xFE JEF-K 9005 EBCDIC-Kana Fujitsu Japonês 0xFE 0xFE KEIS-K 9006 HITACHI KEIS-Kana Japonês 0xFE 0xFE JIPSE-K 9007 NEC ACOS JIPSE-Kana Japonês 0xFE 0xFE
UNISYS-K 9008 UNISYS-Kana Japonês 0xFE 0xFE
MELCOM-K 9009 MITSUBISHI MELCOM-Kana Japonês 0xFE 0xFE
JP-EBCDIC 9010 EBCDIC Japonês 0xFE 0xFE
JP-EBCDIK 9011 EBCDIK Japonês 0xFE 0xFE
Antes, o valor de substituição hexadecimal para essas páginas de código era 0x3F.
Recuperação
Na versão 8.5, você pode ativar a recuperação de uma sessão que tenha transformações de Procedimento Armazenado e Procedimento Externo. As transformações contêm as propriedades Saída é Repetível e A Saída é Determinista. Ative A Saída é Determinista quando os dados de saída de origem não forem alterados entre sessões. Ative Saída é Repetível quando os dados estiverem na mesma ordem entre as sessões. Se você ativar as duas propriedades, poderá configurar a recuperação de sessão.
Quando você atualizar, o valor padrão de Saída é Repetível será Baseada na Ordem de Entrada. Para recuperar, ative A Saída é Determinista e configure a estratégia de recuperação da sessão. Quando você cria uma transformação, as propriedades são desativadas para recuperação de sessão por padrão.
Antes, o Serviço de Integração desativava a recuperação de sessão se uma sessão tivesse essas transformações.
E-mail Pós-Sessão
Na versão 8.5, você pode anexar um log de sessão a um e-mail pós-sessão sem configurar a sessão para criar um arquivo de log de texto. O Serviço de Integração inclui o log de sessão do Log Manager e gera o arquivo de log de sessão para anexar ao e-mail.
Antes, você precisava configurar a sessão para criar um arquivo de log de texto para anexar logs de sessão para e-mails pós-sessão.
Otimização de Empilhamento
Esta seção descreve as alterações na otimização de empilhamento.
Permitir a Exibição Temporária para Empilhamento
Na versão 8.5, a opção Permitir a Exibição Temporária para Empilhamento substitui a parte de exibição do valor Para Origem com Exibição pela opção de Otimização de Empilhamento. Selecione essa opção para ativar o Serviço de Integração para criar exibições no banco de dados de origem ou destino ao enviar a lógica de transformação para o banco de dados. O Serviço de Integração deve criar exibições temporárias no banco de dados para enviar lógica de transformação particular ao banco de dados. O Serviço de Integração
armazena o valor dessa opção no repositório.
Antes, somente era possível criar exibições no banco de dados de origem e você tinha que usar a opção Para Origem com Exibição.
Opção de Otimização de Empilhamento
Na versão 8.5, a opção de Otimização de Empilhamento tem valores atualizados:
Valor nas versões anteriores
Valor na versão 8.5 Descrição da Alteração
Completo Completo Sem alteração. Nenhuma Nenhuma Sem alteração. Para Origem Para Origem Sem alteração.
Valor nas versões anteriores
Valor na versão 8.5 Descrição da Alteração
Para Origem com Exibição
n/d Esse valor está obsoleto. O valor Para Origem com Exibição foi dividido em duas opções separadas:
- Otimização de Empilhamento. Selecione o valor Para Origem para enviar a transformação ao banco de dados de origem. Também é possível selecionar Para Destino para enviar a transformação ao banco de dados de destino.
- Permitir a Exibição Temporária para Empilhamento. Selecione para criar uma exibição no banco de dados. Você pode criar exibições no banco de dados de origem ou destino. Se um mapeamento tiver a opção ‘Para Origem com Exibição’ selecionada e você atualizar o repositório, o programa de atualização selecionará o valor ‘Para a Origem’ e selecionará a opção Permitir Exibição Temporária para Empilhamento para o mapeamento. Para Destino Para Destino Sem alteração.
O Serviço de Integração continua armazenando o valor no repositório.
Antes, Para Origem com Exibição era um valor possível para a opção de Otimização de Empilhamento.
Desempenho
Esta seção descreve as alterações no desempenho.
Formatos de Data para as Funções TO_CHAR() e TO_DATE()
Na versão 8.5, você pode enviar as funções TO_CHAR() e TO_DATE() ao banco de dados, independentemente da string de data.
Antes, era possível enviar as funções TO_CHAR() e TO_DATE() a um banco de dados se a string de data padrão fosse usada.
Parâmetro $$PushdownConfig
Na versão 8.5, o parâmetro $$PushdownConfig tem valores atualizados:
Valor do Parâmetro na versão anterior)
Valor do Parâmetro na versão 8.5
Descrição da Alteração
Completo Completo Sem alteração.
n/d Seq Esse é um novo valor de parâmetro. Para criar um objeto de sequência no banco de dados, acrescente “Seq” após o tipo de otimização de empilhamento.
n/d Exibir Esse é um novo valor de parâmetro. Para criar uma exibição no banco de dados, acrescente “View” após o tipo de otimização de empilhamento.
Nenhuma Nenhuma Sem alteração. Para Origem Para Origem Sem alteração.
Valor do Parâmetro na versão anterior)
Valor do Parâmetro na versão 8.5
Descrição da Alteração
Para Origem com Exibição n/d Esse valor está obsoleto. O valor Para Origem com Exibição foi dividido em duas opções separadas:
- Otimização de Empilhamento. Selecione o valor Para Origem para enviar a transformação ao banco de dados de origem. Também é possível selecionar Para Destino para enviar a transformação ao banco de dados de destino. - Permitir a Exibição Temporária para Empilhamento.
Selecione para criar uma exibição no banco de dados. Você pode criar exibições no banco de dados de origem ou destino.
Se um mapeamento tiver a opção ‘Para Origem com Exibição’ selecionada e você atualizar o repositório, o programa de atualização selecionará o valor ‘Para a Origem’ e selecionará a opção Permitir Exibição Temporária para Empilhamento para o mapeamento.
Para Destino Para Destino Sem alteração.
Otimização de Empilhamento para Lógica de Dimensão de
Alteração Lenta
Na versão 8.5, você pode enviar a lógica de dimensão de alteração lenta Tipo 1 e Tipo 3 para o banco de dados. Se você configurou a lógica de dimensão de alteração lenta usando o Assistente para Dimensões de Alteração Lenta de uma versão anterior e quer enviar as transformações que abrangem a lógica de dimensão de alteração lenta para o banco de dados, será necessário recriar essa lógica usando esse assistente. Antes, o Serviço de Integração não podia enviar a lógica de dimensão de alteração lenta ao banco de dados. Se a lógica de dimensão de alteração lenta contiver uma transformação de Pesquisa configurada para usar qualquer valor, o primeiro valor ou o último valor quando várias ocorrências forem encontradas e você quiser ativar a otimização de empilhamento, será necessário modificar a transformação de Pesquisa existente. Para modificar a transformação de Pesquisa para ativar otimização de empilhamento, defina a política de pesquisa como Relatar em Erro.
Otimização de Empilhamento para a Operação de Atualização
Na versão 8.5, você pode configurar o Serviço de Integração para enviar a operação de atualização em um destino ao banco de dados.
Antes, você podia enviar operações de inserção e exclusão em um destino para o banco de dados, mas não a operação de atualização.
Processamento em Tempo Real
Esta seção descreve as alterações no processamento em tempo real.
Processo de Recuperação
Na versão 8.5, quando você ativa a recuperação para uma sessão em tempo real que lê de uma origem JMS ou WebSphere MQ, o Serviço de Integração grava mensagens no destino e envia uma confirmação para a origem. O modelo de processo e confirmação impede a duplicação de dados durante a recuperação.
Antes, o Serviço de Integração enviava uma confirmação para a origem antes de gravar mensagens no destino. A duplicação de dados era possível quando a sessão falhava antes de o Serviço de Integração confirmar as mensagens ou limpar o arquivo de recuperação.
Tabela de Recuperação e Armazenamento de Arquivo de
Recuperação
Na versão 8.5, quando você ativa a recuperação para uma sessão em tempo real que lê de uma origem JMS ou WebSphere MQ e grava em um destino relacional, o Serviço de Integração cria uma tabela de
recuperação no banco de dados de destino. A tabela de recuperação armazena o número de confirmação e a ID da mensagem que o Serviço de Integração confirmou para o destino. A tabela de recuperação ajuda a manter a integridade dos dados durante a recuperação para que nenhum dado seja perdido ou duplicado. Quando você recupera uma sessão, o Serviço de Integração usa as informações de recuperação para determinar onde interrompeu o processamento das mensagens. O Serviço de Integração lê mensagens não processadas da origem usando a ID da mensagem na tabela de recuperação.
Antes, quando você executava uma sessão, o Serviço de Integração salvava mensagens em um arquivo de recuperação. Se a sessão falhasse, o Serviço de Integração lia mensagens não processadas do arquivo de recuperação.
Na versão 8.5, quando você ativa a recuperação para uma sessão em tempo real que lê de uma origem JMS ou WebSphere MQ e grava em um destino não relacional, o Serviço de Integração armazena IDs de