Passo 04: Configuração do Job de Atualização de CargasPara que as informações do ERP estejam atualizadas na base de dados do Data Warehouse, existem duas formas: Manualmente através do Gerenciador DW - DW00010 ou automaticamente através de um job no banco de dados. ManualmenteÉ feita através da aplicação Gerenciador DW / Aba Cargas onde o usuário pode iniciar cargas gerais, ou separadas de fatos e dimensões. Automática É feita através de um JOB que poderá ser parametrizado o período de atualização. OBS: É importante realizar a configuração do Job de forma diária, após a execução da baixa de PDV e média de venda. O script padrão de carga geral é: Begin
Pkg_Etl_Gerencial.sp_Executacargageral( null );
End; |
Este primeiro modelo dispara uma carga geral, atualizando primeiro todas as tabelas dimensão e depois todas tabelas fato ativas no ambiente, considerando os dias de refresh cadastrados no Gerenciador DW e todas empresas. O exemplos abaixo disparam, respectivamente, uma carga somente nas tabelas dimensão e outra carga geral somente das tabelas fato ativas. Begin
Pkg_Etl_Gerencial.sp_Executacargageral( '', sysdate, sysdate, 'D');
End;
Begin
Pkg_Etl_Gerencial.sp_Executacargageral( '', sysdate, sysdate, 'F');
End;
|
O exemplo abaixo dispara uma carga isolada das tabelas de venda no DW somente das empresas ativas no ERP. Begin
Pkg_Etl_Gerencial.sp_FatoVenda( 'A',
'01-jan-2024',
'31-jan-2024',
'S',
'S' );
End;
|
O exemplo abaixo dispara uma carga isolada dos últimos 15 dias de estoque Begin
Pkg_Etl_Gerencial.sp_FatoEstoque( '',
trunc(sysdate - 15),
trunc(sysdate)) ;
End; |
Sugestão de estrutura de carga: As cargas de tabelas dimensão funcionam um pouco diferente das tabelas fato, onde, algumas fato possuem dependência das dimensões, portanto os fatos não devem ser atualizados antes das dimensões. Outro ponto é que os fatos podem ser executados em paralelo agrupados por empresa sem problemas de conflito de dados. Uma estrutura performática ficaria da seguinte forma Um job inicial que fará a atualização das dimensões Begin
Pkg_Etl_Gerencial.sp_Executacargageral( '', sysdate, sysdate, 'D');
End;
|
- Jobs agrupados por empresa que vão executar em paralelo e serão disparados pelo job de dimensão quando o mesmo terminar.
-- Supondo que exista o NROEMPRESA 1 até o 30 cadastrados, a carga pode ser dividida em 3 jobs com 10 empresas cada, ficando da forma:
-- JOB 1
Begin
Pkg_Etl_Gerencial.sp_Executacargageral( '1,2,3,4,5,6,7,8,9,10', trunc(sysdate - 5), trunc(sysdate - 5), 'F' );
End;
-- JOB 2
Begin
Pkg_Etl_Gerencial.sp_Executacargageral( '11,12,13,14,15,16,17,18,19,20', trunc(sysdate - 5), trunc(sysdate - 5), 'F' );
End;
-- JOB 3
Begin
Pkg_Etl_Gerencial.sp_Executacargageral( '21,22,23,24,25,26,27,28,29,30', trunc(sysdate - 5), trunc(sysdate - 5), 'F' );
End; |
|