Tabelas Temporárias de Trabalho no ODI 11g: Entendendo as Funções de I$, E$, W$, C$, JRN$
- Rodrigo de Oliveira
- 23 de jan. de 2024
- 2 min de leitura
Durante o processo de carga, surge a necessidade de integrar uma ou mais fontes de dados. Para realizar essa tarefa, o ODI cria tabelas temporárias de trabalho usando os módulos de conhecimento (KMs). Essas tabelas são internamente utilizadas pelo ODI para armazenar dados temporários em diferentes fases do processo de integração de dados. O ODI controla a criação, a inserção de registros e otimizações dessas tabelas, incluindo a criação de índices e análises da tabela no banco, entre outros controles.
Padrão de Nomenclatura:
As tabelas temporárias de trabalho geralmente seguem um padrão de nomenclatura específico. Por exemplo, tabelas começando com "I$" estão frequentemente associadas a dados temporários durante a carga da interface.
Aqui estão algumas das tabelas de trabalho mais comuns no ODI:
E$ - Tabela de Erros:
Armazena registros que causaram erros durante a execução da interface, essencial para identificar e resolver problemas durante o processo de carga.
C$ - Tabela de Controle:
Utilizada para armazenar informações de controle durante a execução da interface, como registros que foram alterados. Relacionada a estratégias de mudança incremental.
W$ - Tabela de Trabalho:
Mantém informações sobre os registros sendo processados durante a execução da interface, útil para rastreamento e controle do processo.
I$ - Tabela de Interface:
Associada ao armazenamento temporário de dados durante a carga da interface, desempenhando um papel crucial na manipulação eficiente dos dados durante o processo ETL.
JRN$ - Tabelas de Log:
Tabelas que começam com "JRN$" armazenam informações sobre as alterações ocorridas nas tabelas de origem, sendo parte integrante do recurso de log de alterações no ODI.
É importante observar que os prefixos (I$, E$, W$, C$, JRN$) nas tabelas mencionadas são padrões e podem variar dependendo da configuração do ODI e dos nomes das interfaces. Essas tabelas de trabalho são gerenciadas pelo próprio ODI para garantir eficiência e integridade durante a execução do processo ETL.
A criação de tabelas temporárias de trabalho pode causar atrasos no tempo de processamento das cargas no ODI, e muitas vezes essas tabelas não são necessárias. Por exemplo, na realização do IKM Oracle Incremental Update (MERGE), é padrão criar uma tabela I$, mas todo o bloco de código usado para inserir registros na I$ poderia estar dentro do bloco de MERGE, eliminando a necessidade de criar e controlar uma tabela adicional.
Em resumo, em muitos casos, as tabelas de trabalho apenas causam atrasos no processo de carga. Pensando nisso, a versão 12c do ODI reduziu drasticamente a sua utilização nos KMs.
Para resolver o problema de criação de tabelas desnecessárias na versão 11g, a alternativa é personalizar os KMs padões, otimizando alguns passos e retirando outros, sempre com muito estudo, cuidado e teste.
Espero que isso tenha ajudado a entender melhor as tabelas temporárias de trabalho do ODI. Até a próxima.
Comments