Oracle: TRUNCATE às vezes demora

1

Normalmente, truncar uma tabela leva de 5 a 10 segundos. Mas quando várias pessoas trabalham na mesma instância de banco de dados (mas em tabelas diferentes), a operação pode levar mais de uma hora. Como depuro isso?

    
por Aaron Digulla 19.08.2009 / 11:55

2 respostas

4

Os bloqueios na tabela ou nos recursos de dicionário de dados usados pelo comando 'truncar tabela' podem causar isso. O sistema poderia estar esperando por um recurso ser liberado antes de poder fazer o truncamento.

Verifique se a sessão está bloqueada esperando que um bloqueio seja liberado.

Dê uma olhada nas consultas descritas em orafaq.com/node/854 ou dba-oracle.com/t_locked_rows_user_locks.htm para descobrir quais bloqueios podem estar bloqueando.

    
por 19.08.2009 / 15:17
0

Ao usar o armazenamento SAN, a configuração do parâmetro filesystemio_options deve ser revisada. Definir o parâmetro como SETALL ou ASYNCH alivia a sincronização do arquivo de log durante a execução do truncamento.

Em um sistema ocupado, também é recomendável executar gravadores de banco de dados adicionais.

    
por 02.06.2016 / 16:35