Monitorando e Gerenciando Exadata Storage Servers com o ExaCLI

Aprenda a usar o utilitário de linha de comando ExaCLI para executar funções de monitoramento e gerenciamento em servidores de armazenamento Exadata no Exadata Cloud Service.

Sobre o Comando ExaCLI

O comando ExaCLI fornece um subconjunto de comandos encontrados no utilitário de linha de comando do Exadata local.

O ExaCLI oferece um subconjunto dos comandos encontrados no utilitário de linha de comando local do Exadata. O utilitário é executado nos nós de computação de banco de dados no Exadata Cloud Service.

Nome de Usuário e Senha do Exadata Storage Server

É necessário um nome de usuário e uma senha para estabelecer conexão com o Exadata Storage Server.

No Exadata Database Service on Cloud@Customer, o usuário pré-configurado do Exadata Storage Server é cloud_user_clustername, em que clustername é o nome do cluster de máquinas virtuais (VM) que está sendo usado.

Você pode determinar o nome do cluster de VMs executando o seguinte comando crsctl como usuário grid em qualquer nó de cluster:
crsctl get cluster name
A senha para cloud_user_clustername é definida inicialmente com um valor aleatório, que você pode exibir executando o seguinte comando como usuário opc em qualquer nó de cluster:
/opt/exacloud/get_cs_data.py

Comando ExaCLI

Use ExaCLI (exacli) para configurar célula, nó de banco de dados e objetos no ambiente de nó remoto e para monitorar serviço e objetos do Oracle Exadata Database Service on Cloud@Customer.

Finalidade

O ExaCLI (exacli) permite configurar o sistema Oracle Exadata Database Service on Cloud@Customer e obter informações em tempo real sobre o Exadata Cloud Service. Para obter informações sobre os serviços e as opções do sistema, execute o ExaCLI usando o parâmetro de comando de monitoramento necessário.

Para obter uma lista dos parâmetros de monitoramento do sistema que você pode usar com o ExaCLI, execute o parâmetro LIST.

Sintaxe

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

Opções

Opção Descrição

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

Especifica o nó remoto com o qual você deseja estabelecer conexão. O ExaCLI solicitará o nome do usuário se não for especificado.

-l username ou --login-name username

Especifica o nome do usuário para fazer log-in no nó remoto. O usuário pré-configurado é cloud_user_clustername.

--xml

Exibe a saída no formato XML.

--cookie-jar [filename]

Especifica o nome do arquivo jar do cookie a ser usado. Se você não especificar um nome de arquivo, o cookie será armazenado em um jar de cookie padrão localizado em HOME/.exacli/cookiejar, em que HOME é o diretório home do usuário do sistema operacional que executa o comando exacli.

A presença de um cookie válido permite que o usuário ExaCLI execute comandos sem precisar que o usuário faça log-in durante as sessões subsequentes do ExaCLI.

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

Especifica os comandos ExaCLI a serem executados ou um arquivo em batch. Depois de executar os comandos, o ExaCLI é encerrado.

Se você estiver especificando a execução de vários comandos, coloque-os entre aspas simples para impedir que o shell interprete o ponto e vírgula.

Para iniciar uma sessão interativa do ExaCLI, omita esse comando.

--cert-proxy proxy[:port] Especifica o servidor proxy que você deseja usar ao fazer download dos certificados. Se o comando port for omitido, a porta 80 será usada por padrão.

-n ou --no-prompt

Suprime a solicitação de entrada do usuário.

Parâmetros de Comando

Para obter informações sobre objetos e serviços no sistema, use esses parâmetros do comando ExaCLI.

Tabela 7-1 Comando

Parâmetro de Comando Descrição

ACTIVEREQUEST

Lista todas as solicitações ativas que estão sendo atendidas pelos servidores de armazenamento.

ALERTDEFINITION

Lista todos os possíveis alertas e suas origens para servidores de armazenamento.

ALERTHISTORY

Lista todos os alertas emitidos para os servidores de armazenamento.

CELL

Usado para listar os detalhes de um atributo específico dos servidores de armazenamento ou das células de armazenamento. A sintaxe é a seguinte: LIST CELL ATTRIBUTES A,B,C, com A, B e C sendo atributos. Para ver todos os atributos de célula, use o comandoLIST CELL ATTRIBUTES ALL.

CELLDISK

Lista os atributos dos discos de célula nos servidores de armazenamento. Use a seguinte sintaxe para listar os detalhes do disco de célula: LIST CELLDISK cell_disk_name DETAIL.

DATABASE

Lista detalhes dos bancos de dados. Usa a sintaxe regular do comando LIST: LIST DATABASE e LIST DATABASE DETAIL. Você também pode usar esse comando para mostrar um atributo individual com a seguinte sintaxe: LIST DATABASE ATTRIBUTES NAME.

FLASHCACHE

Lista os detalhes do cache flash do sistema Exadata. Para esse objeto, você pode usar os seguintes padrões de sintaxe: LIST FLASHCACHE DETAIL ou LIST FLASHCACHE ATTRIBUTES attribute_name.

FLASHCACHECONTENT

Lista os detalhes de todos os objetos no cache flash ou os detalhes de um ID de objeto especificado. Para listar todos os detalhes de todos os objetos, use LIST FLASHCACHECONTENT DETAIL.

Para listar detalhes de um objeto específico, use uma cláusula where como esta: LIST FLASHCACHECONTENT WHERE objectNumber=12345 DETAIL.

Consulta de exemplo: encontrando o valor object_id de um objeto
select object_name, data_object_id from user_objects where object_name = 'BIG_CENSUS';
OBJECT_NAME               DATA_OBJECT_ID
----------------------------------------
BIG_CENSUS                29152

FLASHLOG

Lista os atributos do Oracle Exadata Smart Flash Log.

GRIDDISK

Lista os detalhes de um disco de grade específico. A sintaxe é semelhante à sintaxe do comando CELLDISK. Para exibir todos os atributos: LIST GRIDDISK grid_disk_name DETAIL. Para exibir os atributos especificados do disco de grade: LIST GRIDDISK grid_disk_name ATTRIBUTES size, name.

IBPORT

Lista os detalhes das portas InfiniBand. A sintaxe é LIST IBPORT DETAIL.

IORMPLAN

Use os comandos ExaCLI CREATE, ALTER, DROP e LIST com IORMPLAN. Para ver os detalhes de todos os planos do IORM, use LIST IORMPLAN DETAIL. Você também pode usar o comando para criar e alterar planos do IORM e aplicar planos a servidores de armazenamento.

IORMPROFILE

Lista todos os perfis do IORM definidos nos servidores de armazenamento. Você também poderá retornar ao atributo de perfil no objeto DATABASE se um banco de dados tiver um perfil do IORM. A sintaxe é LIST IORMPROFILE.

LIST

Lista as opções de parâmetro de comando disponíveis com o ExaCLI para os serviços e objetos do Exadata Database Service on Cloud@Customer.

LUN

O objeto LUN (número da unidade lógica) retorna o número e os detalhes dos discos físicos nos servidores de armazenamento. Liste os LUNs dos discos com LIST LUN. Liste os detalhes de cada LUN com LIST LUN lun_number DETAIL.

METRICCURRRENT

Lista as métricas atuais de um tipo de objeto específico. A sintaxe é LIST METRICCURRENT WHERE objectType = 'CELLDISK'.

Esse comando também permite a classificação e os limites de resultados, conforme vistos no seguinte exemplo:
LIST METRICCURRENT attributes name, metricObjectName ORDER BY metricObjectName asc, name desc
      LIMIT 5

METRICDEFINITION

Lista as definições de métrica do objeto cujos detalhes você pode obter. Com o comando LIST metricDefinition WHERE objectType=cell, você pode obter todas as métricas desse tipo de objeto. Em seguida, você pode usar o objeto de definição de métrica novamente para obter detalhes de uma das métricas específicas listadas:
LIST metricDefinition WHERE name= IORM_MODE DETAIL

METRICHISTORY

Liste as métricas durante um período especificado. Por exemplo, com o comando LIST METRICHISTORY WHERE ageInMinutes < 30, você pode listar todas as métricas coletadas nos últimos 30 minutos. Você também pode usar o predicado collectionTime para definir uma faixa de horário específico.

Use collectionTime conforme mostrado no seguinte exemplo: LIST METRICHISTORY WHERE collectionTime > '2018-04-01T21:12:00-10:00'. O objeto de histórico de métricas também pode ser usado para ver uma métrica específica usando o nome do objeto (por exemplo, LIST METRICHISTORY CT_FD_IO_RQ_SM) ou com uma cláusula "where" para obter objetos com nomes semelhantes (por exemplo, LIST METRICHISTORY WHERE name like 'CT_.*').

OFFLOADGROUP

Lista os atributos do grupo de descarregamento em execução nos servidores de armazenamento. Você pode listar todos os detalhes de todos os grupos com LIST OFFLOADGROUP DETAIL ou listar os atributos de um grupo específico, conforme mostrado no seguinte exemplo: LIST OFFLOADGROUP offloadgroup4. Liste atributos específicos com LIST OFFLOADGROUP ATTRIBUTES name.

PHYSICALDISK

Lista todos os discos físicos. Use os resultados de LIST PHYSICALDISK para identificar um disco específico a ser investigado melhor; em seguida, liste os detalhes desse disco usando o seguinte comando: LIST PHYSICALDISK 20:10 DETAIL. Para listar os detalhes de discos flash, use o seguinte comando: LIST PHYSICALDISK FLASH_1_0 DETAIL).

PLUGGABLEDATABASE

Lista todos os PDBs. Exiba os detalhes de um PDB específico com LIST PLUGGABLEDATABASE pdb_name.

QUARANTINE

Lista todas as instruções SQL que você impediu de usar Smart Scans. A sintaxe é LIST QUARANTINE DETAIL. Você também pode usar uma cláusula "where" em qualquer um dos atributos disponíveis.

DIAGPACK

Use os comandos ExaCLI CREATE, ALTER, DROP e LIST com DIAGPACK para listar os pacotes de diagnóstico e seus status no sistema Exadata. A sintaxe é LIST DIAGPACK [DETAIL], com DETAIL sendo um atributo opcional. Use CREATE DIAGPACK com o atributo packStartTime para reunir logs e arquivos de rastreamento em um único arquivo compactado para download, como neste exemplo: CREATE DIAGPACK packStartTime=2019_12_15T00_00_00. Você também pode usar o valor now com packStartTime: CREATE DIAGPACK packStartTime=now.

Para baixar um pacote de diagnóstico, use DOWNLOAD DIAGPACK package_name local_directory. Por exemplo, o seguinte comando faz download de um pacote de diagnóstico para o diretório /tmp: DOWNLOAD DIAGPACK cfclcx2647_diag_2018_06_03T00_44_24_1 /tmp.

Observações de Uso

  • Observações sobre a opção --cookie-jar:
    • O nome do usuário e a senha são enviados ao nó remoto para autenticação. Em uma autenticação bem-sucedida, o nó remoto emite um cookie (as credenciais de log-in) que é armazenado no nome de arquivo especificado, no nó do banco de dados. Se o nome do arquivo não for especificado, o cookie será armazenado em um jar de cookie padrão localizado em HOME/.exacli/cookiejar, em que HOME é o diretório home do usuário do sistema operacional que executa o comando ExaCLI. Para o usuário opc, o home é /home/opc.
    • O usuário do sistema operacional que executa o comando ExaCLI é o proprietário do arquivo jar do cookie.
    • Um jar de cookie pode conter vários cookies de vários usuários em vários nós de sessões paralelas.
    • Os cookies são invalidados após 24 horas.
    • Se o cookie não for encontrado ou não for mais válido, o ExaCLI solicitará a senha. O novo cookie será armazenado no jar de cookie identificado por filename ou no jar de cookie padrão se filename não for especificado.
    • Mesmo sem a opção --cookie-jar, o ExaCLI ainda verifica cookies no jar de cookie padrão. No entanto, se o cookie não existir ou não for mais válido, o novo cookie não será armazenado no jar de cookie padrão se a opção --cookie-jar não for especificada.
  • Observações sobre a opção -e:
    • O ExaCLI é encerrado após a execução dos comandos.
    • Se você estiver especificando a execução de vários comandos, coloque-os entre aspas simples para impedir que o shell interprete o ponto e vírgula.
    • O arquivo em batch é um arquivo de texto que contém um ou mais comandos ExaCLI para execução.
  • Observações sobre a opção -n (--no-prompt):
    • Se o ExaCLI precisar de informações adicionais do usuário, por exemplo, se o ExaCLI precisar solicitar uma senha ao usuário (possivelmente porque não havia cookies válidos no jar de cookie) ou solicitar que o usuário confirme a identidade do nó remoto, ele imprimirá uma mensagem de erro e será encerrado.

Exemplos

Exemplo 7-57 Iniciando uma Sessão Interativa do ExaCLI em um Servidor de Armazenamento

Este exemplo mostra o usuário em um nó de computação Exadata emitindo o comando para fazer log-in no ExaCLI e iniciar uma sessão interativa no ExaCLI em um servidor de armazenamento:
exacli -l cloud_user_clustername -c 192.168.136.7

Consulte "Localizando os endereços IP de células de armazenamento com o arquivo cellip.ora" para obter informações sobre como determinar o endereço IP do servidor de armazenamento.

Depois de fazer log-in, execute comandos adicionais da seguinte maneira:
exacli cloud_user_clustername@192.168.136.7> LIST DATABASE
ASM
HRCDB

Exemplo 7-58 Emitindo um Único Comando em um Nó de Computação

Este exemplo mostra um único comando emitido em um nó de computação que faz o seguinte:
  • Estabelece conexão com um servidor de armazenamento
  • Executa uma ação LIST
  • Sai da sessão (especificada com a opção -e)
exacli -l cloud_user_clustername -c 192.168.136.7 --xml --cookie-jar -e list griddisk detail

Estabelecendo Conexão com um Servidor de Armazenamento com o ExaCLI

Para usar o ExaCLI em servidores de armazenamento, você precisará saber o endereço IP do servidor de armazenamento de destino.

Se você não souber o endereço IP do nó com o qual deseja estabelecer conexão, poderá encontrá-lo exibindo o conteúdo do arquivo cellip.ora.

O exemplo a seguir ilustra como fazer isso na linha de comando do UNIX para um sistema quarter rack. (Observe que um quarter rack tem três células de armazenamento e cada célula tem duas conexões, de forma que um total de seis endereços IP é mostrado.)
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 você estiver estabelecendo conexão com uma célula de armazenamento pela primeira vez usando o ExaCLI, talvez tenha de aceitar um certificado SSL. A saída do ExaCLI nesse caso será semelhante à seguinte:
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)

Aceite o certificado Oracle autoassinado pressionando "y" para continuar usando o ExaCLI.