Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DADOS GERAIS

Produto:

TOTVS Varejo Supermercados PDV

Linha de Produto:

Linha Consinco

Segmento:

Varejo

Módulo:Servidor de PDV
Função:Telemetria PDV
País:Brasil
Ticket:--
Requisito/Story/Issue (informe o requisito relacionado) :DSUPPDVINFRA-1080


02. SITUAÇÃO/REQUISITO

Telemetria PDV.

03. SOLUÇÃO

Com esses dados, será possível obter diversas informações vitais como por exemplo, quais versões estão aplicados até o momento, espaço em disco, problemas de integração, falhas de NFC-e e muitas outras.

1. Preparar dados de conexão no TNSNAMES.ORA

CLOUDPDV =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 152.67.34.82)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL_gru1tk.consinco.vcnrootskyoneda.oraclevcn.com)
    )
  )

2. Criar DBLink com CLOUDPDV usuário TELEMETRIAPDV:

drop public database link cloudpdv;
create public database link cloudpdv
connect to telemetriapdv
identified by telemetriapdv
using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 152.67.34.82)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL_gru1tk.consinco.vcnrootskyoneda.oraclevcn.com)))';

3. Criar os sinônimos de conexão com a estrutura:

create or replace synonym ifc_erpgrupo for ifc_erpgrupo@cloudpdv;
create or replace synonym ifc_grupo for ifc_grupo@cloudpdv;
create or replace synonym ifc_histmanutencao for ifc_histmanutencao@cloudpdv;
create or replace synonym ifc_ifbd for ifc_ifbd@cloudpdv;
create or replace synonym ifc_ifbdtablespace for ifc_ifbdtablespace@cloudpdv;
create or replace synonym ifc_ifcargapdv for ifc_ifcargapdv@cloudpdv;
create or replace synonym ifc_ifcfe for ifc_ifcfe@cloudpdv;
create or replace synonym ifc_ifcheckout for ifc_ifcheckout@cloudpdv;
create or replace synonym ifc_ifcheckoutversao for ifc_ifcheckoutversao@cloudpdv;
create or replace synonym ifc_ifcpu for ifc_ifcpu@cloudpdv;
create or replace synonym ifc_ifdifmov for ifc_ifdifmov@cloudpdv;
create or replace synonym ifc_ifdisco for ifc_ifdisco@cloudpdv;
create or replace synonym ifc_ifdocto for ifc_ifdocto@cloudpdv;
create or replace synonym ifc_ifimpmov for ifc_ifimpmov@cloudpdv;
create or replace synonym ifc_iflog for ifc_iflog@cloudpdv;
create or replace synonym ifc_ifmemoria for ifc_ifmemoria@cloudpdv;
create or replace synonym ifc_ifnfe for ifc_ifnfe@cloudpdv;
create or replace synonym ifc_ifnferetorno for ifc_ifnferetorno@cloudpdv;
create or replace synonym ifc_ifservice for ifc_ifservice@cloudpdv;
create or replace synonym ifc_ifso for ifc_ifso@cloudpdv;
create or replace synonym ifc_parammonvalor for ifc_parammonvalor@cloudpdv;
create or replace synonym ifc_parampdvvalor for ifc_parampdvvalor@cloudpdv;
create or replace synonym ifc_permissaogrupo for ifc_permissaogrupo@cloudpdv;
create or replace synonym ifc_permissaousuario for ifc_permissaousuario@cloudpdv;
create or replace synonym ifc_usuario for ifc_usuario@cloudpdv;
create or replace synonym ifc_erpgrupopessoa for ifc_erpgrupopessoa@cloudpdv;

4. Posso acessar direto com o usuário TELEMETRIAPDV?

  Sim, porém a estabilidade da conexão via DBLINK é mais suave.
 
5. Descritivo da estrutura:

ifc_erpgrupo             : Grupo de clientes, utilizada para descobrir os dados das demais IFC_* ligado pelo SEQGRUPO = SEQGRUPOID
ifc_histmanutencao       : Histórico de alteração de parâmetros do PDV, conseguirá descobrir qual usuário alterou tal parâmetro
ifc_ifbd                 : Informações do banco de dados como versão
ifc_ifbdtablespace       : Informações de banco dados, espaço disponível em tablespace
ifc_ifcargapdv           : Informações de cargas pendentes de PDVs
ifc_ifcfe                : Informações de inconsistências de CF-e
ifc_ifcheckout           : Informações de PDVs
ifc_ifcheckoutversao     : Informações de versões do PDVs
ifc_ifcpu                : Informações de CPU do servidor de PDVs
ifc_ifdifmov             : Informações de diferenças de movimentações
ifc_ifdisco              : Informações de espaço disponível em disco no servidor de PDVs
ifc_ifdocto              : Informações de vendas, exportadas, com falhas, etc.
ifc_ifimpmov             : Informações de importações de vendas, status, falhas, etc.
ifc_iflog                : Informações de Log do servidor
ifc_ifmemoria            : Informações de utilização de memória do servidor de PDVs
ifc_ifnfe                : Informações de NF-e/NFC-e processados, com falhas, rejeições, etc.
ifc_ifnferetorno         : Informações de retorno de NF-e/NFC-e
ifc_ifservice            : Informações do estado de serviços do servidor de PDVs
ifc_ifso                 : Informações do sistema operacional do servidor de PDVs
ifc_parammonvalor        : Parametrizações do monitor no cliente
ifc_parampdvvalor        : Parametrizações dos PDVs no cliente
ifc_permissaogrupo       : Cadastros de permissões por grupos no cliente
ifc_permissaousuario     : Cadastros de permissões por usuários no cliente
ifc_grupo                : Cadastros de grupos no cliente
ifc_usuario              : Cadastros de no cliente
ifc_erpgrupopessoa       : Relação das empresa vinculadas com grupos de clientes

Exemplo descobrir como está o andamento das atualizações por clientes:

  select b.descricao cliente, a.versao, count(1) qtde
    from ifc_ifcheckoutversao a, ifc_erpgrupo b
   where b.seqgrupo  = a.seqgrupoid
     and a.qtdativo > 0
   group by b.descricao, a.versao  
   order by b.descricao;

6. Quando falhar a sincronização ou existir divergência comparado com a base de dados do cliente, como reprocessar?

 6.1 Conecta com o usuário TELEMETRIAPDV e remova os registros das entidades, preferencialmente por grupo de cliente, ex:
 
    delete from ifc_ifbd where seqgrupoid = 100;
    delete from ifc_ifbdtablespace where seqgrupoid = 100;
    delete from ifc_ifcargapdv where seqgrupoid = 100;
    delete from ifc_ifcfe where seqgrupoid = 100;
    delete from ifc_ifcheckout where seqgrupoid = 100;
    delete from ifc_ifcheckoutversao where seqgrupoid = 100;
    delete from ifc_ifcpu where seqgrupoid = 100;
    delete from ifc_ifdifmov where seqgrupoid = 100;
    delete from ifc_ifdisco where seqgrupoid = 100;
    delete from ifc_ifdocto where seqgrupoid = 100;
    delete from ifc_ifimpmov where seqgrupoid = 100;
    delete from ifc_iflog where seqgrupoid = 100;
    delete from ifc_ifmemoria where seqgrupoid = 100;
    delete from ifc_ifnfe where seqgrupoid = 100;
    delete from ifc_ifnferetorno where seqgrupoid = 100;
    delete from ifc_ifservice where seqgrupoid = 100;
    delete from ifc_ifso where seqgrupoid = 100;
 
 6.2 Conecta no cliente no banco de dados CONSINCOMONITOR e execute:

   update tb_jobulttable a
      set a.ultidupd = 0
    where a.tabela like 'TB_IF%';

04. DEMAIS INFORMAÇÕES

No servidor padrão de PDV da produção está OK o DBLINK e sinônimos não precisa criar, a conexão com o cloud está liberado somente IP interno da empresa, portanto não funciona fora do nosso ambiente, essa estrutura é alimentada periodicamente pelo Job do servidor de PDVs é importante manter a estabilidade e não remover arquivos do Cloud de PDV.