Monitoraggio e gestione di Exadata Storage Servers con ExaCLI

La utility della riga di comando ExaCLI consente di eseguire funzioni di monitoraggio e gestione sui server di storage Exadata in un'istanza dell'infrastruttura Exadata Cloud.

Informazioni sul comando ExaCLI

Il comando ExaCLI fornisce un subset dei comandi trovati nella utility della riga di comando Exadata in locale.

ExaCLI offre un subset dei comandi presenti nella utility della riga di comando Exadata in locale utility CellCLI. La utility viene eseguita sulle virtual machine del database in Exadata Cloud Service.

Per informazioni sui comandi disponibili, vedere l'elenco ExaCLI Command in questo argomento.

Nome utente e password Exadata Storage Server

Per connettersi a Exadata Storage Server, sono necessari un nome utente e una password.

Nell'infrastruttura Exadata Cloud l'utente preconfigurato per Exadata Storage Server è cloud_user_clustername, dove clustername è il nome del cluster virtual machine (VM) utilizzato.

È possibile determinare il nome del cluster VM eseguendo il seguente comando crsctl come utente grid su qualsiasi nodo cluster:
crsctl get cluster name

Il comando IThis restituisce CRS-6724: Current cluster name is <cluster_name>

La password per cloud_user_clustername viene inizialmente impostata su un valore casuale, che è possibile visualizzare eseguendo il comando seguente come utente root su qualsiasi nodo del cluster:
/opt/exacloud/get_cs_data.py

Restituisce una password <pwd>

Quindi eseguire il test con ExaCLI come root:
exacli -l cloud_user_<clusternmae> -c 192.168.136.14
Password: ****************************
exacli cloud_user_<cluster_name>@192.168.136.14>

Sintassi dei comandi ExaCLI

Per le destinazioni Exadata Storage Server, creare i comandi utilizzando la sintassi riportata di seguito.

Si noti che l'esempio di sintassi presuppone che l'utente opc sia l'utente su un nodo di calcolo.
exacli -c [username@]remotehost[:port] [-l username] [--xml] [--cookie-jar filename] [-e {command | 'command; command' | @batchfile}]
Questo esempio mostra l'utente su un nodo di calcolo Exadata che esegue il comando per eseguire il login a ExaCLI e avviare una sessione ExaCLI interattiva su un server di storage.
[opc@exacs-node1 ~]$ exacli -l cloud_user_clustername -c 192.168.136.7

Per informazioni su come determinare l'indirizzo IP del server di storage, vedere Connessione a un server di storage con ExaCLI.

Una volta eseguito il login, eseguire comandi aggiuntivi come indicato di seguito.
exacli cloud_user_clustername@192.168.136.7> LIST DATABASE
ASM
HRCDB
Esempio 2

Questo esempio mostra un singolo comando eseguito su un nodo di calcolo che esegue le operazioni riportate di seguito.

  • Si connette a un server di storage
  • Esegue un'azione LIST
  • Esce dalla sessione (specificato con il flag "-e")
[opc@exacs-node1 ~]$ exacli -l cloud_user_clustername -c 192.168.136.7 --xml --cookie-jar -e list griddisk detail
Opzione descrizione;

-c [username@]remotehost oppure

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

Specifica il nodo remoto a cui si desidera connettersi. Se non specificato, ExaCLI richiede il nome utente.

-l username oppure

--login-name username

Specifica il nome utente per eseguire il login al nodo remoto. L'utente preconfigurato è cloud_user_clustername.
--xml Visualizza l'output in formato XML.
--cookie-jar [filename]

Specifica il nome del file del file jar del cookie da utilizzare. Se il nome file non viene specificato, il cookie viene memorizzato in un file jar di cookie predefinito situato in HOME/.exacli/cookiejar, dove HOME è la directory HOME dell'utente del sistema operativo che esegue il comando ExaCLI.

La presenza di un cookie valido consente all'utente ExaCLI di eseguire comandi senza dover effettuare il login nelle successive sessioni ExaCLI.

-e command oppure

-e 'command[; command]' o

-e @batchFile

Specifica i comandi ExaCLI da eseguire o un file batch. ExaCLI esce dopo aver eseguito i comandi.

Se si specificano più comandi da eseguire, racchiudere i comandi tra apici per evitare che la shell interpreti il punto e virgola.

Omettere questa opzione per avviare una sessione ExaCLI interattiva.

--cert-proxy proxy[:port] Specifica il server proxy da utilizzare per il download dei certificati. Se port viene omessa, la porta 80 viene utilizzata per impostazione predefinita.

-n o

--no-prompt

Elimina la richiesta di input dell'utente.
  • Note per l'opzione --cookie-jar:

    • Il nome utente e la password vengono inviati al nodo remoto per l'autenticazione. In caso di autenticazione riuscita, il nodo remoto emette un cookie (le credenziali di login) memorizzato nel file filename specificato sul nodo del database. Se filename non viene specificato, il cookie viene memorizzato in un file jar di cookie predefinito situato in HOME/.exacli/cookiejar, dove HOME è la directory HOME dell'utente del sistema operativo che esegue il comando ExaCLI. Per l'utente opc, la home è /home/opc.
    • L'utente del sistema operativo che esegue il comando ExaCLI è il proprietario del file cookie-jar.
    • Un file jar di cookie può contenere più cookie di più utenti su più nodi in sessioni parallele.
    • I cookie vengono invalidati dopo 24 ore.
    • Se il cookie non viene trovato o non è più valido, ExaCLI richiede la password. Il nuovo cookie viene memorizzato nel file jar dei cookie identificato da filename o nel file jar dei cookie predefinito se non viene specificato filename.
    • Anche senza l'opzione --cookie-jar, ExaCLI controlla ancora i cookie dal file jar dei cookie predefinito. Tuttavia, se il cookie non esiste o non è più valido, il nuovo cookie non verrà memorizzato nel file jar del cookie predefinito se l'opzione --cookie-jar non viene specificata.

  • Note per l'opzione -e:

    • ExaCLI esce dopo aver eseguito i comandi.
    • Se si specificano più comandi da eseguire, assicurarsi di racchiudere i comandi tra apici per evitare che la shell interpreti il punto e virgola.
    • Il file batch è un file di testo che contiene uno o più comandi ExaCLI da eseguire.
  • Note per l'opzione -n (--no-prompt):

    • Se ExaCLI necessita di informazioni aggiuntive da parte dell'utente, ad esempio se ExaCLI deve richiedere all'utente una password (forse perché non vi erano cookie validi nel file cookie-jar) o per richiedere all'utente di confermare l'identità del nodo remoto, ExaCLI stampa un messaggio di errore ed esce.

Connessione a un server di storage con ExaCLI

Per utilizzare ExaCLI sugli storage server, è necessario conoscere l'indirizzo IP del server di storage di destinazione.

Se non si conosce l'indirizzo IP del nodo a cui si desidera connettersi, è possibile trovarlo visualizzando il contenuto del file cellip.ora.

L'esempio seguente illustra come eseguire questa operazione sulla riga di comando UNIX per un sistema Quarter Rack. Tenere presente che un Quarter Rack dispone di tre celle di storage e che ciascuna cella dispone di due connessioni, pertanto viene visualizzato un totale di sei indirizzi IP.
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"
Se si esegue la connessione a una cella di storage per la prima volta utilizzando ExaCLI, potrebbe essere richiesto di accettare un certificato SSL. L'output ExaCLI in questo caso sarà simile al seguente:
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)

Accettare il certificato Oracle autofirmato premendo "y" per continuare a utilizzare ExaCLI.

Riferimento per il comando ExaCLI

È possibile eseguire vari comandi ExaCLI per monitorare e gestire i server Exadata Storage Servers associati al sistema Oracle Cloud Infrastructure Exadata DB. ExaCLI ti consente di ottenere informazioni aggiornate e in tempo reale su Exadata Cloud Service.

Utilizzare il comando LIST con i seguenti servizi e oggetti:

  • ACTIVEREQUEST: elenca tutte le richieste attive attualmente gestite dagli storage server.
  • ALERTDEFINITION: elenca tutti gli avvisi possibili e le relative origini per gli storage server.
  • ALERTHISTORY: elenca tutti gli avvisi che sono stati problemi per gli storage server.
  • CELL: utilizzato per elencare i dettagli di un attributo specifico degli storage server o delle celle di storage. La sintassi è la seguente:
    LIST CELL ATTRIBUTES A,B,C
    , con A, B e C come attributi. Per visualizzare tutti gli attributi di cella, utilizzare
    LIST CELL ATTRIBUTES ALL
    comando.
  • CELLDISK: elenca gli attributi dei dischi cella negli storage server. Usare la sintassi seguente per elencare i dettagli del disco cella:
    LIST CELLDISK cell_disk_name
              DETAIL
    .
  • DATABASE: elenca i dettagli dei DATABASE. Utilizza la sintassi regolare del comando LIST:
    LIST DATABASE
    e
    LIST DATABASE DETAIL
    . È inoltre possibile utilizzare questo comando per mostrare un singolo attributo con la seguente sintassi:
    LIST DATABASE
              ATTRIBUTES NAME
    .
  • FLASHCACHE: elenca i dettagli della cache flash del sistema Exadata. Per questo oggetto, è possibile utilizzare i seguenti pattern di sintassi:
    LIST FLASHCACHE DETAIL
    In alternativa
    LIST FLASHCACHE
              ATTRIBUTES attribute_name
    .
  • FLASHCACHECONTENT: elenca i dettagli di tutti gli oggetti nella cache flash o i dettagli di un ID oggetto specificato. Per elencare tutti i dettagli di tutti gli oggetti, utilizzare
    LIST FLASHCACHECONTENT DETAIL
    . Per elencare i dettagli di un oggetto specifico, utilizzare una clausola WHERE come indicato di seguito.
    LIST FLASHCACHECONTENT WHERE objectNumber=12345 DETAIL
    Nota: per trovare l'ID oggetto di un oggetto specifico, è possibile eseguire una query
    user_objects
    utilizzando il nome dell'oggetto per ottenere
    data_object_id
    di una partizione o di una tabella.
  • FLASHLOG: elenca gli attributi per Oracle Exadata Smart Flash Log.
  • GRIDDISK: elenca i dettagli di un determinato disco griglia. La sintassi è simile alla sintassi del comando CELLDISK. Per visualizzare tutti gli attributi:
    LIST GRIDDISK grid_disk_name
              DETAIL
    . Per visualizzare gli attributi specificati del disco griglia:
    LIST
              GRIDDISK grid_disk_name ATTRIBUTES size,
            name
    .
  • IBPORT: elenca i dettagli delle porte InfiniBand. La sintassi è
    LIST IBPORT DETAIL
    .
  • IORMPROFILE: elenca tutti i profili IORM impostati negli storage server. È inoltre possibile fare riferimento all'attributo profilo nell'oggetto DATABASE se un DATABASE contiene un profilo IORM. La sintassi è
    LIST
              IORMPROFILE
    .
  • LUN: l'oggetto LUN (numero di unità logica) restituisce il numero e il dettaglio dei dischi fisici negli storage server. Visualizzare i LUN dei dischi con
    LIST LUN
    . Elenca i dettagli di ogni LUN con
    LIST LUN lun_number
              DETAIL
    .
  • METRICCURRRENT: elenca le metriche correnti per un determinato tipo di oggetto. La sintassi è
    LIST METRICCURRENT WHERE
                objectType = 'CELLDISK'
    . Questo comando consente inoltre di limitare l'ordinamento e i risultati, come illustrato nell'esempio riportato di seguito.
    LIST METRICCURRENT attributes name, metricObjectName
                ORDER BY metricObjectName asc, name desc LIMIT 5
  • METRICDEFINITION: elenca le definizioni delle metriche per l'oggetto per il quale è possibile ottenere i dettagli. Con il comando
    LIST
              metricDefinition WHERE objectType=cell
    , è possibile ottenere tutte le metriche per il tipo di oggetto specificato. È quindi possibile utilizzare di nuovo l'oggetto definizione metrica per ottenere i dettagli per una di queste metriche specifiche elencate di seguito.
    LIST metricDefinition WHERE
              name= IORM_MODE DETAIL
    .
  • METRICHISTORY: elenca le metriche in un periodo di tempo specificato. Ad esempio, con il comando
    LIST METRICHISTORY WHERE ageInMinutes <
              30
    , è possibile elencare tutte le metriche raccolte negli ultimi 30 minuti. È inoltre possibile utilizzare il predicato collectionTime per impostare un intervallo da un'ora specifica. Usare collectionTime come mostrato nell'esempio seguente:
    LIST METRICHISTORY WHERE collectionTime
              > '2018-04-01T21:12:00-10:00'
    . L'oggetto cronologia delle metriche può essere utilizzato anche per visualizzare una metrica specifica utilizzando il nome dell'oggetto (ad esempio,
    LIST
              METRICHISTORY CT_FD_IO_RQ_SM
    ) o con una clausola "where" per ottenere oggetti con attributi simili come il nome (ad esempio,
    LIST METRICHISTORY WHERE
              name like 'CT_.*'
    ).
  • OFFLOADGROUP: elenca gli attributi per il gruppo di riduzione del carico in esecuzione negli storage server. È possibile elencare tutti i dettagli per tutti i gruppi con
    LIST OFFLOADGROUP DETAIL
    o elencare gli attributi per un gruppo specifico, come illustrato nell'esempio riportato di seguito.
    LIST
              OFFLOADGROUP offloadgroup4
    . Elenca attributi specifici con
    LIST OFFLOADGROUP ATTRIBUTES name
    .
  • PHYSICALDISK: elenca tutti i dischi fisici. Usa i risultati di
    LIST PHYSICALDISK
    per identificare un disco specifico per ulteriori indagini, quindi elencare i dettagli di tale disco utilizzando il comando come indicato di seguito.
    LIST PHYSICALDISK 20:10 DETAIL
    . Per elencare i dettagli dei dischi flash, utilizzare il comando come indicato di seguito.
    LIST PHYSICALDISK
              FLASH_1_0 DETAIL
    ).
  • PLUGGABLEDATABASE: elenca tutti i PDB. visualizzare i dettagli di un PDB specifico con
    LIST PLUGGABLEDATABASE pdb_name
    .
  • QUARANTINE: elenca tutte le istruzioni SQL per le quali non è stato possibile utilizzare Smart Scans. La sintassi è
    LIST QUARANTINE
              DETAIL
    . È inoltre possibile utilizzare una clausola "where" su uno qualsiasi degli attributi disponibili.

Utilizzare i comandi ExaCLI CREATE, ALTER, DROP e LIST per agire sui seguenti oggetti di Exadata Storage Server:

  • DIAGPACK: elenca i package di diagnostica e il relativo stato nel sistema Exadata. La sintassi è
    LIST DIAGPACK
                [DETAIL]
    , con DETAIL come attributo facoltativo. Utilizzare
    CREATE DIAGPACK
    con
    packStartTime
    attributo per raccogliere i log e i file di trace in un singolo file compresso da scaricare, come nell'esempio riportato di seguito.
    CREATE DIAGPACK
                packStartTime=2019_12_15T00_00_00
    . Il valore "now" può essere utilizzato anche con packStartTime:
    CREATE DIAGPACK packStartTime=now
    Per scaricare un pacchetto diagnostico, utilizzare
    DOWNLOAD DIAGPACK
                  package_namelocal_directory
    . Ad esempio, il comando seguente scarica un pacchetto diagnostico nella directory /tmp:
    DOWNLOAD DIAGPACK  cfclcx2647_diag_2018_06_03T00_44_24_1 /tmp
  • IORMPLAN: è possibile elencare, creare, modificare ed eliminare i piani IORM utilizzando ExaCLI. Per visualizzare i dettagli di tutti i piani IORM, utilizzare
    LIST
              IORMPLAN DETAIL
    . È inoltre possibile utilizzare il comando per creare e modificare i piani IORM e per applicare i piani agli storage server.
select object_name, data_object_id from user_objects where object_name = 'BIG_CENSUS';
OBJECT_NAME               DATA_OBJECT_ID
----------------------------------------
BIG_CENSUS                29152