Re: [oracle_br] Kill session no oracle RAC
Olá Duilio, na verdade, o mais recomendado é vc matar a sessão direto no sistema operacional. O que costumo fazer, é identificar a sessão que quero matar, identificar qual servidor está aberto o processo, e pegar o OS Process Number. Aí vc vai no prompt do nó (instance name) e manda bala com: kill -9 Process_number Roda a consulta abaixo que vc identifica a Instance Name (nó) e o número do processo. Abraço Alex SELECT * FROM ( select s.USERNAME, p.spid os_process, s.STATUS, s.OSUSER, s.MACHINE, s.TERMINAL, s.PROGRAM, TO_CHAR(s.LOGON_TIME,'DD/MM/ HH24:MI:SS') LOGON_TIME, s.LAST_CALL_ET, to_char(trunc((sysdate - s.logon_time) * 1440 / 60)) || ':' || ltrim(to_char(mod((trunc((sysdate - s.logon_time) * 1440)), 60), '00')) ELAPSED_LOGON, to_char(trunc(s.LAST_CALL_ET / 3600)) || ':' || ltrim(to_char(trunc(s.LAST_CALL_ET / 60) - (trunc(s.LAST_CALL_ET / 3600) * 60), '00')) last_call, s.inst_id, di.instance_name, di.host_name, s.SID, s.SERIAL#, s.PROCESS, s.USER#, s.SERVER, s.SQL_ADDRESS, s.SQL_HASH_VALUE, s.MODULE, s.ACTION, s.CLIENT_INFO, io.BLOCK_GETS, io.CONSISTENT_GETS, io.block_gets + io.consistent_gets logical_gets, io.PHYSICAL_READS, round(decode(io.block_gets + io.consistent_gets, 0, 1, 1 - round(io.physical_reads / (io.block_gets + io.consistent_gets), 4)), 2) hit_rate, io.BLOCK_CHANGES, io.CONSISTENT_CHANGES from sys.gv_$session s, sys.gv_$sess_io io, sys.gv_$process p, sys.gv_$instance di where s.sid = io.sid(+) and s.inst_id = io.inst_id(+) and s.username is not null and s.paddr = p.addr(+) and s.inst_id = p.inst_id and s.inst_id = di.inst_id ) WHERE 1=1 ORDER BY USERNAME ASC --- Em qua, 6/1/10, Duilio Bruniera Junior bruni...@gmail.com escreveu: De: Duilio Bruniera Junior bruni...@gmail.com Assunto: [oracle_br] Kill session no oracle RAC Para: oracle_br@yahoogrupos.com.br Data: Quarta-feira, 6 de Janeiro de 2010, 19:59 Ai pessoal todo mundo aqui sabe como matar uma sessão no oracle single instance. Correto? segue abaixo SQL alter system kill session 'SID,SERIAL#' immediate; Agora é o seguinte como eu mato uma sessão em um oracle rac? eu ja vi na net o pessoal passando esse comando: SQL alter system kill session 'SID,SERIAL#,@INST_ID' immediate; ja vi sem o @ SQL alter system kill session 'SID,SERIAL#,INST_ID' immediate; já vi tambem com e sem o immediate, mais qualquer um pra mim retorna o mesmo erro segue abaixo ORA-00026: missing or invalid session ID e antes que perguntem, sim a sessão existe. alguem tem uma luz? [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com..br/ Links do Yahoo! Grupos Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com
Res: [oracle_br] Kill session no oracle RAC
Escrevi no blog ha um tempo algumas maneiras de você não só matar a sessão mas exorcizá-la rs..., quem quiser 0011borthers.blogspot.com. Atenciosamente, Caio Spadafora, Database Administrator, http://0011brothers.blogspot.com/ De: Alex Oracle alex80.li...@yahoo.com.br Para: oracle_br@yahoogrupos.com.br Enviadas: Quinta-feira, 7 de Janeiro de 2010 13:21:56 Assunto: Re: [oracle_br] Kill session no oracle RAC Olá Duilio, na verdade, o mais recomendado é vc matar a sessão direto no sistema operacional. O que costumo fazer, é identificar a sessão que quero matar, identificar qual servidor está aberto o processo, e pegar o OS Process Number. Aí vc vai no prompt do nó (instance name) e manda bala com: kill -9 Process_number Roda a consulta abaixo que vc identifica a Instance Name (nó) e o número do processo. Abraço Alex SELECT * FROM ( select s.USERNAME, p.spid os_process, s.STATUS, s.OSUSER, s.MACHINE, s.TERMINAL, s.PROGRAM, TO_CHAR(s.LOGON_ TIME,'DD/ MM/ HH24:MI:SS') LOGON_TIME, s.LAST_CALL_ ET, to_char(trunc( (sysdate - s.logon_time) * 1440 / 60)) || ':' || ltrim(to_char( mod((trunc( (sysdate - s.logon_time) * 1440)), 60), '00')) ELAPSED_LOGON, to_char(trunc( s.LAST_CALL_ ET / 3600)) || ':' || ltrim(to_char( trunc(s.LAST_ CALL_ET / 60) - (trunc(s.LAST_ CALL_ET / 3600) * 60), '00')) last_call, s.inst_id, di.instance_ name, di.host_name, s..SID, s.SERIAL#, s.PROCESS, s.USER#, s.SERVER, s.SQL_ADDRESS, s.SQL_HASH_VALUE, s.MODULE, s.ACTION, s.CLIENT_INFO, io.BLOCK_GETS, io.CONSISTENT_ GETS, io.block_gets + io.consistent_ gets logical_gets, io.PHYSICAL_ READS, round(decode( io.block_ gets + io.consistent_ gets, 0, 1, 1 - round(io.physical_ reads / (io.block_gets + io.consistent_ gets), 4)), 2) hit_rate, io.BLOCK_CHANGES, io.CONSISTENT_ CHANGES from sys.gv_$session s, sys.gv_$sess_ io io, sys.gv_$process p, sys.gv_$instance di where s.sid = io.sid(+) and s.inst_id = io.inst_id(+ ) and s.username is not null and s.paddr = p.addr(+) and s.inst_id = p.inst_id and s.inst_id = di.inst_id ) WHERE 1=1 ORDER BY USERNAME ASC --- Em qua, 6/1/10, Duilio Bruniera Junior bruni...@gmail. com escreveu: De: Duilio Bruniera Junior bruni...@gmail. com Assunto: [oracle_br] Kill session no oracle RAC Para: oracle...@yahoogrup os.com.br Data: Quarta-feira, 6 de Janeiro de 2010, 19:59 Ai pessoal todo mundo aqui sabe como matar uma sessão no oracle single instance. Correto? segue abaixo SQL alter system kill session 'SID,SERIAL# ' immediate; Agora é o seguinte como eu mato uma sessão em um oracle rac? eu ja vi na net o pessoal passando esse comando: SQL alter system kill session 'SID,SERIAL# ,@INST_ ID' immediate; ja vi sem o @ SQL alter system kill session 'SID,SERIAL# ,INST_ID ' immediate; já vi tambem com e sem o immediate, mais qualquer um pra mim retorna o mesmo erro segue abaixo ORA-00026: missing or invalid session ID e antes que perguntem, sim a sessão existe. alguem tem uma luz? [As partes desta mensagem que não continham texto foram removidas] - - -- - - - - - - Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail- archive.com/ oracle_br@ yahoogrupos. com.br/ - - - - - - Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr .com..br/ - - - - - - Links do Yahoo! Grupos _ _ _ _ _ _ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbusca dos.yahoo. com Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: Res: [oracle_br] Kill session no oracle RAC
Caio, Muito bom. Só que tem um kill que é mais potente que o kill -9. Uma vez tive problemas com um Oracle Collaboration Suite num cliente, que mesmo dando kill -9, demorava um belo tempo. O Suporte da Oracle usou o kill -18. Esse aí, meu caro, é na hora! Abraço! Marcus Vinicius Miguel Pedro OCP Database 9i OCP Database 10g OCE RAC 10g mvmpe...@yahoo.com.br On 07/01/2010, at 16:09, Caio Spadafora wrote: Escrevi no blog ha um tempo algumas maneiras de você não só matar a sessão mas exorcizá-la rs..., quem quiser 0011borthers.blogspot.com. Atenciosamente, Caio Spadafora, Database Administrator, http://0011brothers.blogspot.com/ De: Alex Oracle alex80.li...@yahoo.com.br Para: oracle_br@yahoogrupos.com.br Enviadas: Quinta-feira, 7 de Janeiro de 2010 13:21:56 Assunto: Re: [oracle_br] Kill session no oracle RAC Olá Duilio, na verdade, o mais recomendado é vc matar a sessão direto no sistema operacional. O que costumo fazer, é identificar a sessão que quero matar, identificar qual servidor está aberto o processo, e pegar o OS Process Number. Aí vc vai no prompt do nó (instance name) e manda bala com: kill -9 Process_number Roda a consulta abaixo que vc identifica a Instance Name (nó) e o número do processo. Abraço Alex SELECT * FROM ( select s.USERNAME, p.spid os_process, s.STATUS, s.OSUSER, s.MACHINE, s.TERMINAL, s.PROGRAM, TO_CHAR(s.LOGON_ TIME,'DD/ MM/ HH24:MI:SS') LOGON_TIME, s.LAST_CALL_ ET, to_char(trunc( (sysdate - s.logon_time) * 1440 / 60)) || ':' || ltrim(to_char( mod((trunc( (sysdate - s.logon_time) * 1440)), 60), '00')) ELAPSED_LOGON, to_char(trunc( s.LAST_CALL_ ET / 3600)) || ':' || ltrim(to_char( trunc(s.LAST_ CALL_ET / 60) - (trunc(s.LAST_ CALL_ET / 3600) * 60), '00')) last_call, s.inst_id, di.instance_ name, di.host_name, s..SID, s.SERIAL#, s.PROCESS, s.USER#, s.SERVER, s.SQL_ADDRESS, s.SQL_HASH_VALUE, s.MODULE, s.ACTION, s.CLIENT_INFO, io.BLOCK_GETS, io.CONSISTENT_ GETS, io.block_gets + io.consistent_ gets logical_gets, io.PHYSICAL_ READS, round(decode( io.block_ gets + io.consistent_ gets, 0, 1, 1 - round(io.physical_ reads / (io.block_gets + io.consistent_ gets), 4)), 2) hit_rate, io.BLOCK_CHANGES, io.CONSISTENT_ CHANGES from sys.gv_$session s, sys.gv_$sess_ io io, sys.gv_$process p, sys.gv_$instance di where s.sid = io.sid(+) and s.inst_id = io.inst_id(+ ) and s.username is not null and s.paddr = p.addr(+) and s.inst_id = p.inst_id and s.inst_id = di.inst_id ) WHERE 1=1 ORDER BY USERNAME ASC --- Em qua, 6/1/10, Duilio Bruniera Junior bruni...@gmail. com escreveu: De: Duilio Bruniera Junior bruni...@gmail. com Assunto: [oracle_br] Kill session no oracle RAC Para: oracle...@yahoogrup os.com.br Data: Quarta-feira, 6 de Janeiro de 2010, 19:59 Ai pessoal todo mundo aqui sabe como matar uma sessão no oracle single instance. Correto? segue abaixo SQL alter system kill session 'SID,SERIAL# ' immediate; Agora é o seguinte como eu mato uma sessão em um oracle rac? eu ja vi na net o pessoal passando esse comando: SQL alter system kill session 'SID,SERIAL# ,@INST_ ID' immediate; ja vi sem o @ SQL alter system kill session 'SID,SERIAL# ,INST_ID ' immediate; já vi tambem com e sem o immediate, mais qualquer um pra mim retorna o mesmo erro segue abaixo ORA-00026: missing or invalid session ID e antes que perguntem, sim a sessão existe. alguem tem uma luz? [As partes desta mensagem que não continham texto foram removidas] - - -- - - - - - - Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail- archive.com/ oracle_br@ yahoogrupos. com.br/ - - - - - - Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr .com..br/ - - - - - - Links do Yahoo! Grupos _ _ _ _ _ _ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbusca dos.yahoo. com __ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
[oracle_br] Kill session no oracle RAC
Ai pessoal todo mundo aqui sabe como matar uma sessão no oracle single instance. Correto? segue abaixo SQL alter system kill session 'SID,SERIAL#' immediate; Agora é o seguinte como eu mato uma sessão em um oracle rac? eu ja vi na net o pessoal passando esse comando: SQL alter system kill session 'SID,SERIAL#,@INST_ID' immediate; ja vi sem o @ SQL alter system kill session 'SID,SERIAL#,INST_ID' immediate; já vi tambem com e sem o immediate, mais qualquer um pra mim retorna o mesmo erro segue abaixo ORA-00026: missing or invalid session ID e antes que perguntem, sim a sessão existe. alguem tem uma luz? [As partes desta mensagem que não continham texto foram removidas]