11 Replies Latest reply on May 22, 2018 1:45 PM by Marco De la Fuente

    Aumentar el número de sesiones en oracle 11 g.

    Marco De la Fuente

      Estimados amigos:

       

      Tengo una BD, que me dió el error de que alcancé el máximo valor de sessiones. Ahora bien, si yo aumento este valor, afecta algún parámetro de rendimiento ya sea, memoria, procesos u otro factor.

        • 1. Re: Aumentar el número de sesiones en oracle 11 g.
          Lisandro Fernigrini

          Marco:

           

          Hay varios parámetros de la base de datos que utilizan el numero de procesos o sesiones para derivar su valor, por lo que un cambio a cualquiera de esos parametros implica cambiar estos otros parametros que derivan su valor de ellos. Asimismo, algunas areas de la memoria SGA se dimensionan para soportar el numero de procesos / sesiones que se configure, por lo que aumentar esos parametros genera que dichas areas internas de memoria sean mayores, consumiendo algo mas de SGA.

           

          https://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams188.htm#REFRN10175

          The default values of the SESSIONS and TRANSACTIONS parameters are derived from this parameter. Therefore, if you change the value of PROCESSES, you should evaluate whether to adjust the values of those derived parameters

           

           

          Por otro lado, si la base de datos que actualmente atiende "N" sesiones ahora va a atender "N * 1.5" es probable que se note un cambio en la performance, causado por la mayor actividad.

          1 person found this helpful
          • 2. Re: Aumentar el número de sesiones en oracle 11 g.
            Marco De la Fuente

            Muchas gracias Lisandro. Tu respuesta me es muy útil.

            • 3. Re: Aumentar el número de sesiones en oracle 11 g.
              Lisandro Fernigrini

              Lo mas importante es determinar el número de procesos que la base de datos tiene que atender, agregarle un margen de tolerancia (10% - 20%) y probar con esos valores, para no sobredimensionar las áreas de memoria.

              • 4. Re: Aumentar el número de sesiones en oracle 11 g.
                Enrique Orbegozo

                Marco, nos cuentas que tuviste un problema por llegar al máximo número de sesiones permitidas para la instancia y si bien este valor se puede incrementar y esto a su vez tiene un impacto tal como nos comenta Lisandro, antes de incrementar el parámetro del caso debes tener claro si esto es realmente necesario y no el producto de algún error como que un servidor de aplicaciones está generando una cantidad inusual de sesiones por algún bug o mala configuración. Igualmente, luego de determinar que sí es necesario e inevitable soportar más sesiones, puedes explorar la posibilidad de usar shared servers o pool de conexiones (de ser posible) y no perder de vista que una cosa son las sesiones conectadas y otras las sesiones activas. Estas últimas son las que generan carga efectiva y si se "salen de control" puede terminar saturando a los procesadores. Algunos autores señalan que la cantidad de sesiones activas no debe superar al doble de número de cores disponibles en el servidor de base de datos.

                Saludos.

                • 5. Re: Aumentar el número de sesiones en oracle 11 g.
                  hernan.scotta

                  Si tienes el Enterprice Manager, (mientras estás navegando entre los distintos gráficos) puedes ir siguiendo los distintos procesos y el consumo de las distintas memorias; pero simplemente como para que vayas conociendo tu base de datos y cuales son los procesos de las aplicaciones (y en que momento) que tienen un comportamiento inadecuado (como un consumo excesivo de recurso, o un tiempo de ejecución demasiado largo)

                   

                  Esta consulta te devuelve por cada sesión, los procesos que se están ejecutando y la sentencia SQL utilizada en el mismo. En el campo S.SQL_ID es el valor que puedes utilizar para ubicar dicho procesos entre los gráficos del Enterprice Manager si es que notas alguna anomalía. Desde ya hay mucha más información información importante en esas vistas (como la aplicación que la ejecuto, el usuario, etc...)

                   

                  SELECT  SID, S.SERIAL#, SPID, S.SQL_ID, A.SQL_TEXT

                  FROM    V$SESSION S

                          INNER JOIN V$PROCESS P

                              On S.PADDR  = PADDR

                          INNER JOIN V$SQLAREA A

                              ON A.SQL_ID = S.SQL_ID

                             

                  WHERE   S.STATUS      <> 'INACTIVE'

                   

                  Por ejemplo, en la imagen noto que hay un proceso (interno) que hace 15 minutos que esta en ejecución...

                  2018-04-17 22_16_33-Algunas consultas SQL muy útiles para el administrador de Oracle (DBA) Imprimibl.png

                  Saludos.

                  1 person found this helpful
                  • 6. Re: Aumentar el número de sesiones en oracle 11 g.
                    Marco De la Fuente

                    Gracias Enrique, vuestros consejos serán tomados en cuenta.

                    • 7. Re: Aumentar el número de sesiones en oracle 11 g.
                      Marco De la Fuente

                      Gracias Hernán, tu información es muy valiosa para mí.

                      • 8. Re: Aumentar el número de sesiones en oracle 11 g.
                        Marco De la Fuente

                        Ahora, respecto al uso del enterprise manager, en mi Organización no se utiliza, pues otros DBA me han indicado que utiliza demasiado recursos. Eso es así, o es sólo un mito?

                        • 9. Re: Aumentar el número de sesiones en oracle 11 g.
                          hernan.scotta

                          Te propuse esa herramienta como algo más agradable para realizar ese seguimiento; pero podes partir desde la consulta que te pase (entre las últimas columnas de la vista de procesos tenes valores de consumos); a medida que investigues un poco vas a conocer otras vistas más específicas que te ofrece Oracle. Una vez que tengas claro lo que necesitas; la herramienta gráfica (si tenes entusiasmo...) la podes hacer vos con Qlik Sense por ejemplo o similar. Esto último es algo que yo pienso encarar en un mes quizás, algo simple, rápido y que tenga la posibilidad de "matar" los procesos o sesiones que por algún motivo me generan problemas...

                           

                          Vas a ver que aprenderás mucho respecto a tú base de datos y a través de ella, conocerás su entorno en el que la está sometida   (aplicaciones, desarrolladores, usuarios...)

                          • 10. Re: Aumentar el número de sesiones en oracle 11 g.
                            Enrique Orbegozo

                            Marco, practicamente no conozco instalación que no use OEM, su uso es gratuito (aunque debes tener cuidado con las opciones que usas porque alguunas requieren de licenciamiento) y es prácticamente no intrusivo. Si alguien te dice lo contrario probablemente sea debido a alguna mala experiencia específica y para la cual haya algún patch, ya que sí se han presentado problemas y se seguirán presentando (nada esta libre de bugs), pero usualmente aparecen los patches para resolverlos. Actualmente está disponible OEM CC 13cR2 y en las instalaciones que conozco no se ha reportado problema alguno de mal desempeño.

                             

                            Saludos.

                            1 person found this helpful
                            • 11. Re: Aumentar el número de sesiones en oracle 11 g.
                              Marco De la Fuente

                              Gracias Enrique, lo tendré presente.