Surveillance de la base de données Oracle

Analysez les performances, l'utilisation et la disponibilité de votre base de données à l'échelle pour améliorer l'efficacité des ressources et optimiser les problèmes d'expérience des utilisateurs finaux.

Oracle est un système de gestion de base de données relationnel-objet principalement conçu pour la grille informatique d'entreprise. Il gère les informations, les applications et fournit un stockage de données logique à l'aide d'espaces de table.

La surveillance de ses performances est essentielle pour superviser l'intégrité de la base de données et identifier et réparer rapidement les serveurs et les zones de ressources problématiques.

  • Assurez-vous de connaître les indicateurs de la mémoire et de l'espace disque pour vous assurer que vos processus Oracle DB disposent de suffisamment de ressources.
  • Surveillez le temps de réponse et découvrez si un service souffre de mauvais temps de réponse de la base de données.
  • Découvrez si les espaces de table sont pleins et s'ils nécessitent une action appropriée pour augmenter leur capacité.
  • Suivez le nombre de sessions Oracle pour connaître le degré d'occupation d'un serveur et assurer son fonctionnement continu.

This document details les indicateurs de surveillance to ensure continued performance and the étapes pour installer le plug-in.

Indicateurs de surveillance des performances

Pour surveiller l'ensemble de votre base de données Oracle (oracle.py)

Taux de réussite du cache de la mémoire tampon

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.

Rapport de tri entre le disque et la mémoire

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.

Statut 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.

Délai de réponse

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.

Pourcentage d'utilisation du processus

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.

Utilisation des sessions

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.

Tâches ayant échoué

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

Sessions actives et inactives

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

Nombre d'échecs de connexion

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

Nombre d'objets non valides

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

Pourcentage de réussite du cache PGA

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

Nombre d'échecs de sauvegarde RMAN

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

Délai de réponse SQL

The sql_response_time monitors the response time of the SQL service.

Pour surveiller vos espaces de table

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

Statut de l'espace de table et son utilisation (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.

Nombre de lectures et d'écritures dans un espace de table

The lit and écrit 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.

Blocs libres

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

Espace utilisé et libre (en Mo)

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

Registres

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.

Conditions préalables

  • oracle-instantclient-basic-linux
  • oracle-instantclient-sdk-linux
  • cx_Oracle : interface Python pour Oracle Database
  1. Install the following packages: apt-get install python-dev build-essential libaio1
  2. Download instant client for Linux x86-64 from the Site Web 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
    Remarque : Assurez-vous de vous déconnecter de votre serveur et de vous reconnecter pour que les changements soient pris en compte.
  7. Create a symlink
    cd $ORACLE_HOME
    ln -s libclntsh.so.12.2 libclntsh.so
  8. Installer cx_Oracle python en utilisant pip
  9. pip install cx_Oracle
Note: If you are using Centos/RHEL OS, suivez les étapes indiquées dans cet article to install the above modules.

Installation du plug-in

  • Téléchargez et installez la dernière version de l'agent Linux de Site24x7 sur le serveur sur lequel vous prévoyez d'exécuter le plug-in. S'il est installé avec succès, vous verrez un moniteur de serveur Linux dans le panneau de configuration Site24x7. Cela confirme que l'agent est en mesure de communiquer avec notre centre de données.
  • Pour surveiller l'ensemble de votre base de données, téléchargea le fichier oracle.py ; pour surveiller les espaces de table, téléchargez le fichier oracle_tablespace_details.py ; pour surveiller uniquement l'utilisation de vos espaces de table, téléchargez le fichier 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
    Remarque

    Assurez-vous que les permissions suivantes sont données à l'utilisateur mentionné dans la configuration ci-dessus :

    • SE CONNECTER
    • SELECT_CATALOG_ROLE (or) grant SELECT permission for all the tables below:
      Pour « 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
      Pour « oracle_tablespace_usage.py » et « 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>/'
    • Plug-in oracle.py sous le dossier oracle
    • oracle_tablespace_details.py sous le dossier oracle_tablespace_details
    • oracle_tablespace_usage.py sous le dossier oracle_tablespace_usage

L'agent exécute automatiquement le plug-in dans un délai de cinq minutes et envoie les données de performances au centre de données Site24x7.

Afficher les données dans le client Web de Site24x7

  1. Connectez-vous à Site24x7 et accédez à Serveur > Plug-ins > Nom du moniteur de plug-in.
  2. Vous pourrez afficher les graphiques de performances sur les différents indicateurs de votre serveur Oracle.

Gestion des erreurs

N° de série Message d'erreur Solution
1 Le module cx_Oracle n'est pas installé Consulter la section Conditions préalables et installer le module Python
2 Exception lors de la connexion à l'hôte Vérifiez que vous avez saisi des détails de configuration valides (nom d'hôte, port, SID, nom d'utilisateur, mot de passe)
3 Vérifiez le nom de l'espace de table dans la section de configuration Assurez-vous que le nom de l'espace de table indiqué dans la section Configuration du script du plug-in est valide.

Contribution du plug-in

N'hésitez pas à contribuer à notre plug-in existant et à faire des suggestions ou des commentaires sur notre communauté.

Autres intégrations de plug-ins

  • Plug-ins prêts à l'emploi : surveillez l'ensemble de votre pile d'applications grâce à notre liste complète d'intégrations
  • NGINX et NGINX Plus : gardez une longueur d'avance sur les problèmes survenant au sein de NGINX ainsi que partout ailleurs dans votre infrastructure Web
  • MySQL : surveillez les indicateurs de performance de vos bases de données MySQL
  • Postgres : surveillez de façon proactive la disponibilité et les performances du serveur de base de données Postgres, essentiel pour l'entreprise
  • Nagios : exécutez des milliers de plug-ins Nagios dans Site24x7 sans avoir besoin d'exécuter un serveur Nagios
  • Contrôle de script personnalisé : créez les plug-ins Linux et Windows personnalisés et des attributs de moniteur dont vous avez besoin
  • Référentiel GitHub : découvrez nos intégrations de plus de 50 plug-ins