DBMCLI utilitário de linha de comando - Oracle Exadata Database Machine

Por Y V Ravi Kumar Oracle ACE director, Nassyam Basha Oracle ACE directore Rodrigo Mufalani Oracle ACE
Publicado em Julho 2018

Revisado por Mario Andrés Escobar



Introdução

O utilitário de linha de comando DBMCLI, é uma ferramenta de administração para configurar servidores de bancos de dados, e gerenciar objetos no ambiente de servidores. O DBMCLI roda em cada servidor habilitando você a configurar servidores de bancos de dados individuais. Você pode usar o DBMCLI para iniciar e parar o servidor, para gerenciar as informações de configurações do servidor, e para habilitar e desabilitar servidores. O utilitário de linha de comando já vem instalado quando a Oracle Exadata Database Machine é enviada.

Nota: O DBMCLI é parte do Management Server que roda nos database servers. Exadata database servers agora tem um management server (MS) similar ao Exadata Storage Servers.


Usos da interface de linha de comando do DBMCLI

  • O utilitário DBMCLI está incluso na última release 12.1.2.1.0 do Exadata Image.
  • DBMCLI usa a autenticação do Sistema operacional do database server.
  • DBMCLI trabalha em conjunto com MS para realizar tarefas administrativas e de monitoramento.
  • DBMCLI não possui um parametron de login ou um comando connect.
  • Configuramos ASR, capacity-on-demand, Infrastructure as a service.
  • Configuramos alertas de e-mail.
  • Configurar, gerenciar e monitorar os database servers.
  • Podemos Start/Stop o servidor.
  • Gerenciar as configurações de um servidor.
  • Habilitar ou desabilitar o servidor.
  • Pode ser iniciado através de SSH executando o DBMCLI.
  • Usado para monitorar métricas como CPU, IO etc no database server.
  • Executar multiplos comandos DBMCLI usando o utilitário de linha de commando dcli.
  • Configurado com as contas de usuário:

    dbmadmin (usuário Administrativo) pode fazer o seguinte:
    1.CREATE
    2. ALTER
    3. DROP

    dbmmonitor (usuário Monitor) pode fazer o seguinte:
    1. LIST
    2. DESCRIBE


  • Os arquivos de configurações estão localizados no diretório:
      
      $ cd  /opt/oracle/dbserver/dbms/deploy/config/
      $ cat  cellinit.ora
      #CELL  Initialization Parameters
      ipaddress2=192.168.11.151/24
      


Executando o DBMCLI remotamente usando SSH:

  $ ssh dbmadmin@exadbserver02
  dbmadmin@exadbserver02's password:
  [dbmadmin@exadbserver02 ~]$ipaddress1=192.168.11.150/24
  


Checando a informação sobre a imagem:



Checando o ‘dbserverd’ status



Novos usuários para o DBMCLI

$ su - dbmadmin
[dbmadmin@exadbserver01 ~]$ dbmcli
DBMCLI: Release - Production on Thu Jun 29 10:51:39 EDT 2017
Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.

DBMCLI> list dbserver
        exadbserver01     online

DBMCLI> exit
quitting

[dbmadmin@exadbserver01 ~]$ exit
logout

$ su - dbmmonitor
[dbmmonitor@exadbserver01 ~]$ dbmcli
DBMCLI: Release  - Production on Thu Jun 29 10:52:00 EDT 2017
Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.

DBMCLI> list dbserver
exadbserver01     online

DBMCLI> exit
quitting



Checando as informações sobre o Database Server:

[dbmadmin@exadbserver01 ~]$ dbmcli -e list dbserver
exadbserver01     online

[dbmadmin@exadbserver01 ~]$ dbmcli -e list dbserver detail

         name:                   	exadbserver01
         bbuStatus:              	normal
         coreCount:              	24/24
         cpuCount:               	48/48
         diagHistoryDays:        	7
         fanCount:               	16/16
         fanStatus:              	normal
         id:                     	1346NML060
         interconnectCount:      	2
         interconnect1:        	        ib0
         interconnect2:        	        ib1
         ipaddress1:             	192.168.11.150/24
         ipaddress2:             	192.168.11.151/24
         kernelVersion:        	        4.1.12-61.33.1.el6uek.x86_64
         locatorLEDStatus:  		off
         makeModel:              	Oracle Corporation SUN SERVER X4-2
         metricHistoryDays:      	7
         msVersion:              	OSS_12.2.1.1.1_LINUX.X64_170419
         notificationMethod:     	mail,snmp
         notificationPolicy:     	critical,warning,clear
         powerCount:             	2/2
         powerStatus:            	normal
         releaseImageStatus:     	success
         releaseVersion:         	12.2.1.1.1.170419
         releaseTrackingBug:     	25512521
         smtpFrom:               	"exadbserver - Exadata"
         smtpFromAddr:           	ExadataAdmin@Exadata.com
         smtpPort:               	25
         smtpServer:             	mailrelay.com
         smtpToAddr:             	ExadataAdmin@Exadata.com
         smtpUseSSL:             	FALSE
         snmpSubscriber:         	host=170.12.116.25,port=162,community=public,
         				type=ASR,asrmPort=16161
         status:                 	online
         temperatureReading:     	25.0
         temperatureStatus:      	normal
         upTime:                 	22 days, 0:48
         msStatus:               	running
         rsStatus:               	running



Database Server Metrics

As métricas do Database server fornecem informações sobre o servidor, como a utilização de CPU, memória e interconexão de rede. Para mostrar as métricas, use o tipo de objeto igual ao DBSERVER com os objetos METRICCURRENT, METRICDEFINITION, e METRICHISTORY.

DBMCLI> list metriccurrent ds_cput detail
        name:                   	DS_CPUT
        alertState:             	normal
        collectionTime:         	2017-06-29T12:26:01-04:00
        metricObjectName:       	exadbserver01
        metricType:             	Instantaneous
        metricValue:            	59.5 %
        objectType:             	DBSERVER



O percentual de uso do espaço de SWAP.

DBMCLI> list metriccurrent ds_swap_usage detail
        name:                   	DS_SWAP_USAGE
        alertState:             	normal
        collectionTime:         	2017-06-29T12:30:01-04:00
        metricObjectName:       	exadbserver01
        metricType:             	Instantaneous
        metricValue:            	0 %
        objectType:             	DBSERVER



O número de páginas de swap lidas em KB por segundo.

DBMCLI> list metriccurrent ds_swap_in_by_sec detail
        name:                   	DS_SWAP_IN_BY_SEC
        alertState:             	normal
        collectionTime:         	2017-06-29T12:30:01-04:00
        metricObjectName:       	exadbserver01
        metricType:             	Instantaneous
        metricValue:            	0.0 KB/sec
        objectType:             	DBSERVER



O número de páginas de swap escritas em KB por segundo.

DBMCLI> list metriccurrent ds_swap_out_by_sec detail
        name:                   	DS_SWAP_OUT_BY_SEC
        alertState:             	normal
        collectionTime:         	2017-06-29T12:30:01-04:00
        metricObjectName:       	exadbserver01
        metricType:             	Instantaneous
        metricValue:            	0.0 KB/sec
        objectType:             	DBSERVER



O percentual de memória física usada no servidor.

DBMCLI> list metriccurrent ds_memut detail
        name:                   	DS_MEMUT
        alertState:             	normal
        collectionTime:         	2017-06-29T12:30:01-04:00
        metricObjectName:       	exadbserver01
        metricType:             	Instantaneous
        metricValue:            	94 %
        objectType:             	DBSERVER



O número de MB recebidos pelas interfaces de InfiniBand por segundo.

DBMCLI> list metriccurrent n_hca_mb_rcv_sec detail
        name:                   	N_HCA_MB_RCV_SEC
        alertState:             	normal
        collectionTime:         	2017-06-29T12:31:03-04:00
        metricObjectName:       	exadbserver01
        metricType:             	Rate
        metricValue:            	419 MB/sec
        objectType:             	DBSERVER



O número de MB transmitidos pelas interfaces de InfiniBand por segundo.

DBMCLI> list metriccurrent n_hca_mb_trans_sec detail
        name:                   	N_HCA_MB_TRANS_SEC
        alertState:             	normal
        collectionTime:         	2017-06-29T12:31:03-04:00
        metricObjectName:       	exadbserver01
        metricType:             	Rate
        metricValue:            	285 MB/sec
        objectType:             	DBSERVER
DBMCLI>



Iniciando e Parando os serviços do Database Server

  dbmcli> alter dbserver shutdown  services ms
  dbmcli> alter dbserver restart  services ms
  


Configurando Pending Core Count

  dbmcli> alter dbserver  pendingcorecount=20
  


Mostrando como aumentar o número de cores ativos para 20.

dbmcli> alter dbserver pendingecorecount=20

DBMCLI> describe dbserver
        name                   	modifiable
        bbuStatus
        comment                	modifiable
        coreCount
        cpuCount
        diagHistoryDays        	modifiable
        diagPackEmailAttach    	modifiable
        diagPackUploadEnabled  	modifiable
        emailFormat            	modifiable
        emailSubscriber        	modifiable
        fanCount
        fanStatus
        iaasIdleInUse          	modifiable
        iaasMode               	modifiable
        iaasReason             	modifiable
        id
        interconnectCount
        interconnect1          	modifiable
        interconnect2          	modifiable
        interconnect3          	modifiable
        interconnect4          	modifiable
        interconnect5          	modifiable
        interconnect6          	modifiable
        interconnect7          	modifiable
        interconnect8          	modifiable
        ipaddress1
        ipaddress2
        ipaddress3
        ipaddress4
        ipaddress5
        ipaddress6
        ipaddress7
        ipaddress8
        kernelVersion
        locatorLEDStatus
        location               	modifiable
        makeModel
        metricCollection       	modifiable
        metricHistoryDays      	modifiable
        msVersion
        notificationMethod     	modifiable
        notificationPolicy     	modifiable
        pendingCoreCount       	modifiable
        powerCount
        powerStatus
        releaseImageStatus
        releaseVersion
        releaseTrackingBug
        securityCert           	modifiable
        securityPrivKey        	modifiable
        securityPrivKeyPW      	modifiable
        securityPubKey         	modifiable
        smtpFrom               	modifiable
        smtpFromAddr           	modifiable
        smtpPort               	modifiable
        smtpPwd                	modifiable
        smtpServer             	modifiable
        smtpToAddr             	modifiable
        smtpUser               	modifiable
        smtpUseSSL             	modifiable
        snmpSubscriber         	modifiable
        snmpUser               	modifiable
        status
        syslogConf             	modifiable
        temperatureReading
        temperatureStatus
        traceLevel             	modifiable
        upTime
        msStatus
        rsStatus
DBMCLI>



Detalhes da LUN

DBMCLI> list lun
         0_0     0_0     normal

DBMCLI> list lun detail
         name:                   0_0
         diskType:               HardDisk
         id:                     0_0
         lunSize:                1.6329999999998108T
         lunUID:                 0_0
         raidLevel:              5
         lunWriteCacheMode:      "WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU"
         status:                 normal
DBMCLI>



Listando detalhes dos discos físicos

DBMCLI> list physicaldisk
         252:0   BABUBR  normal
         252:1   BDG9SR  normal
         252:2   BDG84R  normal
         252:3   BDG37R  normal

DBMCLI> list physicaldisk detail
         name:                   	252:0
         deviceId:               	11
         diskType:               	HardDisk
         enclosureDeviceId:      	252
         errOtherCount:          	0
         makeModel:              	"HITACHI H109060SESUN600G"
         physicalFirmware:       	A31A
         physicalInsertTime:     	2016-12-13T13:58:00-05:00
         physicalInterface:      	sas
         physicalSerial:         	BABUBR
         physicalSize:           	558.9120712280273G
         slotNumber:             	0
         status:                 	normal

         name:                   	252:1
         deviceId:               	10
         diskType:               	HardDisk
         enclosureDeviceId:      	252
         errOtherCount:          	0
         makeModel:              	"HITACHI H109060SESUN600G"
         physicalFirmware:       	A31A
         physicalInsertTime:     	2016-12-13T13:58:00-05:00
         physicalInterface:      	sas
         physicalSerial:         	BDG9SR
         physicalSize:           	558.9120712280273G
         slotNumber:             	1
         status:                 	normal

         name:                   	252:2
         deviceId:               	9
         diskType:               	HardDisk
         enclosureDeviceId:      	252
         errOtherCount:          	0
         makeModel:              	"HITACHI H109060SESUN600G"
         physicalFirmware:       	A31A
         physicalInsertTime:     	2016-12-13T13:58:00-05:00
         physicalInterface:      	sas
         physicalSerial:         	BDG84R
         physicalSize:           	558.9120712280273G
         slotNumber:             	2
         status:                 	normal

         name:                   	252:3
         deviceId:               	8
         diskType:               	HardDisk
         enclosureDeviceId:      	252
         errOtherCount:          	0
         makeModel:              	"HITACHI H109060SESUN600G"
         physicalFirmware:       	A31A
         physicalInsertTime:     	2016-12-13T13:58:00-05:00
         physicalInterface:      	sas
         physicalSerial:         	BDG37R
         physicalSize:           	558.9120712280273G
         slotNumber:             	3
         status:                 	normal
DBMCLI>





Listanto o histórico de alertas

DBMCLI> LIST ALERTHISTORY WHERE ageInMinutes < 15
DBMCLI> LIST ALERTHISTORY

         1_1     2017-06-07T10:13:09-04:00       critical        "After initial accelerated
								 space reclamation, file system 
								 "/u01" is 82% full, which is 
								 equal to or above the 80% 
								 threshold. Accelerated space 
								 reclamation will continue.  
								 This alert will be cleared 
								 when file system "/u01" becomes 
								 less than 75% full. Top three 
				  				 directories ordered by total 
								 space usage are as follows: 
								 /u01/app  : 61.54G /u01/patches        
                                 				: 14.07G /u01/lost+found        : 16K"
         1_2     2017-06-07T19:53:18-04:00       clear           "File system "/u01" is 72% 
				  				  full, which is below the 75% 
								  threshold. Normal space 
								  reclamation will resume."
         2_1     2017-06-07T19:09:33-04:00       critical        "InfiniBand Port HCA-1:2 may 
				  				 require attention. State:Down, 
								 Physical State:Disabled."
         2_2     2017-06-07T19:15:24-04:00       clear           "InfiniBand Port HCA-1:2 
				  				 status is OK."
         3_1     2017-06-26T22:21:03-04:00       critical        "After initial accelerated 
								 space reclamation, file system 
								  "/u01" is 80% full, which is 
								  equal to or above the 80% 
								  threshold. Accelerated space 
								  reclamation will continue.  
								  This alert will be cleared 
								  when file system "/u01" becomes 
								  less than 75% full. Top three 
								  directories ordered by total 
								  space usage are as follows: 
								  /u01/app        : 73.56G 
								  /u01/patches        : 85.44M 
                                    				/u01/lost+found        : 16K"
         3_2     2017-06-27T09:21:01-04:00       clear           "File system "/u01" is 72% full, 
								 which is below the 75% threshold. 
								 Normal space reclamation will 
								 resume."

DBMCLI> LIST ALERTHISTORY 1_1 DETAIL
         name:                   	1_1
         alertDescription:       	"File system "/u01" is 82% full"
         alertMessage:           	"After initial accelerated space reclamation, file system 
					"/u01" is 82% full, which is equal to or above the 80% 
					threshold. Accelerated space reclamation will continue.  
					This alert will be cleared when file system "/u01" becomes 
					less than 75% full. Top three directories ordered by total 
					space usage are as follows: /u01/app  : 61.54G /u01/patches       
						 : 14.07G /u01/lost+found        : 16K"
         alertSequenceID:        	1
         alertShortName:         	Software
         alertType:              	Stateful
         beginTime:              	2017-06-07T10:13:09-04:00
         endTime:                	2017-06-07T19:53:18-04:00
         examinedBy:
         metricObjectName:       	/u01
         notificationState:      	sent
         sequenceBeginTime:      	2017-06-07T10:13:09-04:00
         severity:               	critical
         alertAction:            	"The utilization of file system "/u01" is 82% which is 
					equal to or above the 80% threshold. Try to delete some 
					files to decrease file system utilitization to below the 
					75% threshold  Diagnostic package is attached. It is also 
					accessible at /opt/oracle/dbserver/dbms/deploy/log/
					exadbserver01_2017_06_07T10_13_09_1_1.tar.bz2"

DBMCLI> LIST ALERTHISTORY 3_2 detail
         name:                   	3_2
         alertMessage:           	"File system "/u01" is 72% full, which is below the 75% 
					threshold. Normal space reclamation will resume."
         alertSequenceID:        	3
         alertShortName:         	Software
         alertType:              	Stateful
         beginTime:              	2017-06-27T09:21:01-04:00
         endTime:                	2017-06-27T09:21:01-04:00
         examinedBy:
         metricObjectName:       	/u01
         notificationState:      	sent
         sequenceBeginTime:      	2017-06-26T22:21:03-04:00
         severity:               	clear
         alertAction:            	Informational.
DBMCLI>



Mostrando a ajuda, usando o comando HELP

DBMCLI> help alter
Enter HELP ALTER <object_type> for specific help syntax.
<object_type>:  { ALERTHISTORY | DBSERVER | IBPORT | THRESHOLD | USER }
DBMCLI>



Parando e iniciando o Management Server (MS) e Restart Server (RS) nos nodes

[dbmadmin@exp3dbadm01 ~]$ dbmcli
DBMCLI: Release  - Production on Thu Jun 29 17:18:03 EDT 2017
Copyright (c) 2007, 2014, Oracle.  All rights reserved.

DBMCLI> alter dbserver restart services all
Stopping the RS and MS services...
The SHUTDOWN of services was successful.
Starting the RS and MS services...
Getting the state of RS services...  running
Starting MS services...
The STARTUP of MS services was successful.
DBMCLI>



Listando as metricas – Min e Max

DBMCLI> LIST METRICHISTORY ds_cput OVER 10 MIN MAX MEMORY
         DS_CPUT        exadbserver01     97.8 %  2017-06-07T22:59:34-04:00      21.7 %  99.4 %
         DS_CPUT        exadbserver01     30.0 %  2017-06-07T23:09:34-04:00      17.8 %  52.8 %
         DS_CPUT        exadbserver01     23.6 %  2017-06-07T23:19:34-04:00      16.1 %  39.2 %
         DS_CPUT        exadbserver01     73.5 %  2017-06-07T23:29:34-04:00      20.9 %  81.1 %
DBMCLI>



Reinstalando o Exadata Management (dbmmgmt rpm) nos nodes Exadata:

Indeitifique o dbmmgmt instalado atualmente no sistema

[dbmadmin@exadbserver01 ~]$ rpm -qa | grep dbm
exadata-dbmmgmt-12.2.1.1.1.170419-1.noarch

Se não estiver instalado, download o 'exadata-dbmmgmt-12.1.2.3.0.160207.3-1.noarch.rpm' do 'patch 23564912' do MOS.


Descompacte o arquivo e Instale o RPM

[dbmadmin@exadbserver01 ~]$ unzip p23564912_121230_Linux-x86-64.zip
[dbmadmin@exadbserver01 ~]$ rpm -ivh exadata-dbmmgmt-12.1.2.3.0.160207.3-1.noarch.rpm


Reinicie os serviços e valide que os processos do RS e o MS estão em execução.

[dbmadmin@exadbserver01 ~]$ dbmcli -e alter dbserver restart services all
[dbmadmin@exadbserver01 ~]$ dbmcli -e list dbserver detail


Nota-1: Reconfigure os atributos
Nota-2: Veja a nota MOS (Doc ID 2134218.1) para mais informações.


Conclusão:  Agora podemos monitorar os Oracle Exadata Database Servers com o Management Server (MS) com os comandos do DBMCLI. Usando o DBMCLI, podemos monitorar discos, CPU e portas InfiniBand.



Y V Ravi Kumar é um Oracle ACE e Oracle Certified Master (OCM) com 18 anos de experiência em  instituições financeiras, serviços financeiros e seguros (BFSI) e atuou em diversos papeis como Senior Database Architect e Production DBA.  Ele também é OCP em Oracle 8i, 9i, 10g, 11g & 12c e Certificado em Golden Gate, RAC, Performance Tuning & Oracle Exadata. Ele continua motivando muitos DBAs e ajudando a Oracle Community publicando suas dicas /ideias/sugestões/soluções em seu blog. Ele escreveu 90+ artigos OTN sobre Oracle Exadata, Oracle RAC e Oracle GoldenGate para a OTN em Espanhol, OTN em Português e OTN em inglês e 19 artigos para a TOAD World, 2 Artigos para o UKOUG, 3 Artigos para OTech Magazine e 2 Artigos para a Redgate. Ele é membro do All India Oracle User Group (AIOUG) e frequente Oracle speaker in @NYOUG, @OTN, AIOUG, Sangam e IOUG. Ele desenha, projeta e implementa Core Banking System (CBS) Databases para o Central Banks em dois países – India e Mahe, Seychelles. 
Ele é Co-Founder do OraWorld (www.oraworld.com). Leia mais sobre o seu perfil na LaserSoft

Basha Nassyam é um DBA. É um OCM 11g, com experiência em tecnologias como Oracle Data Guard, RMAN, RAC. Ele já fez mais de 90 configurações do Data Guard em diferentes plataformas, de não-RAC RAC e vice-versa. Ele fez migrações bem-sucedidas com "switchovers" e "failovers" a vários bancos de dados de produção crítica. Ele participa ativamente de fóruns Oracle utilizando o usuário "CKPT" e ganhou mais de 10.000 pontos (nível guru). Publica regularmente artigos em seu blog www.oracle-ckpt.com e é co-autor do livro "Guia de Administração do Oracle Data Guard 11gR2".

Rodrigo Mufalani é um Oracle ACE e Oracle Certified Master (OCM) com mais de 14 anos de experiência, começou com o Oracle 8i, mas teve a oportunidade de dar suporte a Oracle 7.3.4 em diante. É especialista em banco de dados Oracle com foco principal em Performance & Tuning e RAC. É palestrante em eventos de Oracle como: OTN LAD TOUR e outros. Atualmente trabalha como consultor diversas empresas no segmento de variados ramos como: Educação, Saúde, Tecnologia, Seguros e etc. Foi o terceiro Oracle ACE a ser nomeado no Brasil e é OCP nas versões 10g, 11g e 12c. Atualmente é DBA na eProseed. Twitter @mufalani / blog www.mufalani.com.br/blog

Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.