Colega, o que eu posso dizer é que o ROWID por si só Não Implica em sessão sendo criada, de forma alguma - eu vejo aí 3 possibilidades, todas elas em grande medida ** independentes ** do fato de vc estar em RAC ou não : a) esse SQL está sendo executado EM PARALELO, e alguém na hora de configurar esse database e/ou as tabelas envolvidas definiu o grau de paralelismo bem alto, então o que vc está vendo são parallel slaves sendo criados
ou b) vc tem algum tipo de Replicação setada para esse tal objeto, e essas sessões extras são a replicação acontecendo ou c) vc está vendo aí uma COINCIDÊNCIA, ie : no mesmo período em que vc estava testando , algum job, algum rotina programada (seja qual for) abriu esse montão de conexões, OU mesmo vc tem pool de conexões ativo aí , o pool está configurado para crescer largamente E no momento em que vc estava testando o pool cresceu O que eu Recomendo para vc é : 1. IDENTIFIQUE exatamente o que vc tem nesse sistema E nesse database de ações automáticas (ie, for ado banco crons e coisas do tipo, e no banco jobs, triggers, replicações, views materializadas, standby, etc, etc, etc), para comprovar ou negar a hipótese de alguma coisa do tipo disparando no seu período de testes 2. à noite, num período em que NÃO haja ninguém usando o sistema, UMA VEZ CONFIRMADo que não tem nada "disparando"/executando nesse horário, conectando no sqlplus LOCAL desse database como sysdba, vc : - DESABILITE parallel query com : alter session disable parallel query; - IDENTIFIQUE as sessões que vc tem no banco, fazendo uma consulta que mostre além da qtdade de sessões, QUEM as iniciou, o que elas fazem (pelo módulo/osuser/aplicação/etc) , tipo : SELECT inst_id, TRUNCATE(logon_time, 'HH'), osuser, username, machine, program, module, client_info, terminal, count(*) from gv$session GROUP BY inst_id, TRUNCATE(logon_time, 'HH'), osuser, username, machine, program, module, client_info, terminal; (atenção que esse é um MODELO, estou escrevendo isso de cabeça, VERIFIQUE direitinho as colunas/etc antes de executar) - faça um SELECT (com ou sem rowid, não importa) numa Outra tabela, preferencialmeente numa das tabelas de demo do Oracle, ou numa tabela sua que vc Tem certeza que não tem nennhum tipo de 'replicação", trigger, auditoria ou o que for nela - repita a consulta das sessões - faça o SELECT em questão da sua pergunta - repita a consulta das sessões e veja o que vc vai ver.... []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Alessandro Lúcio Cordeiro da Silva <alecordeirosilva@...> escreveu > > Olá Senhores, > > Em Oracle 11.2.0.3.0 em ambiente Rac estamos com um caso muito estranho. Ao > realizar um Select em uma determinada tabela com ROWID o oracle cria > automaticamente umas 120 sessões. > > Segue: > > Em uma sessão do SQLPLUS, para o meu usuario tem 5 sessões > > SQL> select count(*) from gv$session where username = 'ALESSANDROL'; > COUNT(*) > ---------- > 5 > Abro uma nova sessão e realizaro uma consulta com ROWID > > SQL> select a.*, rowid from trancaix a; > ;...... > > Volto para Sessão anterior e realiza > SQL> select count(*) from gv$session where username = 'ALESSANDROL'; > COUNT(*) > ---------- > 134 > > Alguem já viu isso? O problema é que o sistema faz este SQL, e se uns 5 > usuarios abrir o modulo caixa o banco começa a ficar lento, pois acaba tento > mais de 600 Sessões com apenas 5 usuarios logado. > > > > Alessandro Lúcio Cordeiro da Silva > Analista de Sistema > þ http://alecordeirosilva.blogspot.com/ > O tic-tac do relógio me lembra de algo muito importante que esta acontecendo: > estamos vivos. > "Joana de Souza Schmitz Croxato" > > [As partes desta mensagem que não continham texto foram removidas] >