Chiappa, no ponto 1 eu concordo com tudo que voce disse. Isso eh um workaround 
vulgo gambiarra para poder sanar o problema do cliente enquanto nao se descobri 
a causa raiz, um chamado com a Oracle ja foi aberto para suporte.
Em relacao ao item 2 a minha consulta funciona sim, esse pid eh o mesmo pid do 
SO, tanto que ela existe na v$process, e nao na v$session. Tanto que funcionou!
Essa questao do alter system disconnect session eu vou testar tambem, obrigado 
pela dica.  

    Em Terça-feira, 12 de Dezembro de 2017 14:25, "jlchia...@yahoo.com.br 
[oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
 

     Bom, antes de responder algumas obs importantes :

1. absolutamente NÃO É NORMAL que vc tenha que ficar matando sessão manualmente 
: necessariamente ALGUMA COISA está causando a sessão ficar 'pendurada' , e vc 
DEVERIA MESMO encontrar e solucionar esse 'alguma coisa'... Há muitas 
possibilidades, que vão desde falha na infra de rede fazendo a comunicação com 
o banco ser perdida, até bugs em middleware, ou mesmo aplicação porquinha que 
sai criando conexões novas sem desativar anteriores, coisas assim.... Em ALGUNS 
CASOS inclusive pode ser possível como work-around vc solicitar que o banco 
mesmo elimine sessões inativas por x minutos aplicando o DCD e um profile de 
máximo de conexão, mas normalmente o mais correto é encontrar a Causa raiz 
antes de tudo...

2. SE vc for obrigado a por qquer motivo matar a sessão, a sessão normalmente 
fica com status de KILLED apenas se vc usou (incorretamente, imho) o KILL 
SESSIOn ao invés do DISCONNECT SESSION, via de regra muito mais efetivo : 
http://www.fabioprado.net/2014/05/matando-sessoes-no-oracle-database.html é uma 
das refs pra ele

3. Tudo que vou falar na resposta é baseado em conexões DEDICADAS e 
PERMANENTES, e criadas quando a sessão pede conexão : EVIDENTEMENTE não se 
aplica se a sua app está usando qualquer tipo de POOLS DE CONEXÃO, ou se seu 
banco tá usando MTS/SHARED SESSIONs....

Isso posto, a resposta : como eu não uso quase nunca KILL SESSION não tenho 
aqui um ambiente a testar, mas de acordo com a nota metalink "How To Find The 
Process Identifier (pid, spid) After The Corresponding Session Is Killed?" (Doc 
ID 387077.1) é possível que o ponteiro em memória do processo que atendia à 
sessão não fique mais registrado na coluna PADDR da V$SESSION, pois o processo 
de eliminação já começou no banco mas não chegou ainda a ser solicitada remoção 
no SO (seja qual for o motivo - banco intensamente concorrente, rollback sendo 
executado ainda, o que for)... Veja lá se é esse o seu caso, SE FOR ISSO 
obviamente teu JOIN :

SELECT  p.spid
    FROM v$session s,
         v$process p
   WHERE s.paddr       = p.addr....
   
NÂO VAI FUNCIONAR, sim sim ?? Se for isso aplique um dos work-arounds indicados 
para encontrar o SPID (system pid, o id da task no Sistema Operacional) na 
V$PROCESS a partir da linha da V$SESSION que está com STATUS de KILLED, 
provavelmente (já que seu banco é 11g) deve ser :

select spid from v$process where addr=(select creator_addr from v$session where 
STATUS='KILLED');

Ou alguma variação muito próxima....

Aí a segunda parte da resposta : uma vez que vc conseguiu uma query que extraia 
os SPIDs vc TANTO pode escrever um shell script que acione o sqlplus  via 
script e retorne o valor de cada SPID desejado QUANTO pode fazer o contrário, 
ie, dentro do sqlplus gerar um shell script com os comandos necessários - sim, 
um shell script NADA MAIS É do que um arquivo-texto, é Bico gerar um 
arquivo-texto com o output de uma query no sqlplus... Seria algo mais ou menos 
tipo :

==> vc tem um script sqlplus chamado gera_kills.sql contendo :

set term off feedback off verify off pages 0 lines 500 trimspool on head off
spool /tmp/kill_sessions.sh
select 'kill -9 ' || spid from v$process where addr=(select creator_addr from 
v$session where STATUS='KILLED')
/
select 'exit' || chr(10) from dual
/
spool off
exit


Aí teu shell script principal seria tipo :

#!/bin/sh
sqlplus system/senhadele @gera_kills.sql
/tmp/kill_sessions.sh
exit



===> ok ? imho é MUUUITO mais simples vc gerar shell script a partir do sqlplus 
do que fazer o sqlplus se comunicar/retornar valores pro SO....Mas se por qquer 
motivo for isso que vc quer ok, é mais chatinho de fazer mas também é possivel, 
veja 
https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:430819636473 
ou 
https://stackoverflow.com/questions/4953842/how-to-store-result-from-sqlplus-to-a-shell-variable
 para exemplos....

[]s

  Chiappa  #yiv4054497711 #yiv4054497711 -- #yiv4054497711ygrp-mkp {border:1px 
solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv4054497711 
#yiv4054497711ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv4054497711 
#yiv4054497711ygrp-mkp #yiv4054497711hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv4054497711 #yiv4054497711ygrp-mkp #yiv4054497711ads 
{margin-bottom:10px;}#yiv4054497711 #yiv4054497711ygrp-mkp .yiv4054497711ad 
{padding:0 0;}#yiv4054497711 #yiv4054497711ygrp-mkp .yiv4054497711ad p 
{margin:0;}#yiv4054497711 #yiv4054497711ygrp-mkp .yiv4054497711ad a 
{color:#0000ff;text-decoration:none;}#yiv4054497711 #yiv4054497711ygrp-sponsor 
#yiv4054497711ygrp-lc {font-family:Arial;}#yiv4054497711 
#yiv4054497711ygrp-sponsor #yiv4054497711ygrp-lc #yiv4054497711hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv4054497711 
#yiv4054497711ygrp-sponsor #yiv4054497711ygrp-lc .yiv4054497711ad 
{margin-bottom:10px;padding:0 0;}#yiv4054497711 #yiv4054497711actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv4054497711 
#yiv4054497711activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv4054497711
 #yiv4054497711activity span {font-weight:700;}#yiv4054497711 
#yiv4054497711activity span:first-child 
{text-transform:uppercase;}#yiv4054497711 #yiv4054497711activity span a 
{color:#5085b6;text-decoration:none;}#yiv4054497711 #yiv4054497711activity span 
span {color:#ff7900;}#yiv4054497711 #yiv4054497711activity span 
.yiv4054497711underline {text-decoration:underline;}#yiv4054497711 
.yiv4054497711attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv4054497711 .yiv4054497711attach div a 
{text-decoration:none;}#yiv4054497711 .yiv4054497711attach img 
{border:none;padding-right:5px;}#yiv4054497711 .yiv4054497711attach label 
{display:block;margin-bottom:5px;}#yiv4054497711 .yiv4054497711attach label a 
{text-decoration:none;}#yiv4054497711 blockquote {margin:0 0 0 
4px;}#yiv4054497711 .yiv4054497711bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv4054497711 
.yiv4054497711bold a {text-decoration:none;}#yiv4054497711 dd.yiv4054497711last 
p a {font-family:Verdana;font-weight:700;}#yiv4054497711 dd.yiv4054497711last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv4054497711 
dd.yiv4054497711last p span.yiv4054497711yshortcuts 
{margin-right:0;}#yiv4054497711 div.yiv4054497711attach-table div div a 
{text-decoration:none;}#yiv4054497711 div.yiv4054497711attach-table 
{width:400px;}#yiv4054497711 div.yiv4054497711file-title a, #yiv4054497711 
div.yiv4054497711file-title a:active, #yiv4054497711 
div.yiv4054497711file-title a:hover, #yiv4054497711 div.yiv4054497711file-title 
a:visited {text-decoration:none;}#yiv4054497711 div.yiv4054497711photo-title a, 
#yiv4054497711 div.yiv4054497711photo-title a:active, #yiv4054497711 
div.yiv4054497711photo-title a:hover, #yiv4054497711 
div.yiv4054497711photo-title a:visited {text-decoration:none;}#yiv4054497711 
div#yiv4054497711ygrp-mlmsg #yiv4054497711ygrp-msg p a 
span.yiv4054497711yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv4054497711 
.yiv4054497711green {color:#628c2a;}#yiv4054497711 .yiv4054497711MsoNormal 
{margin:0 0 0 0;}#yiv4054497711 o {font-size:0;}#yiv4054497711 
#yiv4054497711photos div {float:left;width:72px;}#yiv4054497711 
#yiv4054497711photos div div {border:1px solid 
#666666;min-height:62px;overflow:hidden;width:62px;}#yiv4054497711 
#yiv4054497711photos div label 
{color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv4054497711
 #yiv4054497711reco-category {font-size:77%;}#yiv4054497711 
#yiv4054497711reco-desc {font-size:77%;}#yiv4054497711 .yiv4054497711replbq 
{margin:4px;}#yiv4054497711 #yiv4054497711ygrp-actbar div a:first-child 
{margin-right:2px;padding-right:5px;}#yiv4054497711 #yiv4054497711ygrp-mlmsg 
{font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv4054497711 
#yiv4054497711ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv4054497711 
#yiv4054497711ygrp-mlmsg select, #yiv4054497711 input, #yiv4054497711 textarea 
{font:99% Arial, Helvetica, clean, sans-serif;}#yiv4054497711 
#yiv4054497711ygrp-mlmsg pre, #yiv4054497711 code {font:115% 
monospace;}#yiv4054497711 #yiv4054497711ygrp-mlmsg * 
{line-height:1.22em;}#yiv4054497711 #yiv4054497711ygrp-mlmsg #yiv4054497711logo 
{padding-bottom:10px;}#yiv4054497711 #yiv4054497711ygrp-msg p a 
{font-family:Verdana;}#yiv4054497711 #yiv4054497711ygrp-msg 
p#yiv4054497711attach-count span {color:#1E66AE;font-weight:700;}#yiv4054497711 
#yiv4054497711ygrp-reco #yiv4054497711reco-head 
{color:#ff7900;font-weight:700;}#yiv4054497711 #yiv4054497711ygrp-reco 
{margin-bottom:20px;padding:0px;}#yiv4054497711 #yiv4054497711ygrp-sponsor 
#yiv4054497711ov li a {font-size:130%;text-decoration:none;}#yiv4054497711 
#yiv4054497711ygrp-sponsor #yiv4054497711ov li 
{font-size:77%;list-style-type:square;padding:6px 0;}#yiv4054497711 
#yiv4054497711ygrp-sponsor #yiv4054497711ov ul {margin:0;padding:0 0 0 
8px;}#yiv4054497711 #yiv4054497711ygrp-text 
{font-family:Georgia;}#yiv4054497711 #yiv4054497711ygrp-text p {margin:0 0 1em 
0;}#yiv4054497711 #yiv4054497711ygrp-text tt {font-size:120%;}#yiv4054497711 
#yiv4054497711ygrp-vital ul li:last-child {border-right:none 
!important;}#yiv4054497711 

   
  • [or... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
    • ... Sérgio Luiz Rodrigues Chaves sergio.cha...@elumini.com.br [oracle_br]
      • ... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
        • ... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
        • ... Rodrigo Mufalani rodr...@mufalani.com.br [oracle_br]
          • ... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
    • ... jlchia...@yahoo.com.br [oracle_br]
      • ... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]
        • ... jlchia...@yahoo.com.br [oracle_br]
        • ... angelo angelolis...@gmail.com [oracle_br]
          • ... Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]

Responder a