Pessoal, seguinte : vou ter que implementar no meu banco (EE 9.2.0.5, 
em HP-UX 11), a eliminação de sessões (em conexão dedicada, com 
clientes na maioria windows, mas sempre na mesma rede conectando via 
cliente Oracle/sql*net/oracle net), eliminação feita via comandos 
ALTER SYSTEM DISCONNECT 'sid, serial' IMMEDIATE; (claro, mais direto 
seria mandar um KILL direto no processo shadow, mas neste servidor 
não vou ter acesso direto). 
 Creio que todos sabem que no bd Oracle quando vc elimina uma sessão 
ela NÃO é removida até que expire OU que o usuário tente fazer um 
novo acesso ao banco, quando aí sim faça um imediatamenteSabemos nós 
ao usuáriostored procedures (remoção de sessões 
 
 
 [EMAIL PROTECTED]:SQL>show parameters resource_limit
 
 NAME                                 TYPE        VALUE
 ------------------------------------ ----------- --------------------
----------
  resource_limit                       boolean     TRUE
 
  [EMAIL PROTECTED]:SQL>create profile prof_idle_2_minutos
   2* limit idle_time 120;
  
 Perfil criado.
 
 
 [EMAIL PROTECTED]:SQL>alter user scott profile prof_idle_2_minutos;
 
 Usuário alterado.
 
 ==> aí conecto no usuário SCOTT. Veja que  enquanto a sessão não 
está fazendo NADA mas está conectada o idle_time não atua :
 
 [EMAIL PROTECTED]:SQL>select sysdate from dual;
 
 SYSDATE
 -------------------
 04/07/2006 09:47:41
 
 ... não estou fazendo nada , espero uns minutos e volto à sessão, 
tento fazer outro acesso ao banco, vai ok :
 
 [EMAIL PROTECTED]:SQL>/
 
 SYSDATE
 -------------------
 04/07/2006 09:50:18

==> agora vem o teste: vou fazer uma QUERY "grande" e demorada (*** 
NÃO *** é DML, pois no caso de DMLs há que se remover locks, fazer 
rollback, isso é MESMO demorado) :

 [EMAIL PROTECTED]:SQL>select * from all_tab_columns;
 ... executando ...

==> aí consulto a situação na v$session, está lá, está ativa, normal :

....   SID SERIAL# ...  STATUS   SERVER  ...
      ---- -------      -------- ---------    
        20   34889        ACTIVE DEDICATED    

[EMAIL PROTECTED]:SQL>alter system disconnect session '20, 34889' 
immediate;

==> imediatamente a sessão foi marcada como KILLED

[EMAIL PROTECTED]:SQL>select * from v$session where username='SCOTT';

....  SID SERIAL# ...  STATUS   SERVER    ...
.... ---- ------- ...  -------- --------- 
....   20   34889 ...  KILLED   PSEUDO    

==> espero um pouco pra dar o tempo de inatividade...

[EMAIL PROTECTED]:SQL>/

não há linhas selecionadas

==> e senm ter feito nada, na sessão que "morreu" eu obtenho :

SYS              EXU8NXPU                       
NAME                       
SYS              EXU9TABU                       
DOBJID                     
ERROR:
ORA-00028: your session has been killed



254 linhas selecionadas.

[EMAIL PROTECTED]:SQL>select 1 from dual;
select 1 from dual
*
ERRO na linha 1:
ORA-01012: not logged on


==> Quem estiver numa situação semelhante, se puder postar os 
resultados que obter aqui pra lista, ficarei grato...

[]s

 Chiappa
 






--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Reply via email to