Exadata-Speicherserver mit ExaCLI überwachen und verwalten

Hier erfahren Sie, wie Sie mit dem Befehlszeilenutility ExaCLI Monitoring- und Managementfunktionen auf Exadata-Speicherservern im Exadata Cloud Service ausführen.

ExaCLI-Befehl

Der ExaCLI-Befehl stellt eine Untergruppe der Befehle bereit, die im On-Premise-Befehlszeilenutility von Exadata enthalten sind.

ExaCLI bietet eine Untergruppe der Befehle, die im On-Premise-Befehlszeilenutility von Exadata enthalten sind. Das Utility wird auf den Datenbank-Compute-Nodes im Exadata Cloud Service ausgeführt.

Benutzername und Kennwort für Exadata-Speicherserver

Sie benötigen einen Benutzernamen und ein Kennwort, um eine Verbindung zum Exadata-Speicherserver herzustellen.

Bei Exadata Database Service on Cloud@Customer ist der vorkonfigurierte Benutzer für Exadata-Speicherserver cloud_user_clustername, wobei clustername der Name des verwendeten VM-Clusters ist.

Sie können den Namen des VM-Clusters ermitteln, indem Sie den folgenden crsctl-Befehl als Benutzer grid auf einem beliebigen Clusterknoten ausführen:
crsctl get cluster name
Das Kennwort für cloud_user_clustername ist anfangs auf einen Zufallswert gesetzt, den Sie anzeigen können, indem Sie den folgenden Befehl als Benutzer opc auf einem beliebigen Clusterknoten ausführen:
/opt/exacloud/get_cs_data.py

ExaCLI-Befehl

Verwenden Sie ExaCLI (exacli), um die Cell, die Datenbankknotenkonfiguration und die Objekte in der Remoteknotenumgebung zu konfigurieren und Ihren Oracle Exadata Database Service on Cloud@Customer-Service und Ihre Objekte zu überwachen.

Zweck

Mit ExaCLI (exacli) können Sie Ihr Oracle Exadata Database Service on Cloud@Customer-System konfigurieren und Echtzeitinformationen zu Ihrem Exadata Cloud Service abrufen. Um Informationen zu den Services und Optionen in Ihrem System abzurufen, führen Sie ExaCLI mit dem erforderlichen Monitoringbefehlsparameter aus.

Um eine Liste der Systemmonitoringparameter abzurufen, die Sie mit ExaCLI verwenden können, verwenden Sie den Parameter LIST.

Syntax

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

Optionen

Option Beschreibung

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

Gibt den Remoteknoten an, zu dem Sie eine Verbindung herstellen möchten. ExaCLI fordert Sie auf, den Benutzernamen einzugeben, wenn dieser nicht angegeben ist.

-l username oder --login-name username

Gibt den Benutzernamen für die Anmeldung beim Remoteknoten an. Der vorkonfigurierte Benutzer ist cloud_user_clustername.

--xml

Zeigt die Ausgabe im XML-Format an.

--cookie-jar [filename]

Gibt den Dateinamen der zu verwendenden Cookie-JAR an. Wenn Sie keinen Dateinamen angeben, wird das Cookie in einer Standard-JAR-Datei unter HOME/.exacli/cookiejar gespeichert, wobei HOME das Home-Verzeichnis des Betriebssystembenutzers ist, der den Befehl exacli ausführt.

Wenn ein gültiges Cookie vorhanden ist, kann der ExaCLI-Benutzer Befehle ausführen, ohne sich bei nachfolgenden ExaCLI-Sessions anmelden zu müssen.

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

Gibt entweder die ExaCLI-Befehle an, die ausgeführt werden sollen, oder eine Batchdatei. Nach Ausführung der Befehle wird ExaCLI beendet.

Wenn Sie mehrere auszuführende Befehle angeben, setzen Sie die Befehle in einfache Anführungszeichen, damit die Shell das Semikolon nicht interpretiert.

Wenn Sie eine interaktive ExaCLI-Session starten, lassen Sie diesen Befehl weg.

--cert-proxy proxy[:port] Gibt den Proxy-Server an, den Sie beim Herunterladen von Zertifikaten verwenden möchten. Wenn port nicht angegeben wird, wird standardmäßig Port 80 verwendet.

-n oder --no-prompt

Unterdrückt Eingabeaufforderungen.

Befehlsparameter

Um Informationen zu Objekten und Services auf dem System abzurufen, verwenden Sie diese ExaCLI-Befehlsparameter.

Tabelle 7-1: Befehl

Befehlsparameter Beschreibung

ACTIVEREQUEST

Listet alle aktiven Anforderungen auf, die aktuell von den Speicherservern verarbeitet werden.

ALERTDEFINITION

Listet alle möglichen Alerts und die zugehörigen Quellen für Speicherserver auf.

ALERTHISTORY

Listet alle Alerts auf, die für die Speicherserver ausgegeben wurden.

CELL

Wird verwendet, um die Details eines bestimmten Attributs der Speicherserver oder Cells aufzulisten. Die Syntax ist wie folgt: LIST CELL ATTRIBUTES A,B,C, wobei A, B und C Attribute sind. Um alle Cell-Attribute anzuzeigen, verwenden Sie den Befehl LIST CELL ATTRIBUTES ALL.

CELLDISK

Listet die Attribute der Cell Disks auf den Speicherservern auf. Verwenden Sie die folgende Syntax, um die Details der Cell Disks aufzulisten: LIST CELLDISK cell_disk_name DETAIL.

DATABASE

Listet Details der Datenbanken auf. Verwendet die reguläre LIST-Befehlssyntax: LIST DATABASE und LIST DATABASE DETAIL. Mit diesem Befehl können Sie mit der folgenden Syntax auch ein einzelnes Attribut anzeigen: LIST DATABASE ATTRIBUTES NAME.

FLASHCACHE

Listet die Details des Flashcache des Exadata-Systems auf. Für dieses Objekt können Sie die folgenden Syntaxmuster verwenden: LIST FLASHCACHE DETAIL oder LIST FLASHCACHE ATTRIBUTES attribute_name.

FLASHCACHECONTENT

Listet die Details aller Objekte im Flashcache oder die Details einer angegebenen Objekt-ID auf. Um alle Details aller Objekte aufzulisten, verwenden Sie LIST FLASHCACHECONTENT DETAIL.

Um Details zu einem bestimmten Objekt aufzulisten, verwenden Sie wie folgt eine Where-Klausel: LIST FLASHCACHECONTENT WHERE objectNumber=12345 DETAIL.

Beispielabfrage: object_id-Wert eines Objekts ermitteln
select object_name, data_object_id from user_objects where object_name = 'BIG_CENSUS';
OBJECT_NAME               DATA_OBJECT_ID
----------------------------------------
BIG_CENSUS                29152

FLASHLOG

Listet die Attribute für das Oracle Exadata Smart Flash-Log auf.

GRIDDISK

Listet die Details einer bestimmten Grid Disk auf. Die Syntax entspricht der CELLDISK-Befehlssyntax. So zeigen Sie alle Attribute an: LIST GRIDDISK grid_disk_name DETAIL. So zeigen Sie bestimmte Attribute der Grid Disk an: LIST GRIDDISK grid_disk_name ATTRIBUTES size, name.

IBPORT

Listet Details der InfiniBand-Ports auf. Die Syntax lautet LIST IBPORT DETAIL.

IORMPLAN

Verwenden Sie die Befehle ExaCLI CREATE, ALTER, DROP und LIST mit IORMPLAN. Um die Details aller IORM-Pläne anzuzeigen, verwenden Sie LIST IORMPLAN DETAIL. Sie können den Befehl auch verwenden, um IORM-Pläne zu erstellen und zu ändern und Pläne auf Speicherserver anzuwenden.

IORMPROFILE

Listet alle IORM-Profile auf, die auf den Speicherservern festgelegt wurden. Sie können auch auf das Profilattribut im Objekt DATABASE zurückverweisen, wenn eine Datenbank ein IORM-Profil enthält. Die Syntax lautet LIST IORMPROFILE.

LIST

Listet die Befehlsparameteroptionen auf, die mit ExaCLI für die Exadata Database Service on Cloud@Customer-Services und -Objekte verfügbar sind.

LUN

Das LUN-(Logical Unit Number-)Objekt gibt die Nummer und die Details der physischen Datenträger in den Speicherservern zurück. Die LUNs der Datenträger listen Sie mit LIST LUN auf. Die Details jeder LUN listen Sie mit LIST LUN lun_number DETAIL auf.

METRICCURRRENT

Listet die aktuellen Metriken für einen bestimmten Objekttyp auf. Die Syntax lautet LIST METRICCURRENT WHERE objectType = 'CELLDISK'.

Mit diesem Befehl können die Ergebnisse auch sortiert und begrenzt werden, wie im folgenden Beispiel gezeigt:
LIST METRICCURRENT attributes name, metricObjectName ORDER BY metricObjectName asc, name desc
      LIMIT 5

METRICDEFINITION

Listet Metrikdefinitionen für das Objekt auf, für die Sie anschließend Details abrufen können. Mit dem Befehl LIST metricDefinition WHERE objectType=cell können Sie alle Metriken für diesen Objekttyp abrufen. Anschließend können Sie mit dem Objekt für die Metrikdefinition Details für eine dieser aufgeführten Metriken abrufen:
LIST metricDefinition WHERE name= IORM_MODE DETAIL

METRICHISTORY

Listet Kennzahlen über einen bestimmten Zeitraum auf. Beispiel: Mit dem Befehl LIST METRICHISTORY WHERE ageInMinutes < 30 können Sie alle in den letzten 30 Minuten erfassten Metriken auflisten. Sie können auch das Prädikat collectionTime verwenden, um einen Bereich ab einem bestimmten Zeitpunkt festzulegen.

Verwenden Sie collectionTime wie im folgenden Beispiel gezeigt: LIST METRICHISTORY WHERE collectionTime > '2018-04-01T21:12:00-10:00'. Mit dem Metrikhistorienobjekt kann auch eine bestimmte Metrik anhand des Objektnamens (Beispiel: LIST METRICHISTORY CT_FD_IO_RQ_SM) angezeigt werden, oder Sie können eine Where-Klausel verwenden, um Objekte mit ähnlichen Attributen, wie zum Beispiel ähnlichen Namen, abzurufen (Beispiel: LIST METRICHISTORY WHERE name like 'CT_.*').

OFFLOADGROUP

Listet die Attribute für die Auslagerungsgruppen auf, die auf den Speicherservern ausgeführt werden. Sie können mit LIST OFFLOADGROUP DETAIL alle Details für alle Gruppen anzeigen, oder Sie können die Attribute für eine bestimmte Gruppe anzeigen, wie im folgenden Beispiel gezeigt: LIST OFFLOADGROUP offloadgroup4. Spezifische Attribute listen Sie mit LIST OFFLOADGROUP ATTRIBUTES name auf.

PHYSICALDISK

Listet alle physischen Datenträger auf. Verwenden Sie die Ergebnisse von LIST PHYSICALDISK, um einen bestimmten zu untersuchenden Datenträger zu ermitteln, und listen Sie die Details dieses Datenträgers mit dem Befehl wie folgt auf: LIST PHYSICALDISK 20:10 DETAIL. Um die Details von Flashdisks aufzurufen, verwenden Sie den Befehl wie folgt: LIST PHYSICALDISK FLASH_1_0 DETAIL.

PLUGGABLEDATABASE

Listet alle integrierbaren Datenbanken auf. Mit LIST PLUGGABLEDATABASE pdb_name zeigen Sie die Details einer bestimmten integrierbaren Datenbank an.

QUARANTINE

Listet alle SQL-Anweisungen auf, die Sie von der Verwendung von Smart Scans ausgeschlossen haben. Die Syntax lautet LIST QUARANTINE DETAIL. Sie können mit allen verfügbaren Attributen auch eine Where-Klausel verwenden.

DIAGPACK

Verwenden Sie die ExaCLI/Befehle CREATE, ALTER, DROP und LIST mit DIAGPACK, um die Diagnosepackages und deren Status in Ihrem Exadata-System aufzulisten. Die Syntax ist LIST DIAGPACK [DETAIL], wobei DETAIL ein optionales Attribut ist. Verwenden Sie CREATE DIAGPACK mit dem Attribut packStartTime, um Logs und Tracedateien in einer komprimierten Datei zum Download zu erfassen. Beispiel: CREATE DIAGPACK packStartTime=2019_12_15T00_00_00. Sie können auch den Wert now mit packStartTime: CREATE DIAGPACK packStartTime=now verwenden.

Um ein Diagnosepackage herunterzuladen, verwenden Sie DOWNLOAD DIAGPACK package_name local_directory. Beispiel: Mit dem folgenden Befehl wird ein Diagnosepackage in das Verzeichnis /tmp heruntergeladen. DOWNLOAD DIAGPACK cfclcx2647_diag_2018_06_03T00_44_24_1 /tmp

Hinweise zur Verwendung

  • Hinweise zur Option --cookie-jar:
    • Der Benutzername und das Kennwort werden zur Authentifizierung an den Remoteknoten gesendet. Bei erfolgreicher Authentifizierung gibt der Remoteknoten ein Cookie (die Anmeldedaten) aus, das unter dem angegebenen Dateinamen auf dem Datenbankknoten gespeichert wird. Wenn kein Dateiname angegeben ist, wird das Cookie in einer Standard-JAR-Datei unter HOME/.exacli/cookiejar gespeichert, wobei HOME das Home-Verzeichnis des Betriebssystembenutzers ist, der den ExaCLI-Befehl ausführt. Für den opc-Benutzer ist das Home-Verzeichnis /home/opc.
    • Der Betriebssystembenutzer, der den ExaCLI-Befehl ausführt, ist der Eigentümer der Cookie-JAR-Datei.
    • Eine Cookie-JAR-Datei kann mehrere Cookies von mehreren Benutzern auf mehreren Knoten in parallelen Sessions enthalten.
    • Cookies werden nach 24 Stunden ungültig.
    • Wenn das Cookie nicht gefunden wird oder nicht mehr gültig ist, fordert ExaCLI zur Kennworteingabe auf. Das neue Cookie wird in der Cookie-JAR-Datei gespeichert, die mit filename identifiziert wird, oder in der Standard-JAR-Datei, wenn filename nicht angegeben wird.
    • Auch ohne die Option --cookie-jar sucht ExaCLI in der Standard-JAR-Datei nach Cookies. Wenn das Cookie jedoch nicht vorhanden oder nicht mehr gültig ist, wird das neue Cookie nicht in der Standard-Cookie-JAR-Datei gespeichert, wenn die Option --cookie-jar nicht angegeben wird.
  • Hinweise zur Option -e:
    • ExaCLI wird nach Ausführung der Befehle beendet.
    • Wenn Sie mehrere auszuführende Befehle angeben, setzen Sie die Befehle in einfache Anführungszeichen, damit die Shell das Semikolon nicht interpretiert.
    • Die Batchdatei ist eine Textdatei, die mindestens einen auszuführenden ExaCLI-Befehl enthält.
  • Hinweise zur Option -n (--no-prompt):
    • Wenn ExaCLI zusätzliche Informationen vom Benutzer benötigt, z.B. wenn ExaCLI den Benutzer zur Eingabe eines Kennworts (weil keine gültigen Cookies in der Cookie-JAR vorhanden sind) oder zur Bestätigung der Identität des Remote-Knotens auffordern muss, gibt ExaCLI eine Fehlermeldung aus und wird beendet.

Beispiele

Beispiel 7-57: Starten einer interaktiven ExaCLI-Session auf einem Speicherserver

Dieses Beispiel zeigt, wie der Benutzer auf einem Exadata-Compute Node, der den Befehl zur Anmeldung bei ExaCLI absetzt, eine interaktive ExaCLI-Session auf einem Speicherserver startet:
exacli -l cloud_user_clustername -c 192.168.136.7

Informationen zum Ermitteln der IP-Adresse des Speicherservers finden Sie unter "IP-Adressen von Cells mit der Datei cellip.ora suchen".

Führen Sie nach der Anmeldung wie folgt zusätzliche Befehle aus:
exacli cloud_user_clustername@192.168.136.7> LIST DATABASE
ASM
HRCDB

Beispiel 7-58: Absetzen eines einzelnen Befehls auf einem Compute Node

Dieses Beispiel zeigt einen einzelnen Befehl, der auf einem Compute Node abgesetzt wird und folgende Aufgaben ausführt:
  • Verbindung zu einem Speicherserver herstellen
  • LIST-Aktion ausführen
  • Session beenden (bei Angabe der Option -e)
exacli -l cloud_user_clustername -c 192.168.136.7 --xml --cookie-jar -e list griddisk detail

Verbindung zu einem Speicherserver mit ExaCLI herstellen

Um ExaCLI auf Speicherservern zu verwenden, müssen Sie die IP-Adresse des Zielspeicherservers kennen.

Wenn Sie die IP-Adresse des Knotens, zu dem Sie eine Verbindung herstellen möchten, nicht kennen, können Sie diese anhand der Datei cellip.ora ermitteln.

Das folgende Beispiel zeigt diesen Vorgang anhand der UNIX-Befehlszeile für ein Quarter-Rack-System. (Beachten Sie, dass ein Quarter Rack drei Cells enthält. Jede Cell hat zwei Verbindungen, sodass insgesamt sechs IP-Adressen angezeigt werden.)
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"
Wenn Sie zum ersten Mal mit ExaCLI eine Verbindung zu einer Cell herstellen, werden Sie möglicherweise aufgefordert, ein SSL-Zertifikat zu akzeptieren. Die Ausgabe von ExaCLI sieht in diesem Fall wie folgt aus:
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)

Akzeptieren Sie das selbstsignierte Oracle-Zertifikat, indem Sie "y" drücken, um mit der Verwendung von ExaCLI fortzufahren.