Surveillance de la base de données multi-locataires d' Oracle (préversion publique)

Une fois l'agent hôte d' Instana s installé, le capteur de base de données multitenant d' Oracle est automatiquement installé, mais vous devez le configurer comme indiqué dans la section « Configuration ». Une fois le capteur configuré, vous pouvez surveiller à la fois la base de données conteneurisée (CDB) et plusieurs bases de données enfichables (PDB), et consulter leurs métriques dans l'interface utilisateur d' Instana.

Remarque : pour surveiller la base de données multi-locataires d' Oracle au sein d'un cluster Kubernetes ou Red Hat OpenShift, n'installez pas l'agent hôte Instana sur chaque nœud du cluster. Installez les agents hôte sur des machines hôte dédiées.

Informations complémentaires

Versions prises en charge

Instana prend en charge les versions suivantes de la base de données Oracle pour les métriques et les données de configuration :

  • Oracle Database 18c (18.1.0 // 12.2.0.2)
  • Oracle Database 19c (19.1.0 // 12.2.0.3)
  • Oracle Database 21c (21.1.0)
  • Oracle Database 23ai (23.4.0)

Jeux de caractères pris en charge

Le détecteur de base de données Oracle Multitenant prend en charge tous les jeux de caractères pris en charge par Oracle pour extraire des métriques de la base de données Oracle . Pour plus d'informations sur les jeux de caractères pris en charge par la base de données Oracle, consultez la section Jeux de caractères.

Découverte

Utilisez l'option de configuration à distance pour demander à l'agent d' Instana de détecter et de surveiller les bases de données multitenant d' Oracle (CDB et PDB) qui s'exécutent sur le même hôte ou sur d'autres hôtes sur lesquels l'agent ne peut pas être installé pour une raison quelconque.

Configuration

Droits requis pour la base de données

Pour connecter le détecteur à Oracle et surveiller les métriques et les données de configuration, vous devez disposer du droit read pour les tables suivantes:

#Create a role
create ROLE INSTANAROLE;

#Note: For Oracle Container Database (CDB), common roles must follow the naming convention C##<role_name>
#Example for CDB: create ROLE C##INSTANAROLE;#Grant privileges to this role for following tables and viewes

V_$SESSION, V_$BGPROCESS, V_$ACTIVE_SESSION_HISTORY, V_$SYSSTAT, V_$SGASTAT, V_$LIBRARYCACHE,
V_$LATCH, V_$ROWCACHE, V_$STATNAME, V_$SESSTAT, V_$PROCESS, V_$SQLAREA,
V_$PARAMETER, V_$SQL, V_$VERSION, V_$RESOURCE_LIMIT, V_$SYS_TIME_MODEL, V_$SYSTEM_WAIT_CLASS, V_$INSTANCE,
V_$LOCK, DBA_HIST_SQLTEXT, DBA_HIST_SQLSTAT, DBA_HIST_SNAPSHOT, DBA_HIST_ACTIVE_SESS_HISTORY,
DBA_USERS, DBA_OBJECTS, DBA_TABLESPACE_USAGE_METRICS, DBA_DATA_FILES, DBA_TEMP_FILES, V_$LOG, DBA_FREE_SPACE

eg. GRANT SELECT ON V_$SESSION to INSTANAROLE;

#Assign this role to a user. Same user needs to be configured in the configuration yaml (see sensor configuration section).
GRANT INSTANAROLE to <user>;

#The following tables/views require the Oracle Diagnostic Pack license.
V$ACTIVE_SESSION_HISTORY, DBA_HIST_SNAPSHOT, DBA_HIST_SQLSTAT, DBA_HIST_SQLTEXT, DBA_HIST_ACTIVE_SESS_HISTORY
 

Configuration du détecteur

Instana prend en charge la surveillance à distance de la base de données multi-locataires d' Oracle.

Pour surveiller une base de données multitenant d' Oracle, vous devez fournir les informations d'identification dans le fichier de configuration *instanaAgentDir*/etc/instana/configuration.yaml de l'agent.

Surveillance à distance

Pour configurer la surveillance à distance de la base de données Oracle Multitenant, consultez les configurations suivantes:

com.instana.plugin.oracledb:
  remote: # we support listing multiple DBs here, both CDB's and PDB's!
    - host: '<ORCL_HOST_1>'
      port: '<ORCL_PORT>'
      user: '<ORCL_USER>' # default is 'sys as sysdba'
      password: '<ORCL_PASSWORD>'
      databaseSID: '<ORCL_DB_SID>' # either databaseSID or databaseServiceName is allowed
      databaseServiceName: '<ORCL_DB_SERVICE_NAME>'
      availabilityZone: 'Remote Monitoring'
      enableUniqueIdentifier: false # Default is false. Set to true only if you are monitoring multiple databases with identical SID/service names. Keep false for standard configurations
      poll_rate: 20
    - host: '<ORCL_HOST_2>'
      port: '<ORCL_PORT>'
      user: '<ORCL_USER>' # default is 'sys as sysdba'
      password: '<ORCL_PASSWORD>'
      databaseSID: '<INSERT_DB_SID>' # either databaseSID or databaseServiceName is allowed
      databaseServiceName: '<ORCL_DB_SERVICE_NAME>'
      availabilityZone: 'Remote Monitoring'
      enableUniqueIdentifier: false # Default is false. Set to true only if you are monitoring multiple databases with identical SID/service names. Keep false for standard configurations
      poll_rate: 5
 

Le taux d'interrogation définit la fréquence à laquelle le détecteur interroge les métriques de la base de données multilocataire Oracle , en secondes. La valeur par défaut est 1 seconde.

Remarque : sur la carte de l'infrastructure, l'instance d' OracleDB e à distance apparaît sous la forme d'une case distincte portant le nom spécifié dans la availabilityZone clé du configuration.yaml fichier. Pour localiser l'instance, saisissez entity.type:oracleDB dans la barre de recherche de Dynamic Focus d' Instana.

Sondages personnalisés

Le tableau suivant affiche les métriques pour lesquelles vous pouvez configurer un maximum de trois taux d'interrogation personnalisés différents de zéro. Par défaut, les mesures dont le taux d'interrogation est égal à zéro ou inférieur à zéro sont désactivées. Pour désactiver une métrique, supprimez cette entrée de métrique du fichier de configuration *instanaAgentDir*/etc/instana/configuration.yaml .

Nom Description
REQUISES_TIME_TOP_ELAPSE_ Liste des principales requêtes de temps écoulé.
SQL_ID_CONSOMME_PLUS_DE_CPU Liste des instructions SQL qui utilisent plus d'UC.
SESSIONS_AVANT_UTILISATEUR Affiche les sessions d'avant-plan actives.
TOP_10_SQL_HIGH_IO_LAST_1_HR Liste des premières instructions SQL avec des entrées-sorties élevées au cours de la dernière heure. Cet indicateur nécessite la licence du pack de diagnostic d' Oracle s pour les vues spécifiées dans la section « Autorisations requises pour la base de données ».
SESSION TOP_TEN_CPU_CONSUMING_SESSION Liste des sessions les plus consommatrices d'UC.
TOP_CPU_CONSUMING_SESSION_LAST_10_MIN Liste des sessions les plus consommatrices d'UC au cours des 10 dernières minutes. Cet indicateur nécessite la licence du pack de diagnostic d' Oracle s pour les vues spécifiées dans la section « Autorisations requises pour la base de données ».
SESSIONS_BLOCAGE_EN_COURS Permet d'afficher des informations sur les sessions de blocage.
RATIO cache_bibliothèque_hit_ratio Ce rapport indique le nombre de demandes d'épinglage qui génèrent des hits d'épinglage.
ACTIVE_SESSIONS_RUNNING_MORE_THAN_600_SECS Toutes les sessions actives qui s'exécutent pendant plus de 10 minutes dans la base de données Oracle .
HISTORAL_SESSION_ACTIVE Activité de session échantillonnée dans la base de données. Cet indicateur nécessite la licence du pack de diagnostic d' Oracle s pour les vues spécifiées dans la section « Autorisations requises pour la base de données ».
TOP_10_SQL_HIGH_IO_LAST_24_HR Liste des premières instructions SQL avec des entrées-sorties élevées au cours des dernières 24 heures. Cet indicateur nécessite la licence du pack de diagnostic d' Oracle s pour les vues spécifiées dans la section « Autorisations requises pour la base de données ».
TOP_CPU_QUERIES_LAST_24_HRS Liste des requêtes les plus consommatrices d'UC au cours des dernières 24 heures. Cet indicateur nécessite la licence du pack de diagnostic d' Oracle s pour les vues spécifiées dans la section « Autorisations requises pour la base de données ».
QUERIES_N'UTILISANT_PAS_DE_VARIABLES_DE_LIEN Liste des requêtes qui n'utilisent pas la variable de liaison dans le code.
Surveillance à distance

Voir la configuration suivante pour la surveillance à distance pour l'interrogation personnalisée:

com.instana.plugin.oracledb:
  remote: # we support listing multiple DBs here, both CDB's and PDB's!
    - host: '<ORCL_HOST_1>'
      port: '<ORCL_PORT>'
      user: '<ORCL_USER>' # default is 'sys as sysdba'
      password: '<ORCL_PASSWORD>'
      databaseSID: '<ORCL_DB_SID>' # either databaseSID or databaseServiceName is allowed
      databaseServiceName: '<ORCL_DB_SERVICE_NAME>'
      availabilityZone: 'Remote Monitoring'
      enableUniqueIdentifier: false # Default is false. Set to true only if you are monitoring multiple databases with identical SID/service names. Keep false for standard configurations
      poll_rate: 20
      customPolling: # Restricted to maximum 3 nonzero poll rates
        - poll_rate: 30 # in seconds
          metrics:
            - TOP_CPU_CONSUMING_SESSION_LAST_10_MIN
            - ACTIVE_SESSIONS_RUNNING_MORE_THAN_600_SECS
            - LIBRARY_CACHE_HIT_RATIO
            - CURRENT_BLOCKING_SESSIONS
        - poll_rate: 60 # in seconds
          metrics:
            - TOP_ELAPSED_TIME_QUERIES
            - TOP_TEN_CPU_CONSUMING_SESSION
            - SQL_ID_CONSUMING_MORE_CPU
            - USER_FOREGROUND_SESSIONS
            - TOP_10_SQL_HIGH_IO_LAST_1_HR
            - ACTIVE_SESSION_HISTORY
        - poll_rate: 3600 # in seconds
          metrics:
            - TOP_10_SQL_HIGH_IO_LAST_24_HR
            - TOP_CPU_QUERIES_LAST_24_HRS
            - QUERIES_NOT_USING_BINDING_VARIABLES
 

Affichage des mesures

Pour afficher les métriques de la base de données Oracle Multitenant, procédez comme suit:

  1. Dans la barre latérale de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ».
  2. Cliquez sur un hôte surveillé spécifique.

Vous pouvez voir un tableau de bord hôte avec toutes les métriques collectées et les processus surveillés.

Données de configuration

Le capteur de base de données multi-locataires d' Oracle recueille les données de configuration suivantes :

Élément de configuration Description
Version Oracle numéro de version de la base de données
SID Identifiant système (SID) : nom unique de l'instance de base de données d' Oracle
Noms de service Noms de services réseau utilisés pour se connecter à la base de données
Heure de début Horodatage du démarrage de l'instance de base de données
Nombre d'UC Nombre de processeurs disponibles pour l'instance de base de données
Nbre max. de sessions Nombre maximal de sessions simultanées autorisées
Taille de blocs de base de données Taille des blocs de la base de données
Port TCP numéro de port sur lequel le listener de la base de données Oracle accepte les connexions (par défaut : 1521)

Métriques de performance

Métrique Description Granularité
Nombre de processus en cours d'exécution Nombre de processus en cours d'exécution. 1 seconde
Sessions actives (plus de 10 minutes) Toutes les sessions actives de la base de données Oracle qui s'exécutent pendant plus de 10 minutes. 30 secondes
DB Time per Second Temps écoulé consacré à l'exécution des appels de niveau utilisateur de la base de données. 1 seconde
DB CPU Time Temps UC consacré à l'exécution des appels de niveau utilisateur de la base de données. 1 seconde
SQL Execute Time Temps écoulé pendant lequel les instructions de requête SQL sont exécutées. 1 seconde
Parse Time Temps écoulé consacré à l'analyse syntaxique des instructions de requête SQL. Il inclut à la fois le temps d'analyse souple et le temps d'analyse difficile. 1 seconde
Taux de temps UC de la base de données Quantité d'UC utilisée dans la base de données par la durée totale de la base de données. 1 seconde
Temps d'attente par seconde Temps d'attente par seconde pour les entrées-sorties utilisateur, les autres, les entrées-sorties système, les accès concurrents, le planificateur, l'application, la validation, la configuration, l'administration, le réseau et la mise en file d'attente. 1 seconde
Taux de réussite en mémoire cache de la bibliothèque (réussites d'épinglage) Ce rapport indique le nombre de demandes d'épinglage qui génèrent des hits d'épinglage. 30 secondes
Mémoire totale SGA Mémoire totale dans la zone globale du système (SGA) en Mo. 1 seconde
Mémoire utilisée SGA Mémoire utilisée par la zone SGA en Mo. 1 seconde
Mémoire disponible SGA Mémoire disponible dans la zone SGA en Mo. 1 seconde
Nom du pool SGA Nom de pool de la zone globale du système (SGA). 1 seconde
Mémoire totale du pool SGA Mémoire totale dans le pool de la zone SGA en Mo. 1 seconde
Mémoire utilisée du pool SGA Mémoire utilisée dans le pool de la zone SGA en Mo. 1 seconde
Nombre d'exécutions SQL Nombre total de requêtes SQL exécutées. 1 seconde
Temps moyen d'exécution SQL Temps d'exécution SQL moyen. 1 seconde
Nombre d'analyses syntaxiques SQL Nombre d'analyses en dur et total. 1 seconde
Taux d'analyse syntaxique SQL Rapport des exécutions SQL effectuées avec une analyse syntaxique souple et sans analyse syntaxique. 1 seconde
Appels utilisateur Nombre d'appels, de validations et d'annulations. 1 seconde
Taux de réussite en mémoire cache Pourcentage de pages trouvées dans le cache de la mémoire tampon sans avoir à lire à partir du disque. 1 seconde
Lectures de sessions physiques et logiques Nombre de lectures physiques et logiques. 1 seconde
Sessions Nombre de sessions utilisateur (actives et inactives) et nombre de sessions en arrière-plan. 1 seconde
Utilisation des espaces table Utilisation de l'espace table (permanent, temporaire et d'annulation) en Go, utilisation de l'espace table en pourcentage, taille maximale de l'espace table et indicateur auto-extensible. 1 seconde
Premières requêtes d'UC (dernières 24 heures) Liste des principales requêtes d'UC au cours des dernières 24 heures avec le temps UC en millisecondes, le nombre de lectures de disque et la durée totale d'exécution de la requête. Cet indicateur nécessite la licence du pack de diagnostic d' Oracle s pour les vues spécifiées dans la section « Autorisations requises pour la base de données ». 1 heure
Requêtes n'utilisant pas de variable de liaison Liste des requêtes qui n'utilisent pas de variables de liaison dans le code avec le nombre de copies de requête, le nombre d'exécutions de requête et la mémoire totale utilisée par la requête SQL en Mo. 1 heure
Premières requêtes de temps écoulé Liste des principales requêtes de temps écoulé avec ID SQL, requête SQL et temps d'exécution en minutes. 60 secondes
Historique des sessions actives (dernière heure) Activité de session échantillonnée dans la base de données pour la dernière heure avec l'ID SQL, le pourcentage de charge et le nombre de sessions. Cet indicateur nécessite la licence du pack de diagnostic d' Oracle s pour les vues spécifiées dans la section « Autorisations requises pour la base de données ». 60 secondes
Dix premières sessions de consommation d'UC Liste des dix premières sessions consommatrices d'UC avec ID de session, numéro de série, temps UC en minutes et nom de programme du système d'exploitation. 60 secondes
Premières sessions de consommation d'UC (10 dernières minutes) Liste des sessions les plus consommatrices d'UC au cours des 10 dernières minutes avec l'ID de session, le numéro de série et la durée totale d'exécution de la requête. Cet indicateur nécessite la licence du pack de diagnostic d' Oracle s pour les vues spécifiées dans la section « Autorisations requises pour la base de données ». 30 secondes
Dix premières instructions SQL avec E-S élevées (1 dernière erreur) Liste des dix premières requêtes SQL avec des entrées-sorties élevées au cours de la dernière heure avec un ID SQL, un nom d'utilisateur et un temps d'attente total en millisecondes. Cet indicateur nécessite la licence du pack de diagnostic d' Oracle s pour les vues spécifiées dans la section « Autorisations requises pour la base de données ». 60 secondes
Sessions bloquantes en cours Informations sur les sessions de blocage. 30 secondes
Sessions d'avant-plan Sessions d'avant-plan actives. 60 secondes
SQL consommant plus d'UC Liste des requêtes SQL qui utilisent plus d'UC. 60 secondes
Dix premières instructions SQL avec 24 dernières heures d'E-S élevées Liste des dix premières requêtes SQL avec des entrées-sorties élevées au cours des dernières 24 heures. Cet indicateur nécessite la licence du pack de diagnostic d' Oracle s pour les vues spécifiées dans la section « Autorisations requises pour la base de données ». 1 heure

Signatures d'intégrité

Pour chaque capteur, une base de connaissances organisée de signatures de santé est évaluée en continu par rapport aux métriques entrantes et est utilisée pour signaler des problèmes ou des incidents qui ont un impact sur l'utilisateur.