Sumário

Search

  1. Prefácio
  2. Introdução ao PowerExchange
  3. Arquivo de Configuração DBMOVER
  4. Trabalhos Netport
  5. Logs de Mensagens do PowerExchange e Substituições de Destinos
  6. Log de estatísticas do SMF e Relatórios
  7. Segurança do PowerExchange
  8. Suporte a Secure Sockets Layer
  9. Segurança de Rede Alternativa do PowerExchange
  10. SQL Não Relacional do PowerExchange
  11. Globalização do PowerExchange
  12. Usando os Drivers ODBC do PowerExchange
  13. Tipos de Dados e Matriz de Conversão do PowerExchange
  14. Apêndice A: Carimbos de Data/Hora DTL__CAPXTIMESTAMP
  15. Apêndice B: Glossário do PowerExchange

Manual de Referência

Manual de Referência

Instrução ORACLE_UNHANDLED_NUMASCHAR

Instrução ORACLE_UNHANDLED_NUMASCHAR

A instrução ORACLE_UNHANDLED_NUMASCHAR controla como o PowerExchange trata algumas colunas de origem numéricas do Oracle.
Se você digitar Y, o PowerExchange converte os tipos de dados numéricos do Oracle a seguir:
  • Colunas NUMBER que têm uma precisão maior que 28 ou um comprimento indefinido são tratados como strings de tamanho variável, em vez de números de precisão dupla de ponto de flutuação.
  • Colunas FLOAT que têm uma precisão maior que 15 dígitos significativos são tratadas como strings de tamanho variável.
O PowerExchange usa a configuração ORACLE_UNHANDLED_NUMASCHAR ao criar registros de captura.
Essa instrução se aplica ao PowerExchange Express CDC do Oracle e ao PowerExchange Oracle CDC com origens do LogMiner. Você pode usar essa instrução para substituir o processamento padrão de dados numéricos do PowerExchange para evitar perda de dados em determinadas circunstâncias. Para substituir o processamento padrão, você deve especificar essa instrução antes de criar registros de captura.
Linux, UNIX e Windows
do Oracle
Não
ORACLE_UNHANDLED_NUMASCHAR={Y|
N
}
  • N
    . O PowerExchange usa o processamento padrão de dados NUMBER do Oracle. Se você tiver as colunas NUMBER que têm uma precisão maior que 28 ou um comprimento indefinido, ou se você tiver colunas FLOAT com uma precisão maior que 15, poderá haver perda de dados alterados.
  • Y
    . O PowerExchange lida com dados de NUMBER e FLOAT em uma forma que evita perda de dados.
O padrão é N.
  • Informe esse parâmetro com um valor Y antes de criar registros de captura para as tabelas de origem do Oracle que contêm as colunas NUMBER ou FLOAT. Se inserir esse parâmetro após a existência dos registros, você deve definir o status dos registros para histórico e criar os registros novamente. Caso contrário, poderá haver perda de dados alterados.
  • O Oracle permite que as colunas que têm o tipo de dado NUMBER tenham a precisão e escala determinadas pelos dados numéricos que estão gravados nas colunas. O Oracle suporta uma precisão máxima de 38 e um expoente de +/-127.
    Se você não definir explicitamente a precisão e escala para as colunas NUMBER cujos dados alterados são capturados, o seguinte processamento padrão de dados alterados do PowerExchange e o PowerCenter pode resultar na perda de precisão e de dados alterados:
    • O PowerExchange lida com dados nas colunas NUMBER que têm um comprimento indefinido ou um tamanho maior que 100 bytes como números de ponto flutuante de precisão dupla.
    • O PowerCenter permite uma precisão máxima de 28 para números decimais.
    Para evitar perda de dados alterados com esse tipo de dados, digite Y para essa instrução e crie seus registros de captura. O processamento de registro do PowerExchange pode manipular números que têm uma precisão maior que 28 como strings de tamanho variável.
    Se você escreve os dados para um destino do Oracle e deseja manter a precisão como uma string de tamanho variável, edite a definição de destino para modificar o tipo de dados da coluna. Dentro de um mapeamento do PowerCenter, você pode converter uma string de tamanho variável para um número implicitamente conectando a uma porta numérica ou explicitamente usando expressões. Para evitar a perda de precisão na conversão implícita, você pode precisar editar o mapeamento para passar os dados como uma string da origem para o destino.
  • O PowerExchange suporta os tipos de dados numéricos BINARY_DOUBLE e BINARY_FLOAT tratando-os como tipos de dados internos DOUBLE ou FLOAT. No entanto, o PowerCenter converte os tipos de dados BINARY_DOUBLE e BINARY_FLOAT para os tipos de dados NUMBER (15) do Oracle, que pode resultar em estouro aritmético e perda de dados.
  • Em colunas com um tipo de dados numérico do Oracle, o PowerExchange trata o valor de infinito como 0.