Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
talesdejesus
Contributor III
Contributor III

Dúvida Extração de Dados em Produção

Olá Mestres do Qlik

Estou com uma dúvida rápida,

Na empresa em que trabalho implantamos o Qlik recentemente...então como manda o figurino criamos dois ambientes de homologação e produção.

A questão é a seguinte...sempre que vamos colocar uma versão em produção esperamos o sistema deixar de ser utilizado (Umas 19:00) para realizar a extração dos dados.

Gostaria de saber se tem algum problema da extração ser realizada durante o dia mesmo?

se isso pode prejudicar alguma coisa no sistema ou lockar alguma tabela no banco?

Pois é bem complicado sempre ter que ficar até mais tarde no trabalho

Pelo que entendo o qlik view executa "SELECT" na base e isso não teria problemas ser realizado em qualquer horario.

E para informar o banco que trabalhamos é Oracle.

Aguardo o Help de Vocês.

Abraços!

Labels (3)
1 Solution

Accepted Solutions
offjunior
Creator
Creator

Bom dia Tales!

Então, como alguns já comentaram, eu posso reforçar, fazendo consulta via SQL você não fará LOCK no banco de dados muito menos nos registros quando o banco é Oracle. A sua consulta sim pode encontrar alguns LOCKs  caso o registro que você for ler ele esteja sendo atualizado, somente assim, por que se o registro estiver sendo criado ele ainda não aparecerá para consulta. Então, no caso de ter algum LOCK pelo caminho por onde sua consulta vai passar, o Oracle dependendo da situação e configuração do banco vai tratar isso pra você (99% dos casos). Caso ele não trate provavelmente sua aplicação Qlikview receberá um erro de TimeOut por que não conseguiu responder dentro do tempo o resultado da sua consulta. Esse é o pior cenário, mas com certeza você não fará o Banco de Dados parar por motivo de LOCK. Agora, outro cenário é se a sua consulta é nada performática e muito extensa em volume de dados, ai sim, caso seu hardware não aguente, todo o sistema transacional pode ficar lento, e em algumas vezes, repetindo, dependendo das configurações de banco ele pode sim "parar".

Adicional:

Na empresa onde estou atualmente temos consultas de 30 em 30 minutos, para ler apontamentos de produção. Nunca aconteceu do banco parar, e o volume de dados é IMENSO.

Abraço!

View solution in original post

8 Replies
nicolett_yuri

Tales, tudo vai depender de seu ambiente. Se as querys utilizadas não afetam a performance do sistema, então não vejo nenhum problema.

Em relação ao lock, você pode modificar sua query para dar "no lock" nas tabelas.

fernando_tonial
Partner - Specialist
Partner - Specialist

Olá Tales,

Quando você executa uma consulta no Oracle, dificilmente ele irá efetuar o bloqueio de registros, mas pode acontecer, principalmente quando algum usuário do sistema transacional estiver fazendo alguma alteração ou inserção de dados, mas como disse anteriormente, é muito difícil. O Oracle controla isso muito bem, pelo menos nunca tive esse tipo de problema.

Recomendo a você agendar a carga de dados através do QlikView Server. Assim você pode sair no horário.

Qlikfique-se.

Fernando Tonial

Don't Worry, be Qlik.
talesdejesus
Contributor III
Contributor III
Author

Olá Yuri,

Dei uma pesquisada não encontrei esse função para Oracle.

Vou dar mais uma olhada.

Então isso realmente pode acontecer na extração?

Vocês não conhecem nehum recurso ou alternativa no qlik view que resolveria isso?

Se tiver mais alguma outra dica... ontem deu uns problemas aqui na atualização sai do trabalho as 21:00 e meu horário é até as 17:00.

talesdejesus
Contributor III
Contributor III
Author

Fernando,

Temos o agendamento da carga sendo realizado e funcionando no Server.

Mas mesmo que tendo isso sempre testamos a extração pois nossas informações são de um sistema de saúde que funciona em algumas cidades do Rio Grande do Sul e trabalhamos com um volume de dados muito grande.

Além disso preciso garantir que as extrações e o reload dos painéis funcionarão nos dias seguintes.

O que sempre faço é apenas uma extração inicial para confirmar que está tudo certo, e gostaria de fazer essa extração durante o dia mesmo...mas tenho dúvidas se isso pode prejudicar o funcionamento do sistema que está em execução durante o dia.

nicolett_yuri

Tales, se não me engano o Oracle trata isso sozinho, mas existe um comando que você pode testar:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

offjunior
Creator
Creator

Bom dia Tales!

Então, como alguns já comentaram, eu posso reforçar, fazendo consulta via SQL você não fará LOCK no banco de dados muito menos nos registros quando o banco é Oracle. A sua consulta sim pode encontrar alguns LOCKs  caso o registro que você for ler ele esteja sendo atualizado, somente assim, por que se o registro estiver sendo criado ele ainda não aparecerá para consulta. Então, no caso de ter algum LOCK pelo caminho por onde sua consulta vai passar, o Oracle dependendo da situação e configuração do banco vai tratar isso pra você (99% dos casos). Caso ele não trate provavelmente sua aplicação Qlikview receberá um erro de TimeOut por que não conseguiu responder dentro do tempo o resultado da sua consulta. Esse é o pior cenário, mas com certeza você não fará o Banco de Dados parar por motivo de LOCK. Agora, outro cenário é se a sua consulta é nada performática e muito extensa em volume de dados, ai sim, caso seu hardware não aguente, todo o sistema transacional pode ficar lento, e em algumas vezes, repetindo, dependendo das configurações de banco ele pode sim "parar".

Adicional:

Na empresa onde estou atualmente temos consultas de 30 em 30 minutos, para ler apontamentos de produção. Nunca aconteceu do banco parar, e o volume de dados é IMENSO.

Abraço!

talesdejesus
Contributor III
Contributor III
Author

Muito Obrigado por todas as respostas...

Vou montar um ambiente e realizarmos alguns testes.

Obrigado!

Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada

Have fun, be Qlik