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 |
Telemetria PDV.
...
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%';
No servidor padrão de PDV da produção está OK o DBLINK e sinônimos não precisa criar, Não é necessário criar a conexão com o cloud, está liberado somente IP interno da empresa, portanto não funciona funcionará 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.
...