Surveillance et gestion de serveurs Exadata Storage Server avec ExaCLI

Découvrez comment utiliser l'utilitaire de ligne de commande ExaCLI pour exécuter des fonctions de surveillance et de gestion sur les serveurs de stockage Exadata dans Exadata Cloud Service.

A propos de la commande ExaCLI

La commande ExaCLI fournit un sous-ensemble des commandes de l'utilitaire de ligne de commande Exadata sur site.

ExaCLI offre un sous-ensemble des commandes qui se trouvent dans l'utilitaire de ligne de commande Exadata sur site. L'utilitaire est exécuté sur les noeuds de calcul de base de données dans Exadata Cloud Service.

Nom utilisateur et mot de passe de serveur Exadata Storage Server

Vous avez besoin d'un nom utilisateur et d'un mot de passe pour vous connecter au serveur Exadata Storage Server.

Sur Exadata Database Service on Cloud@Customer, l'utilisateur préconfiguré pour le serveur Exadata Storage Server est cloud_user_clustername, où clustername est le nom du cluster de machines virtuelles utilisé.

Pour déterminer le nom du cluster de machines virtuelles, vous pouvez exécuter la commande crsctl suivante en tant qu'utilisateur grid sur n'importe quel noeud du cluster :
crsctl get cluster name
Le mot de passe pour cloud_user_clustername est initialement défini sur une valeur aléatoire. Pour afficher celle-ci, vous pouvez exécuter la commande suivante en tant qu'utilisateur opc sur un noeud de cluster :
/opt/exacloud/get_cs_data.py

Commande ExaCLI

Utilisez ExaCLI (exacli) pour configurer des cellules, des noeuds de base de données et des objets dans l'environnement de noeud distant, et pour surveiller votre service et vos objets Oracle Exadata Database Service on Cloud@Customer.

Objet

ExaCLI (exacli) vous permet de configurer votre système Oracle Exadata Database Service on Cloud@Customer et d'obtenir des informations en temps réel sur Exadata Cloud Service. Pour obtenir des informations sur les services et les options du système, exécutez ExaCLI avec le paramètre de commande de surveillance requis.

Pour obtenir la liste des paramètres de surveillance du système que vous pouvez utiliser avec ExaCLI, exécutez le paramètre LIST.

Syntaxe

exacli -c [username@]remotehost[:port] 
[-l username] 
[--xml] 
[--cookie-jar filename] 
[-e {command | 'command; command' | @batchfile}]

Options

Option Description

-c [username@]remotehost ou --connect [username@]remotehost[:port]

Indique le noeud distant auquel vous voulez vous connecter. Si aucun nom utilisateur n'est indiqué, ExaCLI vous invite à le saisir.

-l username ou --login-name username

Indique le nom utilisateur pour la connexion au noeud distant. L'utilisateur préconfiguré est cloud_user_clustername.

--xml

Affiche la sortie au format XML.

--cookie-jar [filename]

Spécifie le nom de fichier du fichier jar de cookies à utiliser. Si vous ne spécifiez pas de nom de fichier, le cookie est stocké dans un fichier cookie-jar par défaut situé dans HOME/.exacli/cookiejar, où HOME est le répertoire de base de l'utilisateur de système d'exploitation qui exécute la commande exacli.

La présence d'un cookie valide permet à l'utilisateur ExaCLI d'exécuter des commandes sans avoir à se connecter lors des sessions ExaCLI suivantes.

-e command, -e 'command[; command]' ou -e @batchFile

Indique les commandes ExaCLI à exécuter ou un fichier batch. Après l'exécution des commandes, ExaCLI se ferme.

Si vous indiquez plusieurs commandes à exécuter, placez-les entre guillemets simples pour empêcher le shell d'interpréter le point-virgule.

Pour démarrer une session ExaCLI interactive, omettez cette commande.

--cert-proxy proxy[:port] Indique le serveur proxy à utiliser lors du téléchargement de certificats. Si port est omis, le port 80 est utilisé par défaut.

-n ou --no-prompt

Supprime l'invite pour la saisie utilisateur.

Paramètres de commande

Pour obtenir des informations sur les objets et les services de votre système, utilisez ces paramètres de commande ExaCLI.

Table 7-1 Commande

Paramètre de commande Description

ACTIVEREQUEST

Répertorie toutes les demandes actives actuellement traitées par les serveurs de stockage.

ALERTDEFINITION

Répertorie toutes les alertes possibles et leur source pour les serveurs de stockage.

ALERTHISTORY

Répertorie toutes les alertes qui ont été émises pour les serveurs de stockage.

CELL

Répertorie les détails d'un attribut spécifique des serveurs ou des cellules de stockage. La syntaxe est la suivante : LIST CELL ATTRIBUTES A,B,C, A, B et C étant des attributs. Pour afficher tous les attributs de cellule, utilisez la commande LIST CELL ATTRIBUTES ALL.

CELLDISK

Répertorie les attributs des disques cellule dans les serveurs de stockage. Utilisez la syntaxe suivante pour répertorier les détails de disque cellule : LIST CELLDISK cell_disk_name DETAIL.

DATABASE

Répertorie les détails des bases de données. Utilisez la syntaxe de commande LIST standard : LIST DATABASE et LIST DATABASE DETAIL. Vous pouvez également utiliser cette commande pour afficher un attribut individuel avec la syntaxe suivante : LIST DATABASE ATTRIBUTES NAME.

FLASHCACHE

Répertorie les détails du cache Flash du système Exadata. Pour cet objet, vous pouvez utiliser les modèles de syntaxe suivants : LIST FLASHCACHE DETAIL ou LIST FLASHCACHE ATTRIBUTES attribute_name.

FLASHCACHECONTENT

Répertorie les détails de tous les objets dans le cache Flash ou les détails d'un ID d'objet spécifié. Pour répertorier tous les détails de l'ensemble des objets, utilisez LIST FLASHCACHECONTENT DETAIL.

Pour répertorier les détails d'un objet spécifique, utilisez une clause WHERE comme suit : LIST FLASHCACHECONTENT WHERE objectNumber=12345 DETAIL.

Exemple de requête : recherche de la valeur object_id d'un objet
select object_name, data_object_id from user_objects where object_name = 'BIG_CENSUS';
OBJECT_NAME               DATA_OBJECT_ID
----------------------------------------
BIG_CENSUS                29152

FLASHLOG

Répertorie les attributs du journal Oracle Exadata Smart Flash.

GRIDDISK

Répertorie les détails d'un disque grille particulier. La syntaxe est semblable à celle de la commande CELLDISK. Pour afficher tous les attributs : LIST GRIDDISK grid_disk_name DETAIL. Pour afficher les attributs indiqués du disque grille : LIST GRIDDISK grid_disk_name ATTRIBUTES size, name.

IBPORT

Répertorie les détails des ports InfiniBand. La syntaxe est la suivante : LIST IBPORT DETAIL.

IORMPLAN

Utilisez les commandes ExaCLI CREATE, ALTER, DROP et LIST avec IORMPLAN. Pour afficher les détails de tous les plans IORM, utilisez LIST IORMPLAN DETAIL. Vous pouvez également utiliser la commande pour créer et modifier des plans IORM, ainsi que pour appliquer des plans à des serveurs de stockage.

IORMPROFILE

Répertorie tous les profils IORM définis sur les serveurs de stockage. Vous pouvez également faire référence à l'attribut de profil sur l'objet DATABASE si un profil IORM est défini sur une base de données. La syntaxe est la suivante : LIST IORMPROFILE.

LIST

Répertorie les options de paramètre de commande disponibles avec ExaCLI pour les services et les objets Exadata Database Service on Cloud@Customer.

LUN

L'objet LUN (unité logique de stockage) renvoie le nombre et les détails des disques physiques sur les serveurs de stockage. Répertoriez les unités logiques de stockage des disques avec LIST LUN. Répertoriez les détails de chaque unité logique de stockage avec LIST LUN lun_number DETAIL.

METRICCURRRENT

Répertorie les mesures en cours pour un type d'objet particulier. Syntaxe : LIST METRICCURRENT WHERE objectType = 'CELLDISK'.

Cette commande permet également de trier et de limiter les résultats comme dans l'exemple suivant :
LIST METRICCURRENT attributes name, metricObjectName ORDER BY metricObjectName asc, name desc
      LIMIT 5

METRICDEFINITION

Répertorie les définitions de mesure d'un objet pour lesquelles vous pouvez ensuite obtenir des détails. A l'aide de la commande LIST metricDefinition WHERE objectType=cell, vous pouvez obtenir toutes les mesures de ce type d'objet. Vous pouvez ensuite utiliser à nouveau l'objet de définition de mesure pour obtenir les détails de l'une des mesures que vous venez de répertorier :
LIST metricDefinition WHERE name= IORM_MODE DETAIL

METRICHISTORY

Répertorie les mesures sur une période spécifiée. Par exemple, à l'aide de la commande LIST METRICHISTORY WHERE ageInMinutes < 30, vous pouvez répertorier toutes les mesures collectées au cours des 30 dernières minutes. Vous pouvez également utiliser le prédicat collectionTime pour définir une plage à partir d'une heure spécifique.

Utilisez collectionTime comme indiqué dans l'exemple suivant : LIST METRICHISTORY WHERE collectionTime > '2018-04-01T21:12:00-10:00'. L'objet d'historique de mesure permet également d'afficher une mesure spécifique en utilisant le nom de l'objet (par exemple, LIST METRICHISTORY CT_FD_IO_RQ_SM) ou, à l'aide d'une clause WHERE, d'obtenir des objets ayant des attributs similaires comme leur nom (par exemple, LIST METRICHISTORY WHERE name like 'CT_.*').

OFFLOADGROUP

Répertorie les attributs du groupe de déchargement en cours d'exécution sur les serveurs de stockage. Vous pouvez répertorier tous les détails de l'ensemble des groupes avec LIST OFFLOADGROUP DETAIL ou répertorier les attributs d'un groupe spécifique, comme illustré dans l'exemple suivant : LIST OFFLOADGROUP offloadgroup4. Répertoriez des attributs spécifiques à l'aide de LIST OFFLOADGROUP ATTRIBUTES name.

PHYSICALDISK

Répertorie tous les disques physiques. Utilisez les résultats de LIST PHYSICALDISK pour identifier un disque spécifique à examiner plus en détail. Répertoriez ensuite les détails de ce disque en utilisant la commande comme suit : LIST PHYSICALDISK 20:10 DETAIL. Pour répertorier les détails des disques Flash, utilisez la commande comme suit : LIST PHYSICALDISK FLASH_1_0 DETAIL).

PLUGGABLEDATABASE

Répertorie toutes les bases de données pluggables. Visualisez les détails d'une base de données pluggable spécifique avec LIST PLUGGABLEDATABASE pdb_name.

QUARANTINE

Répertorie toutes les instructions SQL pour lesquelles vous avez empêché l'utilisation des analyses intelligentes. La syntaxe est la suivante : LIST QUARANTINE DETAIL. Vous pouvez également utiliser une clause WHERE sur l'un des attributs disponibles.

DIAGPACK

Utilisez les commandes ExaCLI CREATE, ALTER, DROP et LIST avec DIAGPACK pour répertorier les packages de diagnostic et leur statut dans le système Exadata. La syntaxe est la suivante : LIST DIAGPACK [DETAIL], DETAIL étant un attribut facultatif. Utilisez CREATE DIAGPACK avec l'attribut packStartTime pour collecter les journaux et les fichiers trace dans un seul fichier compressé en vue du téléchargement, comme dans l'exemple suivant : CREATE DIAGPACK packStartTime=2019_12_15T00_00_00. Vous pouvez également utiliser la valeur now avec packStartTime : CREATE DIAGPACK packStartTime=now.

Pour télécharger un package de diagnostic, utilisez DOWNLOAD DIAGPACK package_name local_directory. Par exemple, la commande suivante télécharge un package de diagnostic dans le répertoire /tmp : DOWNLOAD DIAGPACK cfclcx2647_diag_2018_06_03T00_44_24_1 /tmp.

Remarques sur l'utilisation

  • Remarques relatives à l'option --cookie-jar :
    • Le nom utilisateur et le mot de passe sont envoyés au noeud distant à des fins d'authentification. En cas de réussite de l'authentification, le noeud distant émet un cookie (informations d'identification de connexion) qui est stocké dans le fichier dont le nom est indiqué sur le noeud de base de données. Si vous ne spécifiez pas de nom de fichier, le cookie est stocké dans un fichier cookie-jar par défaut situé dans HOME/.exacli/cookiejar, où HOME est le répertoire de base de l'utilisateur de système d'exploitation qui exécute la commande ExaCLI. Pour l'utilisateur opc, le répertoire de base est /home/opc.
    • L'utilisateur de système d'exploitation qui exécute la commande ExaCLI est le propriétaire du fichier cookie-jar.
    • Un fichier cookie-jar peut contenir plusieurs cookies provenant de différents utilisateurs sur plusieurs noeuds dans des sessions parallèles.
    • Les cookies sont invalidés au bout de 24 heures.
    • Si le cookie est introuvable ou n'est plus valide, ExaCLI vous invite à saisir le mot de passe. Le nouveau cookie est stocké dans le fichier cookie-jar identifié par filename ou dans le fichier cookie-jar par défaut si filename n'est pas indiqué.
    • Même si l'option --cookie-jar n'est pas indiquée, ExaCLI recherche les cookies dans le fichier cookie-jar par défaut. Toutefois, si le cookie n'existe pas ou n'est plus valide, le nouveau cookie ne sera pas stocké dans le fichier cookie-jar par défaut si vous n'indiquez pas l'option --cookie-jar.
  • Remarques relatives à l'option -e :
    • ExaCLI se ferme après l'exécution des commandes.
    • Si vous indiquez plusieurs commandes à exécuter, placez-les entre guillemets simples pour empêcher le shell d'interpréter le point-virgule.
    • Le fichier batch est un fichier texte contenant des commandes ExaCLI à exécuter.
  • Remarques relatives à l'option -n (--no-prompt) :
    • Si l'utilisateur doit fournir des informations supplémentaires à ExaCLI, par exemple si ExaCLI doit l'inviter à saisir un mot de passe (probablement parce qu'il n'existe aucun cookie valide dans le fichier cookie-jar) ou à confirmer l'identité du noeud distant, ExaCLI affiche un message d'erreur et se ferme.

Exemples

Exemple 7-57 Démarrage d'une session ExaCLI interactive sur un serveur de stockage

Dans l'exemple suivant, l'utilisateur d'un noeud de calcul Exadata émet une commande de connexion à ExaCLI afin de démarrer une session ExaCLI interactive sur un serveur de stockage :
exacli -l cloud_user_clustername -c 192.168.136.7

Pour plus d'informations sur la manière de déterminer l'adresse IP du serveur de stockage, reportez-vous à Recherche des adresses IP des cellules de stockage à l'aide du fichier cellip.ora.

Après vous être connecté, exécutez les commandes supplémentaires suivantes :
exacli cloud_user_clustername@192.168.136.7> LIST DATABASE
ASM
HRCDB

Exemple 7-58 Emission d'une commande unique sur un noeud de calcul

Cet exemple illustre une commande unique émise sur un noeud de calcul effectuant les opérations suivantes :
  • connexion à un serveur de stockage,
  • exécution d'une action LIST,
  • fermeture de la session (par le biais de l'indicateur -e).
exacli -l cloud_user_clustername -c 192.168.136.7 --xml --cookie-jar -e list griddisk detail

Connexion à un serveur de stockage avec ExaCLI

Pour utiliser ExaCLI sur des serveurs de stockage, vous devez connaître l'adresse IP du serveur de stockage cible.

Si vous ne connaissez pas l'adresse IP du noeud auquel vous souhaitez vous connecter, vous pouvez consulter le contenu du fichier cellip.ora pour la trouver.

L'exemple suivant illustre comment faire cette opération sur la ligne de commande UNIX pour un système à un quart de rack. (Un quart de rack comporte trois cellules de stockage, qui comportent chacune deux connexions. Six adresses IP sont donc affichées au total.)
cat /etc/oracle/cell/
network-config/cellip.oracle
cell="192.168.136.5;cell="192.168.136.6"
cell="192.168.136.7;cell="192.168.136.8"
cell="192.168.136.9;cell="192.168.136.10"
Si vous vous connectez à une cellule de stockage pour la première fois à l'aide d'ExaCLI, vous pouvez être invité à accepter un certificat SSL. Dans ce cas, la sortie ExaCLI ressemble à ce qui suit :
exacli -l cloud_user_clustername -c 192.168.136.7 --cookie-jar
No cookies found for cloud_user_clustername@192.168.136.7
Password: *********
EXA-30016: This connection is not secure. You have asked ExaCLI to connect to cell 192.168.136.7 securely. The identity of 192.168.136.7 cannot be verified.
Got certificate from server:
C=US,ST=California,L=Redwood City,O=Oracle Corporation,OU=Oracle Exadata,CN=ed1cl03clu01-priv2.usdc2.oraclecloud.com
Do you want to accept and store this certificate? (Press y/n)

Pour continuer à utiliser ExaCLI, appuyez sur "y" pour accepter le certificat Oracle auto-signé.