Surveillance et gestion des serveurs de stockage Exadata avec ExaCLI

Voyez 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 le service Exadata Cloud.

À propos de la commande ExaCLI

La commande ExaCLI fournit un sous-ensemble de commandes figurant dans l'utilitaire de ligne de commande Exadata sur place.

ExaCLI fournit un sous-ensemble de commandes figurant dans l'utilitaire de ligne de commande Exadata sur place. L'utilitaire s'exécute sur des noeuds de calcul de base de données dans le service Exadata Cloud.

Nom d'utilisateur et mot de passe pour le serveur de stockage Exadata

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

Sur le service Exadata Database sur Cloud@Customer, l'utilisateur préconfiguré pour le serveur de stockage Exadata est cloud_user_clustername, où clustername est le nom de la grappe de machines virtuelles utilisée.

Vous pouvez déterminer le nom de la grappe de MV en exécutant la commande crsctl suivante en tant qu'utilisateur grid sur n'importe quel noeud de la grappe :
crsctl get cluster name
Le mot de passe pour cloud_user_clustername est initialement défini à une valeur aléatoire, que vous pouvez voir en exécutant la commande suivante en tant qu'utilisateur opc sur n'importe quel noeud de la grappe :
/opt/exacloud/get_cs_data.py

Commande ExaCLI

Utilisez ExaCLI (exacli) pour configurer la cellule, configurer le noeud de base de données et les objets dans l'environnement du noeud distant, et pour surveiller le service et les objets Oracle Exadata Database Service on Cloud@Customer.

Objet

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

Pour obtenir une 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]

Spécifie le noeud distant auquel vous voulez vous connecter. ExaCLI invite à entrer le nom d'utilisateur s'il n'est pas indiqué.

-l username ou --login-name username

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

--xml

Affiche la sortie dans le format XML.

--cookie-jar [filename]

Indique le nom de fichier du fichier JAR de témoin à utiliser. Si vous ne spécifiez pas de nom de fichier, le témoin est stocké dans un emplacement réservé par défaut situé sous HOME/.exacli/cookiejar, où HOME est le répertoire de base de l'utilisateur du système d'exploitation qui exécute la commande exacli.

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

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

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

Si vous indiquez plusieurs commandes à exécuter, encadrez-les par des guillemets simples pour empêcher l'interprétation du point-virgule.

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

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

-n ou --no-prompt

Supprime les invites pour les entrées d'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.

Tableau 7-1 : Commande

Paramètre de commande Description

ACTIVEREQUEST

Liste toutes les demandes actives actuellement exécutées par les serveurs de stockage.

ALERTDEFINITION

Liste toutes les alertes possibles et leurs sources pour les serveurs de stockage.

ALERTHISTORY

Liste toutes les alertes émises pour les serveurs de stockage.

CELL

Permet de répertorier les détails d'un attribut spécifique des serveurs de stockage ou des cellules de stockage. La syntaxe est la suivante : LIST CELL ATTRIBUTES A, B, C, avec A, B et C comme attributs. Pour voir tous les attributs de cellule, utilisez la commande LIST CELL ATTRIBUTES ALL.

CELLDISK

Liste les attributs des disques de cellule dans les serveurs de stockage. Utilisez la syntaxe suivante pour lister les détails des disques de cellule : LIST CELLDISK cell_disk_name DETAIL.

DATABASE

Liste les détails des bases de données. Utilise 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

Liste les détails de la mémoire 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

Liste les détails de tous les objets dans la mémoire cache flash ou les détails d'un identificateur d'objet spécifié. Pour afficher les détails de tous les objets, utilisez LIST FLASHCACHECONTENT DETAIL.

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

Exemple d'interrogation : 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

Liste les attributs du journal de cache flash intelligent d'Oracle Exadata.

GRIDDISK

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

IBPORT

Liste les détails des ports InfiniBand. La syntaxe est LIST IBPORT DETAIL.

IORMPLAN

Utilisez les commandes ExaCLI CREATE, ALTER, DROP et LIST avec IORMPLAN. Pour voir 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, et appliquer des plans aux serveurs de stockage.

IORMPROFILE

Liste les profils IORM définis sur les serveurs de stockage. Vous pouvez également consulter l'attribut de profil de l'objet DATABASE si une base de données comporte un profil IORM. La syntaxe est LIST IORMPROFILE.

LIST

Répertorie les options de paramètres de commande disponibles avec ExaCLI pour les services et objets du service Exadata Database sur Cloud@Customer.

LUN

L'objet LUN (numéro d'unité logique) retourne le nombre et les détails des disques physiques dans les serveurs de stockage. Liste les numéros d'unité logique des disques avec LIST LUN. Liste les détails de chaque LUN avec LIST LUN lun_number DETAIL.

METRICCURRRENT

Liste les mesures courantes d'un type d'objet particulier. La syntaxe est LIST METRICCURRENT WHERE objectType = 'CELLDISK'.

Cette commande autorise également le tri et la définition de limites de résultats comme dans l'exemple suivant :
LIST METRICCURRENT attributes name, metricObjectName ORDER BY metricObjectName asc, name desc
      LIMIT 5

METRICDEFINITION

Liste les définitions de mesure pour l'objet sur lequel vous pouvez ensuite obtenir des détails. Avec la commande LIST metricDefinition WHERE objectType=cell, vous pouvez obtenir toutes les mesures pour ce type d'objet. Vous pouvez ensuite utiliser l'objet de définition de mesure pour obtenir plus de détails sur l'une de ces mesures spécifiques :
LIST metricDefinition WHERE name= IORM_MODE DETAIL

METRICHISTORY

Liste des mesures pour une période spécifiée. Par exemple, avec 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 régler un intervalle à 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 peut également être utilisé pour voir une mesure spécifique à l'aide du nom de l'objet (par exemple LIST METRICHISTORY CT_FD_IO_RQ_SM) ou avec une clause "where" pour obtenir des objets ayant des attributs similaires comme le nom (par exemple, LIST METRICHISTORY WHERE name like 'CT_.*').

OFFLOADGROUP

Liste les attributs du groupe de déchargement exécutés sur vos serveurs de stockage. Vous pouvez lister tous les détails pour tous les groupes avec LIST OFFLOADGROUP DETAIL, ou lister les attributs pour un groupe spécifique, comme indiqué dans l'exemple suivant : LIST OFFLOADGROUP offloadgroup4. Répertoriez des attributs spécifiques à l'aide de LIST OFFLOADGROUP ATTRIBUTES name.

PHYSICALDISK

Liste tous les disques physiques. Utilisez les résultats de LIST PHYSICALDISK pour identifier un disque spécifique pour une enquête plus approfondie, puis énumérez les détails de ce disque en utilisant la commande comme suit : LIST PHYSICALDISK 20: 10 DETAIL. Pour lister les détails des disques flash, utilisez la commande suivante : LIST PHYSICALDISK FLASH_1_0 DETAIL.

PLUGGABLEDATABASE

Liste toutes les bases de données enfichables. Affichez les détails d'une base de données enfichable spécifique à l'aide de LIST PLUGGABLEDATABASE pdb_name.

QUARANTINE

Liste tous les énoncés SQL auxquels vous avez empêchés d'utiliser des balayages intelligents. La syntaxe est LIST QUARANTINE DETAIL. Vous pouvez également utiliser une clause "where" pour tous les attributs disponibles.

DIAGPACK

Utilisez les commandes ExaCLI CREATE, ALTER, DROP et LIST avec DIAGPACK pour lister les ensembles de diagnostic et leur statut dans votre système Exadata. La syntaxe est LIST DIAGPACK [DETAIL]; DETAIL est un attribut facultatif. Utilisez CREATE DIAGPACK avec l'attribut packStartTime pour regrouper les journaux et les fichiers de suivi dans un seul fichier compressé aux fins de 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 ensemble de diagnostic, utilisez DOWNLOAD DIAGPACK package_name local_directory. Par exemple, la commande suivante télécharge un ensemble de diagnostic dans le répertoire /tmp : DOWNLOAD DIAGPACK cfclcx2647_diag_2018_06_03T00_44_24_1 /tmp.

Notes d'utilisation

  • Notes pour l'option --cookie-jar :
    • Le nom d'utilisateur et le mot de passe sont envoyés au noeud distant aux fins d'authentification. Une fois l'authentification effectuée, le noeud distant émet un témoin (les données d'identification de connexion) stocké dans le nom du fichier spécifié sur le noeud de base de données. Si le nom du fichier n'est pas indiqué, le témoin est stocké dans un emplacement réservé par défaut situé sous HOME/.exacli/cookiejar, où HOME est le répertoire de base de l'utilisateur du système d'exploitation qui exécute la commande ExaCLI. Pour l'utilisateur opc, le répertoire de base est /home/opc.
    • L'utilisateur du système d'exploitation qui exécute la commande ExaCLI est le responsable du fichier de l'emplacement réservé.
    • Un emplacement réservé peut contenir plusieurs témoins de plusieurs utilisateurs sur plusieurs noeuds dans des sessions parallèles.
    • Les témoins sont invalidés après 24 heures.
    • Si le témoin est introuvable ou n'est plus valide, ExaCLI invite à entrer le mot de passe. Le nouveau témoin est stocké dans l'emplacement réservé identifié par filename ou dans l'emplacement réservé par défaut si filename n'est pas spécifié.
    • Même sans l'option --cookie-jar, ExaCLI recherche toujours les témoins dans l'emplacement réservé par défaut. Cependant, si le témoin n'existe pas ou n'est plus valide, le nouveau témoin ne sera pas stocké dans l'emplacement réservé par défaut si l'option --cookie-jar n'est pas spécifiée.
  • Notes pour l'option -e :
    • ExaCLI se ferme après l'exécution des commandes.
    • Si vous indiquez plusieurs commandes à exécuter, assurez-vous de les encadrer par des guillemets simples pour empêcher l'interprétation du point-virgule.
    • Le fichier séquentiel est un fichier texte qui contient une ou plusieurs commandes ExaCLI à exécuter.
  • Notes pour l'option -n (--no-prompt) :
    • Si ExaCLI requiert des informations supplémentaires de l'utilisateur, par exemple, si ExaCLI doit inviter l'utilisateur à entrer un mot de passe (probablement parce qu'il n'y avait aucun témoin valide dans la barre des témoins) 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

Cet exemple présente l'utilisateur d'un noeud de calcul Exadata émettant la 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

Voir "Recherche des adresses IP de cellules de stockage à l'aide du fichier cellip.ora" pour savoir comment déterminer l'adresse IP du serveur de stockage.

Une fois connecté, exécutez des commandes supplémentaires comme suit :
exacli cloud_user_clustername@192.168.136.7> LIST DATABASE
ASM
HRCDB

Exemple 7-58 : Émission d'une commande unique sur un noeud de calcul

Cet exemple présente une commande unique émise sur un noeud de calcul pour effectuer ce qui suit :
  • Connexion à un serveur de stockage
  • Exécuter une action LIST
  • Quitter la session (spécifié par l'option -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 de votre serveur de stockage cible.

Si vous ne connaissez pas l'adresse IP du noeud auquel vous voulez vous connecter, vous le trouverez en consultant le contenu du fichier cellip.ora.

L'exemple suivant illustre la manière de procéder sur la ligne de commande UNIX pour un système de quart de bâti. (Notez qu'un quart de bâti comprend trois cellules de stockage comportant chacune deux connexions : six adresses IP au total sont donc affichées.)
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"
Lorsque vous vous connectez à une cellule de stockage pour la première fois à l'aide d'ExaCLI, vous êtes invité à accepter un certificat SSL. La sortie ExaCLI dans ce cas ressemblera à 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)

Acceptez le certificat Oracle auto-signé en appuyant sur "y" pour continuer à utiliser ExaCLI.