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.
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.
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:
- Dans la barre latérale de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ».
- 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.