Monitoramento do Oracle Database

Analise o desempenho, o uso e a disponibilidade de seu banco de dados em escala para aumentar a eficiência dos recursos e otimizar os problemas de experiência do usuário final.

O Oracle é um sistema de gerenciamento de banco de dados relacional orientado a objeto concebido primeiramente para computação em grade corporativa. Ele gerencia informações, aplicativos e oferece armazenamento lógico de dados tablespaces.

É fundamental monitorar seu desempenho para supervisionar a integridade do banco de dados e identificar e corrigir rapidamente servidores e áreas de recursos problemáticos.

  • Conheça as métricas de memória e espaço em disco para garantir que seus processos do Oracle DB tenham recursos suficientes disponíveis.
  • Monitore o tempo de resposta e descubra se há algum serviço que está experimentando tempos de resposta ruins do banco de dados.
  • Saiba se os tablespaces estão cheios e se exigem ação apropriada para aumentar sua capacidade.
  • Acompanhe o número de sessões Oracle para o grau de ocupação de um servidor e garantir seu funcionamento contínuo.

This document details as métricas de monitoramento to ensure continued performance and the etapas para instalar o plug-in.

Métricas de monitoramento de desempenho

Para monitorar todo o seu banco de dados Oracle (oracle.py)

Razão da ocorrência de cache do buffer

It is the rate at which Oracle finds the data blocks it needs in memory over the lifetime of an instance. buffer_cache_hit_ratio is critical for databases with an undersized buffer pool.

Taxa de classificação de disco e memória

Use the metric disk_memory_sort_ratio to know the percentage of times a session had to perform a disk or a memory sort. Excessive sort activity can degrade the overall database performance.

Status do Oracle

oracle_status helps to notify whether the database is running or not. This helps to monitor business critical metrics, generate alarms and also execute actions automatically when your database goes down.

Tempo de resposta

response_time (ms) is the time spent in database operations per transaction. This helps to understand the database’s capacity to process any change in the workload because of resource shortage or contention.

Porcentagem de uso do processo

Use the metric processes_usage to study the maximum number of Operating System (OS) user processes that can simultaneously connect to the Oracle database at the same time. This includes the background processes as well.

Uso das sessões

The sessions_usage in percentage specifies the maximum number of sessions used by the database. As every login creates a session, this metric helps to determine the maximum concurrent users in the system.

Trabalhos com falha

Use the metric failed_jobs to know the number of jobs failed, either by throwing an error or by abnormally terminating.

Sessões ativas e inativas

The metrics active_sessions and inactive_sessions denotes the number of active and inactive sessions respectively.

Contagem de logins com falha

Use the metric failed_login_count to know the number of failed logon attempts.

Contagem de objetos inválida

The invalid_objects_count metric shows the invalid objects by owner, which will help reduce subsequent latencies.

Porcentagem de acessos do cache do PGA

The metric pga_cache_hit_percentage gives the cache hits of Program Global Area (PGA) in percentage used by the process.

Contagem de backups do RMAN com falha

The rman_failed_backup_count provides the number of failed backups in the RMAN repository.

Tempo de resposta do SQL

The sql_response_time monitors the response time of the SQL service.

Para monitorar seus tablespaces

Nota: If you wish to monitor only the status and usage of a tablespace, use the oracle_tablespace_usage.py plugin.

Status do tablespace e seu uso (em %)

Know your tablespace_status to be either Read Write, Read Only or Offline. tablespace_usage_percent helps to track how data grows in the database and to make sure appropriate provisioning is given at the right time.

Número de leituras e gravações em um tablespace

The leituras and gravações represents the number of physical reads and writes respectively. A total of the reads and writes gives the I/O activity for a specific disk.

Blocos livres

The free_blocks metric gives the number of blocks on Oracle’s freelist groups for a table, index, or cluster segment

Espaço livre e usado (em MB)

The metrics used_space and free_space describes used and free sequential data blocks in a tablespace.

Registros

LOGGING/NOLOGGING helps to control direct path writes to reduce generation of REDO and UNDO. It is one of the varied methods to control the balance between recoverability and performance.

Pré-requisitos

  • oracle-instantclient-basic-linux
  • oracle-instantclient-sdk-linux
  • cx_Oracle – interface Python para o Oracle Database
  1. Install the following packages: apt-get install python-dev build-essential libaio1
  2. Download instant client for Linux x86-64 from the Site da Oracle
    instantclient-basic-linux.x64-12.2.0.1.0.zip
    instantclient-sdk-linux.x64-12.2.0.1.0.zip
  3. Unzip and extract the downloaded zip files into a folder. For example, mkdir -p /opt/oracle_client
  4. Add environment variables:
    • Create a file in /etc/profile.d/oracle.sh and add the following lines:
      export ORACLE_HOME=/opt/oracle_client/instantclient_12_2
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
  5. Create a file in /etc/ld.so.conf.d/oracle.conf and add the following lines /opt/oracle_client/instantclient_12_2
  6. Execute the command sudo ldconfig
    Nota: Você deverá fazer logout do servidor e login novamente para que as alterações entrem em vigor.
  7. Create a symlink
    cd $ORACLE_HOME
    ln -s libclntsh.so.12.2 libclntsh.so
  8. Instale o Python do cx_Oracle usando o comando pip
  9. pip install cx_Oracle
Note: If you are using Centos/RHEL OS, siga as etapas descritas neste artigo to install the above modules.

Instalação do plug-in

  • Baixe e instale a versão mais recente do agente Linux do Site24x7 no servidor onde você planeja executar o plug-in. Se ele for instalado com êxito, você verá um monitor de servidor Linux no Painel de controle do Site24x7. Isso confirma que o agente consegue se comunicar com nosso data center.
  • Para monitorar todo o seu banco de dados, baixe o arquivo oracle.py; para monitorar os tablespaces, baixe o arquivo oracle_tablespace_details.py; para monitorar apenas o uso dos tablespaces, baixe o arquivo oracle_tablespace_usage.py
  • Enter the ORACLE_HOST, ORACLE_PORT, ORACLE_USERNAME, ORACLE_PASSWORD and ORACLE_SID under the #Config Section of the plugin script.
    Note: If you are monitoring the tablespaces, make sure to enter the name of the tablespace that you wish to monitor in the TABLESPACE_NAME
    Nota

    Certifique-se de que o usuário mencionado na configuração acima receba as seguintes permissões:

    • CONECTE-SE
    • SELECT_CATALOG_ROLE (or) grant SELECT permission for all the tables below:
      Para "oracle.py": gv$session, v$pgastat, dba_scheduler_job_log, v$rman_status, dba_audit_trail, dba_objects, v$resource_limit, v$sysmetric, v$sysstat
      Para "oracle_tablespace_usage.py" e "oracle_tablespace_details.py": sys.dba_tablespaces, sys.dba_free_space, sys.dba_data_f, dba_extents
  • Create distinct folders according to the plugins you have downloaded, under the Site24x7 Linux agent plugin directory '/opt/site24x7/monagent/plugins/' and place the respective plugin file under '/opt/site24x7/monagent/plugins/<plugin folder>/'
    • Plug-in oracle.py na pasta Oracle
    • oracle_tablespace_details.py na pasta oracle_tablespace_details
    • oracle_tablespace_usage.py na pasta oracle_tablespace_usage

O agente executará automaticamente o plug-in em cinco minutos e enviará dados de desempenho ao data center do Site24x7.

Exibir dados no Site24x7 Web Client

  1. Faça login no Site24x7 e vá para Servidor > Plug-ins > Nome do monitor de plug-ins.
  2. Será possível visualizar os gráficos de desempenho nas várias métricas de seu servidor Oracle.

Manipulação de erros

S.No Mensagem de erro Solução
1 O módulo cx_Oracle não está instalado Verifique a seção Pré-requisitos e instale o módulo Python
2 Exceção ao conectar ao host Certifique-se de ter inserido detalhes de configuração válidos (nome do host, porta, SID, nome de usuário, senha)
3 Verifique o nome do tablespace na seção de configuração Certifique-se de que o nome do tablespace informado na seção Configuração do script do plug-in seja válido

Contribuição do plug-in

Sinta-se à vontade para contribuir com nosso plug-in e apresentar sugestões ou feedbacks na nossa comunidade.

Outras integrações de plug-ins

  • Plug-ins prontos para serem usados – monitore toda a sua pilha de aplicativos com nossa extensa lista de integrações
  • NGINX e NINX Plus - antecipe-se aos problemas que ocorrem no NGINX, bem como em qualquer outro ponto de sua infraestrutura Web
  • MySQL - Monitore métricas de desempenho de seus bancos de dados MySQL
  • Postgres – monitora proativamente a disponibilidade e o desempenho do servidor de banco de dados Postgres essencial aos negócios
  • Nagios – execute milhares de plug-ins Nagios no Site24x7 sem a necessidade de executar um servidor Nagios
  • Monitoramento de script personalizado – crie plug-ins personalizados do Linux e do Windows e monitore os atributos de que você precisa
  • Repositório do GitHub - Confira nossas mais de 50 integrações de plug-ins