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