TRAVAMENTO SELECT CAMPO BLOB

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 164
Registrado em: Sex, 22 Ago 2008 12:28 pm
Localização: SP

Informações do Ambiente:
* Versão do Oracle: 9i
* Sistema Operacional: Windows 2003

Bom dia pessoal!

Eu tenho um ambiente SAP só que ao executar o seguinte select ele trava e não prossegue:

Selecionar tudo

SELECT *
  FROM "VBDATA"
WHERE "VBKEY"        = :a0 
    AND "VBMODCNT" = :a1
    AND "VBBLKNO"    >= :a2
ORDER BY "VBKEY", "VBMODCNT", "VBBLKNO"
Obs: Essa tabela tem 4 colunas sendo uma outra que não está ai BLOB.

alguém sabe o que pode estar causando esse travamento?

Não existe lock, o problema é que antes executava e depois parou de executar.

Att,

Diego Monteiro
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

se você selecionar os 3 campos não-BLOB, vem o resultado?
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 164
Registrado em: Sex, 22 Ago 2008 12:28 pm
Localização: SP

diegolenhardt,

Não tem como saber ;/

pois é programa standard do SAP.

no developer vem normal.

Att,

Diego Monteiro
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Diego,

Somente complementando esta thread com algumas informações que levantei sobre o tema.

Não conheço SAP. Por isso, me corrija se eu fizer alguma afirmação errada a seguir:

Pelo que pude levantar sobre a tabela VBDATA, trata-se de uma espécie de "tabela temporária" do SAP, que armazena as transações dos usuários.

O processo nesta tabela se desenrola da seguinte forma:

- Em um primeiro momento, as atualizações pendentes dos processos do usuário são armazenadas nesta tabela;
- Em um segundo momento (processo assíncrono), o SAP lê esta tabela, efetua as atualizações definitivas nas tabelas do banco e remove o registro de VBDATA;

Teoricamente, esta tabela deveria se manter "vazia" ou com poucos registros nos períodos de pico. Mas pode ser que, em situações anormais, esta tabela corra o risco de acumular um grande volume de dados.

Desta forma, é necessário ter um cuidado especial com a VBDATA, especialmente no que se refera à otimização do I/O nesta tabela, de forma a garantir uma boa performance.

Em alguns foruns que consultei, os analistas sugerem que se verifique o volume de dados existente nesta tabela. Se estiver elevado, eles sugerem que seja executado o "reorganize update program" (ST14 – Reorganize update requests) para eliminar antigas transações/atualizações pendentes ou que apresentem erros nesta tabela.

Outros foristas recomendam executar o processo de nome "SM13" para eliminar estes registros incompletos.

Alguns cuidados que os foristas de outros sites recomendam para esta tabela:

- A tabela deve ser reorganizada periódicamente, pois sofre um grande volume de inserção/remoção de registros, podendo se encontrar fragmentada;
- Esta reorganização deve envolver a tabela e seus índices;
- Alguns foristas recomendam que os índices da VBDATA sejam reconstruídos semanalmente;
- Sugere-se que o EXTENT (INITIAL e NEXT) desta tabela seja configurado com um valor alto, para evitar que a mesma apresente um número elevado de extents;
- Há notas que sugerem desativar a atualização automática de estatísticas (AUTOMATIC UPDATE STATISTICS) desta tabela, pois a mesma apresenta uma
atualização constante de registros, não havendo necessidade das estatísticas serem geradas constantemente. Para desativar, eles recomendam:
" EXEC SP_AUTOSTATS VBDATA, 'OFF' ";

Algumas dicas sobre reorganização de tabelas do SAP podem ser encontradas neste link:

http://www.saptechies.com/reorganization-faq

O forum abaixo parece ser free e pertencer a uma comunidade do SAP:

http://www.sapfans.com/forums/

Fiz uma pesquisa por VBDATA e encontrei várias threads sobre a mesma.

Não sei se as informações acima vão ajudar você a resolver o seu problema, mas espero ter fornecido alguns subsídios aos membros do forum, para que estes possam
dar sua opinião sobre possíveis soluções para seu problema.

Abraços,

Sergio Coutinho
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 164
Registrado em: Sex, 22 Ago 2008 12:28 pm
Localização: SP

Sergio,


Muito obrigado pelas dicas, essa tabela é exatamente o que você comentou aqui em baixo.
Sobre o extends eu já aumentei a mesma para 128kb e o mesmo para o indice, otimizei as configurações de memória do banco SGA, PGA,etc... verificando na V$SEGMENT_STATISTICS vendo os ItIL waits, não sei o que está acontecendo. ;////

Vou desabilitar essas estatisticas vamos ver o que dá...

Com essas otimozações reiniciamos o DNW(SAP) e o banco... funcionou normalmente por cerca de 4 horas, vou verificar junto ao pessoal de SAP se pode ter algum log(TRACE) que possa estar gigante do SAP, pois já vi isso acontecer com outros produtos travando o mesmo.

Ahh sobre a versao do banco é o 10gr2 tinha colocado 9i, vou fazer um teste tabem no buffer cache dando um flush e testar novamente para ver se funciona.


Sergio muito obrigado mais uma vez!!! se tiver alguma dica serei grato.

Att,

Diego Monteiro
diegopedrao
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 164
Registrado em: Sex, 22 Ago 2008 12:28 pm
Localização: SP

Ahhh esqueci de comentar... o SELECT não vai pois uma sessão do mesmo processo da LOCK (update) na VBHDR(praticamente a mesma coisa).

A VBHDR não tem campo blob, trava nesse update e trava os outros processos, já estou achando que é SAP e não Baanco!!

Att,

Diego Monteiro
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 16 visitantes