- Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 13 anos, 7 meses atrás por
gazioli.
-
AutorPosts
-
7 de agosto de 2012 às 5:00 am #104222
gazioli
ParticipanteSenhores, tenho uma dúvida e gostaria da ajuda de vocês por favor.
Uma sessão X esta executando várias atualizações (sem commit) o Oracle vai proteger os dados gerando um segmento de Undo. Em outra sessão dou KILL na sessão X, no entanto a sessão fica marcada como KILLED e acredito que o PMON (ou SMON não tenho certeza) irá desfazer as transações liberando os dados da UNDO. (O script para verificar quantos blocos precisam ser desfeitos esta abaixo). Enquanto a Sessão X permanece como KILLED o processo SPID ainda existe, o que acontece ao eu dar KILL (# KILL -9 SPID) no Sistema Operacional? sei que a sessão X será removida (disconnect) e o script utilizado acima para verificar os blocos de undo sumiram.
A discussão surge ai: isso pode corromper de alguma forma a consistência do Banco? ou o Banco vai continuar em background desfazendo as alterações? da mesma forma quando é feito um shutdown abort ao iniciar o Oracle executa o processo de recovery se necessário?
espero que tenha ficado claro minha dúvida! agradeço aos comentários.
abaixo script:
SELECT s.username,
s.sid,
s.serial#,
t.used_ublk,
t.used_urec,
rs.segment_name,
r.rssize,
r.status
FROM v$transaction t,
v$session s,
v$rollstat r,
dba_rollback_segs rs
WHERE s.saddr = t.ses_addr
AND t.xidusn = r.usn
AND rs.segment_id = t.xidusn
ORDER BY t.used_ublk DESC;Att.,
_____________
Gazioli8 de agosto de 2012 às 1:07 am #104230Fábio Prado
Participantegazioli,
Se vc matar a sessão com kill -9 o PMON irá desfazer as alterações. Já precisei usá-lo várias vezes e nunca tive problemas com dados corrompidos, porém acredito que sempre há risco, mesmo que mínimo , de corromper os dados!
Qto ao shutdown abort evite este comando, eu já precisei usá-lo e não tive problemas, mas conheço DBAs que usaram e que tiveram objetos corrompidos no dicionário de dados! Use como última opção para parar o BD, qdo nenhuma das outras alternativas irá te ajudar!
[]s
Fábio Prado
http://www.fabioprado.net8 de agosto de 2012 às 3:25 am #104231gazioli
ParticipanteFala Fábio!
Realmente foi da forma como eu pensei que o Oracle iria resolver a situação, mas estava na dúvida e queria a opinião de mais alguém. O KILL -9 no processo teria o mesmo efeito que uma conexão desconectar do banco de forma Anormal (como uma queda na rede ou energia no client)
Quanto ao Shutdown abort eu só uso e já precisei, somente em ultimo caso.Agradeço sua ajuda!
abs,
Gazioli
-
AutorPosts
- Você deve fazer login para responder a este tópico.