Monitoreo de base de datos de Oracle

Analice el rendimiento, el uso y la disponibilidad de su base de datos a escala para mejorar la eficiencia de los recursos y optimizar los problemas de experiencia del usuario final.

Oracle es un sistema de administración de bases de datos relacional con objetos diseñado principalmente para la computación empresarial en red. Administra la información y las aplicaciones, y proporciona almacenamiento de datos lógicos mediante espacios de tabla.

Monitorear su rendimiento es esencial para supervisar el estado de la base de datos e identificar y solucionar rápidamente los servidores y las áreas de recursos que presentan problemas.

  • Conozca las métricas de memoria y espacio en disco para asegurarse de que sus procesos de Oracle DB tengan suficientes recursos disponibles.
  • Monitoree el tiempo de respuesta y averigüe si hay algún servicio que tenga malos tiempos de respuesta de la base de datos.
  • Sepa si los espacios de tabla están llenos y si se requiere una acción adecuada para aumentar su capacidad.
  • Realice un seguimiento de la cantidad de sesiones de Oracle para saber qué tan ocupado se encuentra un servidor y garantizar que siga funcionando.

This document details las métricas de monitoreo to ensure continued performance and the pasos para instalar el complemento.

Métricas de monitoreo del rendimiento

Para monitorear toda su base de datos de Oracle (oracle.py)

Proporción de coincidencias de caché de búfer

It is the rate at which Oracle finds the data blocks it needs in memory over the lifetime of an instance. buffer_cache_hit_ratio is critical for databases with an undersized buffer pool.

Índice de clasificación de disco y memoria

Use the metric disk_memory_sort_ratio to know the percentage of times a session had to perform a disk or a memory sort. Excessive sort activity can degrade the overall database performance.

Estado de Oracle

oracle_status helps to notify whether the database is running or not. This helps to monitor business critical metrics, generate alarms and also execute actions automatically when your database goes down.

Tiempo de respuesta

response_time (ms) is the time spent in database operations per transaction. This helps to understand the database’s capacity to process any change in the workload because of resource shortage or contention.

Porcentaje de uso del proceso

Use the metric processes_usage to study the maximum number of Operating System (OS) user processes that can simultaneously connect to the Oracle database at the same time. This includes the background processes as well.

Uso de sesiones

The sessions_usage in percentage specifies the maximum number of sessions used by the database. As every login creates a session, this metric helps to determine the maximum concurrent users in the system.

Trabajos fallidos

Use the metric failed_jobs to know the number of jobs failed, either by throwing an error or by abnormally terminating.

Sesiones activas e inactivas

The metrics active_sessions and inactive_sessions denotes the number of active and inactive sessions respectively.

Conteo de inicios de sesión fallidos

Use the metric failed_login_count to know the number of failed logon attempts.

Recuento de objetos no válido

The invalid_objects_count metric shows the invalid objects by owner, which will help reduce subsequent latencies.

Porcentaje de coincidencias de caché de PGA

The metric pga_cache_hit_percentage gives the cache hits of Program Global Area (PGA) in percentage used by the process.

Conteo de copias de seguridad fallidas de RMAN

The rman_failed_backup_count provides the number of failed backups in the RMAN repository.

Tiempo de respuesta de SQL

The sql_response_time monitors the response time of the SQL service.

Para supervisar los espacios de tabla

Nota: If you wish to monitor only the status and usage of a tablespace, use the oracle_tablespace_usage.py plugin.

Estado de espacio de tabla y su uso (en %)

Know your tablespace_status to be either Read Write, Read Only or Offline. tablespace_usage_percent helps to track how data grows in the database and to make sure appropriate provisioning is given at the right time.

Cantidad de lecturas y escrituras en un espacio de tabla

The reads and writes represents the number of physical reads and writes respectively. A total of the reads and writes gives the I/O activity for a specific disk.

Bloques libres

The free_blocks metric gives the number of blocks on Oracle’s freelist groups for a table, index, or cluster segment

Espacio utilizado y libre (en MB)

The metrics used_space and free_space describes used and free sequential data blocks in a tablespace.

Registros

LOGGING/NOLOGGING helps to control direct path writes to reduce generation of REDO and UNDO. It is one of the varied methods to control the balance between recoverability and performance.

Requisitos previos

  • oracle-instantclient-basic-linux
  • oracle-instantclient-sdk-linux
  • cx_Oracle: interfaz Python para la base de datos Oracle
  1. Install the following packages: apt-get install python-dev build-essential libaio1
  2. Download instant client for Linux x86-64 from the Sitio web de Oracle
    instantclient-basic-linux.x64-12.2.0.1.0.zip
    instantclient-sdk-linux.x64-12.2.0.1.0.zip
  3. Unzip and extract the downloaded zip files into a folder. For example, mkdir -p /opt/oracle_client
  4. Add environment variables:
    • Create a file in /etc/profile.d/oracle.sh and add the following lines:
      export ORACLE_HOME=/opt/oracle_client/instantclient_12_2
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
  5. Create a file in /etc/ld.so.conf.d/oracle.conf and add the following lines /opt/oracle_client/instantclient_12_2
  6. Execute the command sudo ldconfig
    Nota: Asegúrese de cerrar sesión en su servidor y volver a iniciarla para que los cambios se reflejen.
  7. Create a symlink
    cd $ORACLE_HOME
    ln -s libclntsh.so.12.2 libclntsh.so
  8. Instale “cx_Oracle python” mediante pip
  9. pip install cx_Oracle
Note: If you are using Centos/RHEL OS, siga los pasos que se indican en este artículo to install the above modules.

Instalación de complemento

  • Descargue e instale la versión más reciente del agente de Linux de Site24x7 en el servidor en el cual planea ejecutar el complemento. Si se instala correctamente, verá un monitor de servidor Linux en el panel de control de Site24x7. Esto confirma que el agente puede comunicarse con nuestro centro de datos.
  • Para monitorear toda la base de datos, descargue el archivo oracle.py; para monitorear los espacios de tabla, descargue el archivo oracle_tablespace_details.py; para monitorear solo el uso de sus espacios de tabla, descargue el archivo oracle_tablespace_usage.py
  • Enter the ORACLE_HOST, ORACLE_PORT, ORACLE_USERNAME, ORACLE_PASSWORD and ORACLE_SID under the #Config Section of the plugin script.
    Note: If you are monitoring the tablespaces, make sure to enter the name of the tablespace that you wish to monitor in the TABLESPACE_NAME
    Nota

    Asegúrese de que se otorguen los siguientes permisos al usuario mencionado en la configuración anterior:

    • CONNECT
    • SELECT_CATALOG_ROLE (or) grant SELECT permission for all the tables below:
      Para “oracle.py”: gv$session, v$pgastat, dba_scheduler_job_log, v$rman_status, dba_audit_trail, dba_objects, v$resource_limit, v$sysmetric, v$sysstat
      Para “oracle_tablespace_usage.py” y “oracle_tablespace_details.py”: sys.dba_tablespaces, sys.dba_free_space, sys.dba_data_f, dba_extents
  • Create distinct folders according to the plugins you have downloaded, under the Site24x7 Linux agent plugin directory '/opt/site24x7/monagent/plugins/' and place the respective plugin file under '/opt/site24x7/monagent/plugins/<plugin folder>/'
    • complemento “oracle.py” en la carpeta “oracle”
    • “oracle_tablespace_details.py” en la carpeta “oracle_tablespace_details”
    • “oracle_tablespace_usage.py” en la carpeta “oracle_tablespace_usage”

El agente ejecutará automáticamente el complemento en un plazo de cinco minutos y enviará datos de rendimiento al centro de datos de Site24x7.

Vea datos en el cliente web de Site24x7

  1. Inicie sesión en Site24x7 y vaya a Servidor > Complementos > Nombre de monitor de complementos.
  2. Podrá ver los gráficos de rendimiento en las diversas métricas sobre su servidor de Oracle.

Manejo de errores

N.° de serie Mensaje de error Solución
1 El módulo “cx_Oracle” no está instalado Revise la sección “Requisitos previos” e instale el módulo “Python”
2 Excepción al conectarse al host Asegúrese de haber ingresado detalles de configuración válidos (nombre de host, puerto, SID, nombre de usuario, contraseña)
3 Verifique el nombre de espacio de tabla en la sección de configuración Asegúrese de que el nombre de espacio de tabla proporcionado en la sección “Configuración” del script del complemento sea válido

Contribución de complementos

No dude en contribuir a nuestro complemento existente y compartir sugerencias o comentarios en nuestra comunidad.

Otras integraciones de complementos

  • Complementos listos para usar: monitoree toda la pila de aplicaciones con nuestra amplia lista de integraciones
  • NGINX y NGINX Plus: manténgase al tanto de los problemas que se producen dentro de NGINX, así como en cualquier otro lugar de su infraestructura web
  • MySQL: monitoree las métricas de rendimiento de sus bases de datos de MySQL
  • Postgres: monitoree proactivamente la disponibilidad y el rendimiento del servidor de base de datos Postgres crítico para el negocio
  • Nagios: ejecute miles de complementos de Nagios en Site24x7 sin necesidad de ejecutar un servidor de Nagios
  • Monitoreo de script personalizado: cree plugins personalizados de Linux y Windows, y monitoree los atributos que necesita
  • Repositorio de GitHub: revise nuestras más de 50 integraciones de complementos