Surveillance et gestion de serveurs Exadata Storage Server avec ExaCLI

L'utilitaire de ligne de commande ExaCLI permet d'exécuter des fonctions de surveillance et de gestion sur les serveurs de stockage Exadata dans une instance Exadata Cloud Infrastructure.

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 CellCLI. L'utilitaire est exécuté sur les machines virtuelles de base de données dans Exadata Cloud Service.

Reportez-vous à la liste des commandes ExaCLI dans cette rubrique pour connaître les commandes disponibles.

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 Cloud Infrastructure, 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

Cette commande renvoie CRS-6724: Current cluster name is <cluster_name>.

Le mot de passe pour cloud_user_clustername est initialement défini sur une valeur aléatoire. Pour l'afficher, exécutez la commande suivant en tant qu'utilisateur root sur un noeud de cluster :
/opt/exacloud/get_cs_data.py

Cette commande renvoie un mot de passe <pwd>.

Ensuite, testez avec ExaCLI en tant qu'utilisateur root :
exacli -l cloud_user_<clusternmae> -c 192.168.136.14
Password: ****************************
exacli cloud_user_<cluster_name>@192.168.136.14>

Syntaxe des commandes ExaCLI

Pour les cibles Exadata Storage Server, construisez vos commandes à l'aide de la syntaxe suivante.

L'exemple de syntaxe part du principe que vous êtes l'utilisateur opc sur un noeud de calcul.
exacli -c [username@]remotehost[:port] [-l username] [--xml] [--cookie-jar filename] [-e {command | 'command; command' | @batchfile}]
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 :
[opc@exacs-node1 ~]$ exacli -l cloud_user_clustername -c 192.168.136.7

Pour plus d'informations sur la détermination de l'adresse IP du serveur de stockage, reportez-vous à Connexion à un serveur de stockage avec ExaCLI.

Une fois connecté, exécutez les commandes supplémentaires suivantes :
exacli cloud_user_clustername@192.168.136.7> LIST DATABASE
ASM
HRCDB
Exemple 2

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).
[opc@exacs-node1 ~]$ exacli -l cloud_user_clustername -c 192.168.136.7 --xml --cookie-jar -e list griddisk detail
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]

Indique le nom du fichier cookie-jar à 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 ou

-e 'command[; command]' ou

-e @batchFile

Indique les commandes ExaCLI à exécuter ou un fichier batch. 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.

Omettez cette option pour démarrer une session ExaCLI interactive.

--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.
  • 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 filename est indiqué sur le noeud de base de données. Si vous ne spécifiez pas de nom de fichier filename, 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.

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

Référence des commandes ExaCLI

Vous pouvez exécuter différentes commandes ExaCLI pour surveiller et gérer les serveurs Exadata Storage Server associés à votre système de base de données Oracle Cloud Infrastructure Exadata. ExaCLI permet d'obtenir des informations à jour en temps réel sur Exadata Cloud Service.

Utilisez la commande LIST avec les services et objets suivants :

  • ACTIVEREQUEST : répertorie toutes les demandes actives actuellement gérées par les serveurs de stockage.
  • ALERTDEFINITION : répertorie toutes les alertes possibles et leur sources pour le serveur de stockage.
  • ALERTHISTORY : répertorie toutes les alertes qui ont été émisées pour les serveurs de stockage.
  • CELL : répertorie les détails des attributs spécifiques des serveurs de stockage (cellules de stockage).
    LIST CELL ATTRIBUTES A,B,C

    où A, B et C représentent les attributs à afficher.

    Pour afficher tous les attributs de cellule, utilisez :

    LIST CELL ATTRIBUTES ALL
  • CELLDISK : répertorie les attributs des disques cellule dans les serveurs de stockage.
    LIST CELLDISK cell_disk_name DETAIL

    Affiche des informations détaillées sur le disque cellule spécifié.

  • DATABASE : répertorie les détails des bases de données.
    LIST DATABASE

    Affiche une synthèse de toutes les bases de données.

    LIST DATABASE DETAIL

    Affiche des informations détaillées sur toutes les bases de données.

    LIST DATABASE ATTRIBUTES NAME

    Affiche l'attribut spécifié (dans ce cas, le NAME) pour chaque base de données.

  • FLASHCACHE : répertorie les détails du cache Flash du système Exadata.
    LIST FLASHCACHE DETAIL

    Affiche des informations détaillées sur le cache Flash.

    LIST FLASHCACHE ATTRIBUTES attribute_name

    Affiche l'attribut spécifié pour le cache Flash.

  • FLASHCACHECONTENT : répertorie la liste de tous les objets dans le cache Flash ou les détails d'un ID d'objet spécifié.
    LIST FLASHCACHECONTENT DETAIL

    Affiche des informations détaillées sur tous les objets du cache Flash.

    LIST FLASHCACHECONTENT WHERE objectNumber=12345 DETAIL

    Affiche des informations détaillées sur l'objet avec le paramètre objectNumber indiqué.

    Remarque

    Pour rechercher l'ID d'objet d'un objet spécifique, interrogez user_objects à l'aide du nom de l'objet afin d'extraire data_object_id d'une partition ou d'une table.

  • 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.
    LIST GRIDDISK grid_disk_name DETAIL

    Affiche tous les attributs du disque grille spécifié.

    LIST GRIDDISK grid_disk_name ATTRIBUTES size, name

    Affiche uniquement les attributs spécifiés (taille, nom) du disque grille.

  • IBPORT : répertorie les détails des ports InfiniBand.
    LIST IBPORT DETAIL

    Affiche des informations détaillées sur tous les ports InfiniBand.

  • IORMPROFILE : répertorie tous les profils IORM définis sur les serveurs de stockage. Vous pouvez également vous référer à l'attribut de profil de l'objet DATABASE pour voir si un profil IORM est associé à une base de données.
    LIST IORMPROFILE

    Affiche les profils IORM configurés sur les serveurs de stockage.

  • LUN : représente les numéros d'unité logique (LUN) des disques physiques dans les serveurs de stockage.
    LIST LUN

    Affiche un récapitulatif de tous les LUN.

    LIST LUN lun_number DETAIL

    Affiche les informations détaillées du LUN spécifié.

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

    Affiche les mesures actuelles pour le type d'objet spécifié (dans ce cas, CELLDISK).

    LIST METRICCURRENT ATTRIBUTES name, metricObjectName 
    ORDER BY metricObjectName ASC, name DESC LIMIT 5

    Affiche les attributs sélectionnés, triés par metricObjectName (croissant) et name (décroissant), limités aux 5 premiers résultats.

  • METRICDEFINITION : répertorie les définitions de mesure disponibles pour un type d'objet donné. Ces définitions peuvent ensuite être utilisées pour extraire les détails de mesures spécifiques.
    LIST METRICDEFINITION WHERE objectType = cell

    Affiche toutes les définitions de mesure pour le type d'objet (cellule) indiqué.

    LIST METRICDEFINITION WHERE name = IORM_MODE DETAIL

    Affiche des informations détaillées sur la mesure indiquée (IORM_MODE).

  • METRICHISTORY : répertorie les mesures collectées sur une période donnée.
    LIST METRICHISTORY WHERE ageInMinutes < 30

    Affiche toutes les mesures collectées au cours des 30 dernières minutes.

    LIST METRICHISTORY WHERE collectionTime > '2018-04-01T21:12:00-10:00'

    Affiche toutes les mesures collectées après l'horodatage indiqué.

    LIST METRICHISTORY CT_FD_IO_RQ_SM

    Affiche l'historique d'une mesure spécifique par nom.

    LIST METRICHISTORY WHERE name LIKE 'CT_.*'

    Affiche toutes les mesures dont le nom correspond au modèle indiqué.

  • OFFLOADGROUP : répertorie les attributs des groupes de déchargement en cours d'exécution sur les serveurs de stockage.
    LIST OFFLOADGROUP DETAIL

    Affiche des informations détaillées sur tous les groupes de déchargement.

    LIST OFFLOADGROUP offloadgroup4

    Affiche les détails d'un groupe de déchargement spécifique (offloadgroup4).

    LIST OFFLOADGROUP ATTRIBUTES name

    Affiche uniquement les attributs spécifiés, tels que le nom, pour tous les groupes de déchargement.

  • PHYSICALDISK : répertorie tous les disques physiques dans les serveurs de stockage. Utilisez les résultats pour identifier un disque spécifique à examiner plus en détail.
    LIST PHYSICALDISK

    Affiche un récapitulatif de tous les disques physiques.

    LIST PHYSICALDISK 20:10 DETAIL

    Affiche des informations détaillées sur un disque spécifique (20:10).

    LIST PHYSICALDISK FLASH_1_0 DETAIL

    Affiche des informations détaillées sur un disque Flash spécifique (FLASH_1_0).

  • PLUGGABLEDATABASE : répertorie toutes les bases de données pluggables de l'environnement.
    LIST PLUGGABLEDATABASE

    Affiche un récapitulatif de toutes les bases de données pluggables.

    LIST PLUGGABLEDATABASE pdb_name

    Affiche des informations détaillées sur la base de données pluggable indiquée (pdb_name).

  • QUARANTINE : répertorie toutes les instructions SQL pour lesquelles les analyses intelligentes vous ont empêché d'utiliser ces dernières.
    LIST QUARANTINE DETAIL

    Affiche des informations détaillées sur toutes les instructions SQL mises en quarantaine.

    LIST QUARANTINE WHERE attribute = value

    Filtre les résultats par attributs spécifiques à l'aide d'une clause WHERE.

Utilisez les commandes ExaCLI CREATE, ALTER, DROP et LIST pour effectuer des opérations sur les objets Exadata Storage Server suivants :

  • DIAGPACK : répertorie les packages de diagnostic et leur statut dans le système Exadata.
    LIST DIAGPACK
    LIST DIAGPACK DETAIL

    Répertorie tous les packages de diagnostic, DETAIL fournissant des informations détaillées.

    CREATE DIAGPACK packStartTime=2019_12_15T00_00_00

    Crée un package de diagnostic à partir de l'heure indiquée. Vous pouvez également utiliser now pour capturer immédiatement les diagnostics :

    CREATE DIAGPACK packStartTime=now
    DOWNLOAD DIAGPACK cfclcx2647_diag_2018_06_03T00_44_24_1 /tmp

    Télécharge le package de diagnostic spécifié dans le répertoire /tmp (ou un autre chemin local).

  • IORMPLAN : gérez les plans IORM (I/O Resource Manager) sur les serveurs de stockage Exadata. Vous pouvez répertorier, créer, modifier et supprimer les plans IORM à l'aide d'ExaCLI.
    LIST IORMPLAN DETAIL

    Répertorie tous les plans IORM avec des informations détaillées.

    Vous pouvez également utiliser CREATE IORMPLAN, ALTER IORMPLAN ou DROP IORMPLAN pour gérer les plans et les appliquer aux serveurs de stockage selon vos besoins.

    select object_name, data_object_id from user_objects where object_name = 'BIG_CENSUS';
    OBJECT_NAME               DATA_OBJECT_ID
    ----------------------------------------
    BIG_CENSUS                29152