Monitorando e Gerenciando Exadata Storage Servers com o ExaCLI

O utilitário de linha de comando ExaCLI permite que você execute funções de monitoramento e gerenciamento nos servidores de armazenamento do Exadata em uma instância do Exadata Cloud Infrastructure.

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 on-premises, utilitário CellCLI do Exadata. O utilitário é executado nas máquinas virtuais do banco de dados no Exadata Cloud Service.

Consulte a lista Comando ExaCLI neste tópico para saber quais comandos estão disponíveis.

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 Cloud Infrastructure, o usuário pré-configurado do Exadata Storage Server é cloud_user_clustername, em que clustername corresponde ao nome do cluster de máquinas virtuais (VMs) 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

Esse comando retorna CRS-6724: Current cluster name is <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 root em qualquer nó de cluster:
/opt/exacloud/get_cs_data.py

Essa opção retorna uma senha <pwd>

Em seguida, teste com ExaCLI como raiz:
exacli -l cloud_user_<clusternmae> -c 192.168.136.14
Password: ****************************
exacli cloud_user_<cluster_name>@192.168.136.14>

Sintaxe de Comandos do ExaCLI

Para destinos do Exadata Storage Server, crie seus comandos usando a sintaxe a seguir.

Observe que o exemplo de sintaxe considera que você é o usuário opc em um nó de computação.
exacli -c [username@]remotehost[:port] [-l username] [--xml] [--cookie-jar filename] [-e {command | 'command; command' | @batchfile}]
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:
[opc@exacs-node1 ~]$ exacli -l cloud_user_clustername -c 192.168.136.7

Consulte Conexão com um Servidor de Armazenamento com o ExaCLI 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 forma:
exacli cloud_user_clustername@192.168.136.7> LIST DATABASE
ASM
HRCDB
Exemplo 2

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 o flag "-e")
[opc@exacs-node1 ~]$ exacli -l cloud_user_clustername -c 192.168.136.7 --xml --cookie-jar -e list griddisk detail
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 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 corresponde ao 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 fazer log-in em sessões ExaCLI subsequentes.

-e command ou

-e 'command[; command]' ou

-e @batchFile

Especifica os comandos ExaCLI a serem executados ou um arquivo em batch. O ExaCLI é encerrado após a execução dos comandos.

Se estiver especificando múltiplos comandos para serem executados, coloque-os entre aspas simples para impedir que o shell interprete o ponto e vírgula.

Omita esta opção para iniciar uma sessão interativa do ExaCLI.

--cert-proxy proxy[:port] Especifica o servidor proxy a ser usado durante o download dos certificados. Por padrão, se o comando port for omitido, a porta 80 será usada.

-n ou

--no-prompt

Suprime a solicitação de entrada do usuário.
  • 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 emitirá um cookie (as credenciais de log-in) que será armazenado no filename especificado no nó do banco de dados. Se filename não for especificado, o cookie será armazenado em um jar de cookie padrão localizado em HOME/.exacli/cookiejar, em que HOME corresponde ao 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.

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.

Referência de Comandos do ExaCLI

Você pode executar vários comandos do ExaCLI para monitorar e gerenciar Exadata Storage Servers associados ao seu sistema de banco de dados Exadata do Oracle Cloud Infrastructure. O ExaCLI permite obter informações atualizadas em tempo real sobre o seu Exadata Cloud Service.

Use o comando LIST com os seguintes serviços e objetos:

  • ACTIVEREQUEST: Lista todas as solicitações ativas que estão sendo atendidas pelos servidores de armazenamento no momento.
  • ALERTDEFINITION: Lista todos os alertas possíveis e suas origens para servidores de armazenamento.
  • ALERTHISTORY: Lista todos os alertas que foram emitidos para os servidores de armazenamento.
  • CELL: Lista os detalhes de atributos específicos dos servidores de armazenamento (células de armazenamento).
    LIST CELL ATTRIBUTES A,B,C

    onde A, B e C representam os atributos a serem exibidos.

    Para exibir todos os atributos de célula, use:

    LIST CELL ATTRIBUTES ALL
  • CELLDISK: Lista os atributos dos discos da célula nos servidores de armazenamento.
    LIST CELLDISK cell_disk_name DETAIL

    Exibe informações detalhadas do disco de células especificado.

  • BANCO DE DADOS: Lista detalhes dos banco de dados.
    LIST DATABASE

    Exibe um resumo de todos os bancos de dados.

    LIST DATABASE DETAIL

    Exibe informações detalhadas de todos os bancos de dados.

    LIST DATABASE ATTRIBUTES NAME

    Exibe o atributo especificado (neste caso, o NOME) para cada banco de dados.

  • FLASHCACHE: Lista os detalhes do cache de flash do sistema Exadata.
    LIST FLASHCACHE DETAIL

    Exibe informações detalhadas do flash cache.

    LIST FLASHCACHE ATTRIBUTES attribute_name

    Exibe o atributo especificado para o flash cache.

  • FLASHCACHECONTENT: Lista os detalhes de todos os objetos no cache flash ou os detalhes de um ID do objeto especificado.
    LIST FLASHCACHECONTENT DETAIL

    Exibe informações detalhadas de todos os objetos no cache flash.

    LIST FLASHCACHECONTENT WHERE objectNumber=12345 DETAIL

    Exibe informações detalhadas do objeto com o objectNumber especificado.

    Observação

    Para localizar o ID de objeto de um objeto específico, consulte user_objects usando o nome do objeto para recuperar o data_object_id de uma partição ou tabela.

  • FLASHLOG: Lista os atributos do Log do Oracle Exadata Smart Flash.
  • GRIDDISK: Lista os detalhes de um determinado disco da grade. A sintaxe é semelhante à do comando CELLDISK.
    LIST GRIDDISK grid_disk_name DETAIL

    Exibe todos os atributos do disco de grades especificado.

    LIST GRIDDISK grid_disk_name ATTRIBUTES size, name

    Exibe apenas os atributos especificados (tamanho, nome) do disco de grades.

  • IBPORT: Lista detalhes das portas InfiniBand.
    LIST IBPORT DETAIL

    Exibe informações detalhadas para todas as portas InfiniBand.

  • IORMPROFILE: Lista todos os perfis IORM que foram definidos nos servidores de armazenamento. Você também pode consultar o atributo de perfil no objeto DATABASE para ver se um banco de dados tem um perfil IORM associado.
    LIST IORMPROFILE

    Exibe os perfis do IORM configurados nos servidores de armazenamento.

  • LUN: Representa os números de unidades lógicas (LUNs) dos discos físicos nos servidores de armazenamento.
    LIST LUN

    Exibe um resumo de todas as LUNs.

    LIST LUN lun_number DETAIL

    Exibe informações detalhadas para a LUN especificada.

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

    Exibe as métricas atuais para o tipo de objeto especificado (neste caso, CELLDISK).

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

    Exibe os atributos selecionados, classificados por metricObjectName (crescente) e name (decrescente), limitados aos 5 principais resultados.

  • METRICDEFINITION: Lista as definições de métrica disponíveis para um determinado tipo de objeto. Essas definições podem ser usadas para recuperar detalhes de métricas específicas.
    LIST METRICDEFINITION WHERE objectType = cell

    Exibe todas as definições de métrica para o tipo de objeto (célula) especificado.

    LIST METRICDEFINITION WHERE name = IORM_MODE DETAIL

    Exibe informações detalhadas da métrica especificada (IORM_MODE).

  • METRICHISTORY: Lista as métricas coletadas durante um período especificado.
    LIST METRICHISTORY WHERE ageInMinutes < 30

    Exibe todas as métricas coletadas nos últimos 30 minutos.

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

    Exibe todas as métricas coletadas após o timestamp especificado.

    LIST METRICHISTORY CT_FD_IO_RQ_SM

    Exibe o histórico de uma métrica específica por nome.

    LIST METRICHISTORY WHERE name LIKE 'CT_.*'

    Exibe todas as métricas com nomes correspondentes ao padrão fornecido.

  • OFFLOADGROUP: Lista os atributos dos grupos de offload em execução nos servidores de armazenamento.
    LIST OFFLOADGROUP DETAIL

    Exibe informações detalhadas para todos os grupos de offload.

    LIST OFFLOADGROUP offloadgroup4

    Exibe os detalhes de um grupo de offload específico (offloadgroup4).

    LIST OFFLOADGROUP ATTRIBUTES name

    Exibe apenas o(s) atributo(s) especificado(s), como nome, para todos os grupos de offload.

  • PHYSICALDISK: Lista todos os discos físicos nos servidores de armazenamento. Use os resultados para identificar um disco específico para investigação adicional.
    LIST PHYSICALDISK

    Exibe um resumo de todos os discos físicos.

    LIST PHYSICALDISK 20:10 DETAIL

    Exibe informações detalhadas de um disco específico (20:10).

    LIST PHYSICALDISK FLASH_1_0 DETAIL

    Exibe informações detalhadas de um disco flash específico (FLASH_1_0).

  • PLUGGABLEDATABASE: Lista todos os bancos de dados plugáveis (PDBs) no ambiente.
    LIST PLUGGABLEDATABASE

    Exibe um resumo de todos os bancos de dados plugáveis.

    LIST PLUGGABLEDATABASE pdb_name

    Exibe informações detalhadas do banco de dados plugável especificado (pdb_name).

  • QUARANTINE: Lista todas as instruções SQL que foram impedidas de usar Smart Scane.
    LIST QUARANTINE DETAIL

    Exibe informações detalhadas de todas as instruções SQL em quarentena.

    LIST QUARANTINE WHERE attribute = value

    Filtra resultados por atributos específicos usando uma cláusula WHERE.

Use os comandos ExaCLI CREATE, ALTER, DROP e LIST para atuar nos seguintes objetos do Exadata Storage Server:

  • DIAGPACK: Lista pacotes de diagnóstico e seus status no sistema Exadata.
    LIST DIAGPACK
    LIST DIAGPACK DETAIL

    Lista todos os pacotes de diagnóstico, com DETAIL fornecendo informações estendidas.

    CREATE DIAGPACK packStartTime=2019_12_15T00_00_00

    Cria um pacote de diagnóstico a partir do horário especificado. Você também pode usar o now para capturar diagnósticos imediatamente:

    CREATE DIAGPACK packStartTime=now
    DOWNLOAD DIAGPACK cfclcx2647_diag_2018_06_03T00_44_24_1 /tmp

    Faz download do pacote de diagnóstico especificado para o diretório /tmp (ou outro caminho local).

  • IORMPLAN: Gerencia planos do IORM (I/O Resource Manager) em servidores de armazenamento Exadata. Você pode listá-los, criá-los, alterá-los e eliminá-los usando ExaCLI.
    LIST IORMPLAN DETAIL

    Lista todos os planos do IORM com informações detalhadas.

    Você também pode usar o CREATE IORMPLAN, o ALTER IORMPLAN ou o DROP IORMPLAN para gerenciar planos e aplicá-los aos servidores de armazenamento conforme necessário.

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