Monitoraggio e gestione di Exadata Storage Servers con ExaCLI

Impara a utilizzare la utility della riga di comando ExaCLI per eseguire le funzioni di monitoraggio e gestione sui server di storage Exadata in Exadata Cloud Service.

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. La utility viene eseguita sui nodi di calcolo del database in Exadata Cloud Service.

Nome utente e password Exadata Storage Server

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

In Exadata Database Service on Cloud@Customer, l'utente preconfigurato per Exadata Storage Server è cloud_user_clustername, dove clustername è il nome del cluster di 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
La password per cloud_user_clustername viene inizialmente impostata su un valore casuale, che è possibile visualizzare eseguendo il comando seguente come utente opc su qualsiasi nodo del cluster:
/opt/exacloud/get_cs_data.py

Comando ExaCLI

Utilizzare ExaCLI (exacli) per configurare la configurazione di celle, nodi di database e oggetti nell'ambiente dei nodi remoti e per monitorare il servizio e gli oggetti Oracle Exadata Database Service on Cloud@Customer.

Scopo

ExaCLI (exacli) consente di configurare il sistema Oracle Exadata Database Service on Cloud@Customer e di ottenere informazioni in tempo reale su Exadata Cloud Service. Per ottenere informazioni sui servizi e sulle opzioni del sistema, eseguire ExaCLI utilizzando il parametro del comando di monitoraggio richiesto.

Per ottenere un elenco dei parametri di monitoraggio del sistema che è possibile utilizzare con ExaCLI, eseguire il parametro LIST.

Sintassi

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

Opzioni

Opzione descrizione;

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

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

-l username o --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 non si specifica un nome di file, 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 richiedere all'utente di eseguire il login durante le successive sessioni ExaCLI.

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

Specifica i comandi ExaCLI da eseguire oppure un file batch. Dopo aver eseguito i comandi, ExaCLI viene chiuso.

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

Per avviare una sessione ExaCLI interattiva, omettere questo comando.

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

-n o --no-prompt

Elimina la richiesta di input dell'utente.

Parametri del comando

Per ottenere informazioni su oggetti e servizi nel sistema, utilizzare i parametri del comando ExaCLI.

Tabella 7-1 Comando

Parametro del comando descrizione;

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

Usato 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 gli attributi A, B e C. Per visualizzare tutti gli attributi delle celle, utilizzare il comando LIST CELL ATTRIBUTES ALL.

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 o LIST FLASHCACHE ATTRIBUTES attribute_name.

FLASHCACHECONTENT

Elenca i dettagli di tutti gli oggetti nella cache flash o 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.

Query di esempio: ricerca del valore object_id di un oggetto
select object_name, data_object_id from user_objects where object_name = 'BIG_CENSUS';
OBJECT_NAME               DATA_OBJECT_ID
----------------------------------------
BIG_CENSUS                29152

FLASHLOG

Elenca gli attributi per il log Smart Flash di Oracle Exadata.

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.

IORMPLAN

Utilizzare i comandi ExaCLI CREATE, ALTER, DROP e LIST con IORMPLAN. 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.

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.

LIST

Elenca le opzioni dei parametri dei comandi disponibili con ExaCLI per i servizi e gli oggetti Exadata Database Service on Cloud@Customer.

LUN

L'oggetto LUN (numero di unità logica) restituisce il numero e il dettaglio dei dischi fisici negli storage server. Elencare i LUN dei dischi con LIST LUN. Elencare i dettagli di ciascuna 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 cui è possibile ottenere i dettagli. Con il comando LIST metricDefinition WHERE objectType=cell è possibile ottenere tutte le metriche per quel tipo di oggetto. È 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.

Utilizzare 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 oppure gli attributi per un gruppo specifico, come mostrato nell'esempio seguente: LIST OFFLOADGROUP offloadgroup4. Elenca gli attributi specifici con LIST OFFLOADGROUP ATTRIBUTES name.

PHYSICALDISK

Elenca tutti i dischi fisici. Utilizzare i risultati di LIST PHYSICALDISK per identificare un disco specifico per ulteriori indagini, quindi elencare i dettagli di tale disco utilizzando il comando 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 è stato impedito l'utilizzo delle Smart Scan. La sintassi è LIST QUARANTINE DETAIL. È inoltre possibile utilizzare una clausola "where" su uno qualsiasi degli attributi disponibili.

DIAGPACK

Utilizzare i comandi ExaCLI CREATE, ALTER, DROP e LIST con DIAGPACK per elencare i pacchetti di diagnostica e il relativo stato nel sistema Exadata. La sintassi è LIST DIAGPACK [DETAIL], con DETAIL come attributo facoltativo. Utilizzare CREATE DIAGPACK con l'attributo packStartTime 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. È inoltre possibile utilizzare il valore now con packStartTime: CREATE DIAGPACK packStartTime=now.

Per scaricare un pacchetto diagnostico, utilizzare DOWNLOAD DIAGPACK package_name local_directory. Ad esempio, il comando seguente scarica un pacchetto diagnostico nella directory /tmp: DOWNLOAD DIAGPACK cfclcx2647_diag_2018_06_03T00_44_24_1 /tmp.

Note per uso

  • 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 nome file specificato nel nodo del database. Se il nome file non viene specificato, il cookie viene memorizzato in un file jar del 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 jar dei cookie.
    • 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.

Esempi

Esempio 7-57 Avvio di una sessione ExaCLI interattiva su un server di storage

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.
exacli -l cloud_user_clustername -c 192.168.136.7

Per informazioni su come determinare l'indirizzo IP delle celle di storage utilizzando il file cellip.ora, vedere "Ricerca degli indirizzi IP delle celle di storage".

Dopo aver eseguito il login, eseguire comandi aggiuntivi come indicato di seguito.
exacli cloud_user_clustername@192.168.136.7> LIST DATABASE
ASM
HRCDB

Esempio 7-58 Esecuzione di un singolo comando su un nodo di calcolo

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 (specificata con l'opzione -e)
exacli -l cloud_user_clustername -c 192.168.136.7 --xml --cookie-jar -e list griddisk detail

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.