- Este tópico contém 7 respostas, 3 vozes e foi atualizado pela última vez 14 anos, 9 meses atrás por
CleitonHanzen.
-
AutorPosts
-
7 de junho de 2011 às 3:09 am #99514
Thiago Vilhena
ParticipantePessoal, já aconteceu com alguém, no oracle 11R2 voce executa alguma coisa pesada por exemplo:
-fazer um add constraint em uma tabela com 802,734,667 de registros que ocupa quase 200gb.
Logico que a constraint vai demorar pra criar. Mas o problema não é só a criação dela. Mas todo processo pesado depois de um certo tempo ele sai. a SESSAO fica boba la.
O resource_limit ta ‘FALSE’
to futucando por aqui ve se acho algo….
7 de junho de 2011 às 2:58 pm #99515CleitonHanzen
ParticipanteOpá…
Não entendi o que vc quis dizer com “fica boba”….rsrsrs
Mas, vamos lá:
- Daonde vc está executando o comando de criação da constraint (servidor ou de uma estação)??
- Qual o evento de espera da sessão quando você percebe esse tipo de situação?
- No 11g tem um parâmetro que “permite” que um comando DDL fique “aguardando” a liberação do lock. Qual o valor desse parâmetro (ddl_lock_timeout)??
abs.
7 de junho de 2011 às 6:52 pm #99518Thiago Vilhena
Participante[quote=”CleitonHanzen”:h3b1lxz1]Opá…
Não entendi o que vc quis dizer com “fica boba”….rsrsrs
Mas, vamos lá:
- Daonde vc está executando o comando de criação da constraint (servidor ou de uma estação)??
- Qual o evento de espera da sessão quando você percebe esse tipo de situação?
- No 11g tem um parâmetro que “permite” que um comando DDL fique “aguardando” a liberação do lock. Qual o valor desse parâmetro (ddl_lock_timeout)??
abs.[/quote]
Eu falei “boba” no sentido de parece que o servidor termina a transação, mas na sessao ainda ta como se fosse presa ela nao me libera a proxima linha de comando parece que está executando. no entando se eu me logar por alguma ferramenta gráfica ou acompanhar os processos ativos e inativos. nao vejo a sessao lá, como se o oracle do nada desse um kill na sessao, mas a sessao fica ali tentando connectar novamente.
- Daonde vc está executando o comando de criação da constraint (servidor ou de uma estação)??
Estação, mas pedi pra executarem no servidor e da o mesmo problema
- Qual o evento de espera da sessão quando você percebe esse tipo de situação?
eu deixo a sessao executanto, abro outra sessao e fico acompanhando os processos ativos e inativos, depois de um certo tempo de acompanhamento vejo q o processo “teoricamente terminou” mas a sessao que pus pra criar a constraint ainda continua “presa” parece que perde a comunicação mas nao me retorna nenhum tipo de mensagem.
- No 11g tem um parâmetro que “permite” que um comando DDL fique “aguardando” a liberação do lock. Qual o valor desse parâmetro (ddl_lock_timeout)??
Po de cabeça nao sei vou dar uma olhada e ponho aqui
7 de junho de 2011 às 6:56 pm #99519CleitonHanzen
ParticipanteOpá….
Acho que se você identificar a sessão e depois identificar o evento que a sessão está, aumenta bastante a chance de vc encontrar o problema…. 😉
7 de junho de 2011 às 7:54 pm #99521felipeg
Participante[quote=”CleitonHanzen”:1gwzn2qy]Opá….
Acho que se você identificar a sessão e depois identificar o evento que a sessão está, aumenta bastante a chance de vc encontrar o problema…. 😉 [/quote]
Pessoal, boa tarde.
Desculpem a intromissão mas não seria melhor gerar um trace dessa sessão e verificar o que ela está fazendo depois de um tempo sem resposta?
Com outras sessões demoradas isso também acontece ou é apenas nesta tarefa?
Atenciosamente,
Felipe.7 de junho de 2011 às 9:25 pm #99524Thiago Vilhena
Participante[quote=”CleitonHanzen”:2yihb4k3]Opá…
Não entendi o que vc quis dizer com “fica boba”….rsrsrs
Mas, vamos lá:
- Daonde vc está executando o comando de criação da constraint (servidor ou de uma estação)??
- Qual o evento de espera da sessão quando você percebe esse tipo de situação?
- No 11g tem um parâmetro que “permite” que um comando DDL fique “aguardando” a liberação do lock. Qual o valor desse parâmetro (ddl_lock_timeout)??
abs.[/quote]
- No 11g tem um parâmetro que “permite” que um comando DDL fique “aguardando” a liberação do lock. Qual o valor desse parâmetro (ddl_lock_timeout)??
ddl_lock_timeout integer 0
7 de junho de 2011 às 9:37 pm #99525CleitonHanzen
Participante[quote=”felipeg”:2t90xmeh]
Pessoal, boa tarde.Desculpem a intromissão mas não seria melhor gerar um trace dessa sessão e verificar o que ela está fazendo depois de um tempo sem resposta?
[/quote]Fala Felipe, blz?
Mas o que o trace “mostraria” que não pode ser obtido “online” consultando a v$session_wait???
Sem contar que, dependendo o nível especificado do trace, o arquivo vai ficar gigantesco… 😉7 de junho de 2011 às 9:44 pm #99526CleitonHanzen
Participante[quote=”Thiago_est”:3lx5leb5][quote=”CleitonHanzen”:3lx5leb5]Opá…
Não entendi o que vc quis dizer com “fica boba”….rsrsrs
Mas, vamos lá:
- Daonde vc está executando o comando de criação da constraint (servidor ou de uma estação)??
- Qual o evento de espera da sessão quando você percebe esse tipo de situação?
- No 11g tem um parâmetro que “permite” que um comando DDL fique “aguardando” a liberação do lock. Qual o valor desse parâmetro (ddl_lock_timeout)??
abs.[/quote]
- No 11g tem um parâmetro que “permite” que um comando DDL fique “aguardando” a liberação do lock. Qual o valor desse parâmetro (ddl_lock_timeout)??
ddl_lock_timeout integer 0[/quote]
Opá…
É cara, acho que o melhor a fazer é :
- Voçê mesmo conectar no servidor e executar o comando diretamente no sqlplus (via conexão local, sem passar pelo listener)
- Se ainda assim a sessão “travar”, identifique a sessão e veja qual o evento de espera. De duas, uma: ou a tabela e o volume de dados é tão grande que o comando vai demorar horas/dias para executar ou tá dando checkpoint not complete e o processo tá se arrastando mais ainda.
Aproveitando a deixa do checkpoint not complete, no alert.log vc não identificou nada de estranho??
-
AutorPosts
- Você deve fazer login para responder a este tópico.