5 Replies Latest reply on Aug 20, 2019 7:50 PM by L. Fernigrini

    Oracle 11.2.0.1 - Archive log

    user12207396

      Hola buen dia,

       

      Estoy teniendo problemas en una base de datos de Oracle en su version 11g R2 para ser exacto es la 11.2.0.1

      El problema es que me estan generando demasiados archived log. Con el log_miner logro ver el contenido y se observa el sql_redo (ajdunto Imagen). En el SQL_Redo me indica unsupported

       

      El tamaño de los Redo es de 100 MB y son 4 Grupos de 2 miembros cada uno.

       

      Alguien podría comentarme, porque sucede esto???

       

      Quedo a la espera de sus comentarios,

       

       

      Saludos

        • 1. Re: Oracle 11.2.0.1 - Archive log
          L. Fernigrini

          Si se están generando mas Archive Logs es porque hay mas actividad de DML (Insert/Update/Delete) en la base de datos. Deberías verificar que procesos se están ejecutando (algún alta masiva, importación de datos, etc).

           

          Desde e Enterprise Manager deberías poder ver la actividad en la DB.

           

          PD: Oracle 11g es bastante vieja, deberías considerar actualizar a versiones y por otro lado dentro de la 11.2 la version actualmente soportada es 11.2.0.4.

          • 2. Re: Oracle 11.2.0.1 - Archive log
            user12207396

            Hola @L. Fernigri,

             

            Agradezco la pronta respuesta,

            Actualmente el aplicativo no  soporta otra DB, es decir, solo nos permite la versión 11g. Tomare en cuenta aplicar el patch al 11.2.0.4

             

            Ahora bien, es cierto existen una gran demanda de transacciones DML (Insert/Update/Delete), lo que estamos considerando serian las siguientes acciones:

             

            1. Aumentar el tamaño de los redo logs, actualmente se cuenta con 4 grupos de 2 miembros cada redo tiene un tamaño de 100 MB, veremos la posibilidad de aumentar de 100 MB  a 200 MB, pero primero lo realizaremos con el Servidor de contigencia y despues con el productivo.

             

            2. Aumentar la SGA y PGA del servidor ya que por el momento el servidor solo tiene 24 GB En RAMy tenemos objetos (tablas con valores de 64 GB).

             

            Nuevamente agradezco la retroalimentacion al respecto, nos ha servido de mucha ayuda lo que comentaste

             

            Saludos,

            • 3. Re: Oracle 11.2.0.1 - Archive log
              L. Fernigrini

              Actualizar a 11.2.0.4 seria un buen paso, al menos para resolver muchos bugs y problemas de seguridad, aunque sigue siendo una versión muy vieja.

               

              Volviendo al tema de Archive Log, los cambios propuestos no van a reducir el volumen de datos generados, lo único que van a hacer es reducir la cantidad de archivos a la mitad, pero los mismos ocuparan el doble. Para reducir la cantidad de redo log generado normalmente hay que reducir la cantidad de operaciones DML (o sea, usar menos la DB!!!) .

               

              Normalmente no hay mucho que tocar respecto a los logs, si no ves un problema de performance causado por Log Switch (cuando se llena un Log File y comienza a escribir en otro) es preferible generar archivos mas pequeños mas frecuentemente.

               

              El punto de la SGA y PGA no van a cambiar en nada cuanto REDO se genera (que posteriormente se archiva al llenarse un archivo de log), Si vas a aumentar la SGA y PGA, la suma de ambas debe ser menor que la memoria del servidor, teniendo en cuenta un par de gigabytes para el sistema operativo y para cualquier otro proceso que se ejecute en el mismo. Por ejemplo ,si el servidor tiene 24 Gb de RAM y no ejecuta nada mas que una instancia de Oracle, la misma puede tener unos 16Gb de RAM para SGA y 6Gb de RAM para PGA (dejando 2Gb para el sistema operativo) y después ir evaluando el comportamiento para aumentar/reducir la SGA a expensas de la PGA, según sea necesario.

              • 4. Re: Oracle 11.2.0.1 - Archive log
                user12207396

                Hola @L. Fernigrini

                 

                Agradezco mucho el tiempo y dedicación en responder...

                Te comento que estamos generando mas operaciones de lo normal por lo cual hemos optado por cambiar el tamaño de los REDO Logs, es decir de 100 MB a 300 MB para con ello se logren cerrar las transacciones...

                 

                En fechas próximas aumentaremos la RAM del servidor de 24 GB a 128 GB con lo cual dejaremos a Oracle con una SGA  y PGA de 96 GB entre ambas.

                 

                Así mismo hemos observado el crecimiento de tablas, y hemos visto que superan el tamaño de la RAM actual, por lo cual tenemos objetos (tablas) con un volumen de 32 GB es por ello que Oracle al tratar de subir la tabla a Memoria no logra subirla por completa.

                 

                Esperemos, que los cambios que realicemos sean factibles para la operacion de la Empresa.

                 

                De antemano, agradezco la atención.

                 

                Saludos,

                • 5. Re: Oracle 11.2.0.1 - Archive log
                  L. Fernigrini

                  Si en la actualidad tienen mas transacciones que lo normal, en vez de aumentar el tamaño de los Redo Logs una alternativa es agregar mas de ellos. Eso hace que la actividad de copiar los logs online como Archive Log sea mas frecuente, pero menos costosa, generando menos "picos" de consumo de I/O (por ejemplo, grabando un log de 100Mb cada 1 minutos en vez de uno de 300 cada 3 pero que consume todo el acceso a disco).

                   

                  Por otro lado, es perfectamente normal que la base de datos sea mas grande que la memoria disponible, normalmente los sistemas no usan TODA la información almacenada en la base de datos. Por ejemplo, una aerolínea con 20 años de historia seguramente tendrá una base de datos muy grande, pero los datos acerca de los vuelos que ya pasaron son muy poco accedidos, aquellos vuelos del día actual o siguiente sin accedidos muy frecuentemente (consultas, check in, despacho de equipaje, cuando los pasajeros suben abordo) y aquellos datos de los vuelos a futuro son accedidos sólo cuando alguien busca alguna reserva en particular.

                   

                  Son contadas las ocasiones en que Oracle (o cualquier base de datos) tiene que cargar TODA una tabla en memoria. Siguiendo con el caso de la aerolínea, normalmente se accede a los datos de 1 persona (cuando la misma entra a la pagina web de la misma y ve sus reservas, viajes anteriores) a los datos de 1 pasaje en particular (cuando hace un pasajero hace checkin) o a los datos de 1 vuelo (cuando se imprime la lista de pasajeros, o se controla la cantidad de personas que tienen que abordar, por ejemplo) pero es muy raro que algún proceso necesite acceder a todos los pasajes, pasados presentes y futuros de la aerolínea.

                   

                  Si estas teniendo problemas de performance, hay que identificar si son problemas generales (por ejemplo, la CPU o el acceso a disco es insuficiente para el volumen de actividad) o si son específicos (alguna consulta en particular demora minutos o horas cuando debería tardar segundos o minutos). Para esto te recomiendo que abras una nueva pregunta (y cierres esta) siguiendo la explicación del foro en ingles:

                   

                  Re: 3. How to  improve the performance of my query? / My query is running slow.

                   

                  --------

                  PD:

                  Seria util cambiar el nombre de usuario por algo mas legible:

                  Update Your Community Display Name and Avatar!