Saudações, Altere o parametro open_cursors para 5000 por exemplo porem seria boa pratica voce verificar se essa sua aplicação pelo que voce disse ja estava em Produção e nunca ultrapassou o limite de cursores , verifique se esse volume que ocorreu se é esporadico devido a algum evento que ocorreu como por exemplo algum cadastramento massivo ou se daqui em diante esse será volume de cursores usados nesse caso altere esse parametro definitivamente caso contrario aumente e depois reduza para não impactar na performance do seu Banco caso voce tenha restrições de memoria no servidor.
ATT 2009/5/15 candiurudba <candiuru...@yahoo.com.br> > > > Grandes colegas, > > Tenho uma dúvida quanto a utilização de cursores... > > Em uma aplicação, recebi o seguinte erro: ORA-06511: PL/SQL: cursor already > open epelo que verifiquei, tem haver com cursores abertos que não foram > fechados (me corrijam se eu estiver errado). > > Pois bem, comecei a verificar a quantidade de cursores abertos no banco de > dados com a query: > > select SUM(VALUE) Total_de_Cursores_Abertos from sys.v_$sesstat > where statistic# = (select statistic# > from sys.v_$statname > where name like 'opened cursors current'); > > E neste momento, tenho 3342 (segundo query acima). A minha dúvida é se a > v_$statname passa o valor real dos abertos ou cacheados ? E se o limite de > cursores é controlado pelo parametro open_cursors ? > > Caso positivo, é normal o banco atribuir mais cursores do que o limite > estabelecido por esta parametro ? > > > -- Manoel Marcos - ORACLE DBA UNESP - Universidade Estadual Paulista R Quirino de Andrade, 215 - 01049-010 SP Tel 055 11 5627-0569 Email:manoel...@gmail.com <email%3amanoel...@gmail.com> Msn:manoel...@hotmail.com <msn%3amanoel...@hotmail.com> "Obtenha os meios para celebrar o dia de hoje para celebrar cada dia neste Universo" [As partes desta mensagem que não continham texto foram removidas]