***********************************************************************
Tabela a ser utilizada.
-- Create tablecreate table TELEPONTO
( C1 CHAR(2),
C2 CHAR(2),
C3 CHAR(7),
C4 CHAR(12),
C5 CHAR(2),
C6 CHAR(2),
C7 CHAR(4),
C8 CHAR(4),
C9 CHAR(10),
C10 NUMBER(1) default 0)
tablespace WSP_TS;
-- Add comments to the columns
comment on column TELEPONTO.C8 is 'RAMAL';
comment on column TELEPONTO.C9 is 'TELEFONE EXTERNO';
comment on column TELEPONTO.C10 is 'IMPORTADO 0 - NAO 1 - SIM 2 - DIVERGENCIA';
-- Create/Recreate check constraints alter table TELEPONTO add constraint CK_TELEPONTO check (c10 in (0,1,2));
-- Create/Recreate indexes
create index IDX_TELEPONTO on TELEPONTO (C4) tablespace WSP_TS;
create index IDX_TELEPONTO_STATUS on TELEPONTO (C10) tablespace WSP_TS;
********************************************************************
ARQUIVO DE CONTROLE DO SQLLOADER
Arquivo localizado no servidor Oracle em /u04/ponto
arquivo ponto.ctl
/****************
LOAD DATA
INFILE ‘dados.dat’
APPEND INTO TABLE teleponto
FIELDS TERMINATED BY ' '
OPTIONALLY ENCLOSED BY ' '
TRAILING NULLCOLS
(c1, c2,c3,c4,c5,c6,c7,c8, c9 nullif (c9=BLANKS))
\*********************
*********************************************************************
EXEMPLO DO ARQUIVO GERADO PELO TELEPONTO. (ARQUIVO TEXTO)
/**********************
01 01 0004034 131120070659 01 00 8837 0707
01 01 0007865 131120070757 01 00 8908 0708
01 01 0007865 131120071033 01 00 8904 0709
01 01 0007536 131120071159 99 00 0000 0710 3491186939
01 01 0004034 131120071200 01 00 8837 0711
01 01 0004034 131120071258 01 00 8837 0712
01 01 0007865 131120071304 01 00 8908 0713
01 01 0007536 131120071357 99 00 0000 0714 3433124344
01 01 0004034 131120071601 01 00 8837 0715
01 01 0007536 131120071757 99 00 0000 0716 3491186939
01 01 0007865 131120071847 01 00 8904 0717
\***********************
********************************************************************************
Arquivos necessários para execução do processo
Configurações para carregar o arquivo para o Oracle
shell que ira rodar as 00:15 para capturar a data do sistema e copiar arquivo do servidor de TELEPONTO
shell de captura
/**************************
# define a data do arquivo a ser copiado
export arquivo=`date --date 'yesterday' +pt%Y%m%d`
#Acessa o Servidor e copia o arquivo para /u04/ponto
curl -O -u axs:<<
# Gera um arquivo dados.dat com base no arquivo copiadao.
cp /u04/ponto/$arquivo /u04/ponto/dados.dat -f
\**************************
********************************************************************************
Rodar o sqlloader para carregar os dados para a tabela do Oracle
SHELL deve ter os seguintes comandos para poder executar o sqlloader programado pelo crontab ou manualmente.
/*******************
export ORACLE_BASE=/ora/app/oracle
export ORACLE_HOME=/ora/app/oracle/product/10.1.0/db_1
export ORACLE_SID=acad
LD_LIBRARY_PATH=$ORACLE_HOME/jdk/jre/lib/i386/server:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export log=`date +%d-%m-%Y_ponto.log`
cd /u04/ponto
sqlldr userid=wsp/<<
\*****************************