Use server-generated alerts

Já foi discuto um pouco sobre os thresholds aqui no blog. Que são alguns limites que irão gerar alertas quando esse limite for atingido. Um exemplo clássico seria o espaço do tablespace.

Esses alertas podem ser categorizados em duas categorias:

  • Stateful – Que é o alerta que continua até você corrigir. Tipo o tamanho do tablespace, em que você tem que adicionar novos datafiles por exemplo para aumentar o tamanho e assim o alerta irá desaparecer.
  • Stateless – São os alertas que acontecem apenas para alertar que algo aconteceu. Tipo uma exception. Não tem nada pra corrigir, mas você pelo menos sabe que isso ocorreu.

Para configurar esses alertas, você terá que configurar os thresholds. O process MMON irá monitorar a instância e comprar com o que foi configurar no threshold. Se esse limite for ultrapasso o alerta será gerado e colocado em uma queue que poderá ser verificada na view DBA_OUTSTANDING_ALERTS ou no Enterprise Manager.

Para verificar quais thresholds estão configurados, pode consultar a view DBA_THRESHOLDS. Para configurar um novo threshold, deverá ser utilizado a package DBMS_SERVER_ALERT.

DBMS_SERVER_ALERT.SET_THRESHOLD(
   metrics_id               IN   BINARY_INTEGER,
   warning_operator         IN   BINARY_INTEGER,
   warning_value            IN   VARCHAR2,
   critical_operator        IN   BINARY_INTEGER,
   critical_value           IN   VARCHAR2,
   observation_period       IN   BINARY_INTEGER,
   consecutive_occurrences  IN   BINARY_INTEGER,
   instance_name            IN   VARCHAR2,
   object_type              IN   BINARY_INTEGER,
   object_name              IN   VARCHAR2);

Em metric_id e *_operator, vocÊ pode utilizar as constantes da package(pode abrir a especificação da package ou consultar a documentação). , existe diversas opções para operator, como “maior ou igual”, “maior que” e etc. Para metric existe ainda mais.

Observation_periodo é o período em que os valores serão computadores e comparados com o threshold, os valores são em minutos e é de 1 a 60. Para consecutive_occurrences é a quantidade de vezes que o evento tem de acontecer para que o alerta seja criado. Por último temos o nome da instância, que pode ser NULL para o banco inteiro, object_type que é o tipo de objeto a ser analisado, como tablespace. E para finalizar o object_name caso queira analisar especificamente um objeto.

Vejamos um exemplo:

CREATE TABLESPACE terciocosta DATAFILE SIZE 1M AUTOEXTEND ON MAXSIZE 3M;

BEGIN

  DBMS_SERVER_ALERT.SET_THRESHOLD(
   metrics_id              => DBMS_SERVER_ALERT.TABLESPACE_PCT_FULL,
   warning_operator        => DBMS_SERVER_ALERT.OPERATOR_GE,
   warning_value           => 50,
   critical_operator       => DBMS_SERVER_ALERT.OPERATOR_GE,
   critical_value          => 80,
   observation_period      => 1,
   consecutive_occurrences => 1,
   instance_name           => 'ORCL',
   object_type             => DBMS_SERVER_ALERT.OBJECT_TYPE_TABLESPACE,
   object_name             => 'TERCIOCOSTA');

END;

CREATE TABLE threshold_teste(a NUMBER) TABLESPACE terciocosta;	

No exemplo acima, foi criado um tablespace de 1MB de tamanho e no máximo até 3MB. Logo após criamos um threshold para esse tablespace. Criamos uma tabela utilizando esse tablespace.

Você pode ir adicionando conteúdo a tabela para ela ir crescendo ou ir adicionando extents manualmente com o comando:

ALTER TABLE threshold_teste ALLOCATE EXTENT;

Depois, você pode verificar o conteúdo da tabela DBA_OUTSTANDING_ALERTS e lá vai estar o alerta esperando para ser corrigido. Depois de corrigir o problema, o alerta irá sair dessa tabela e vai ficar na DBA_ALERT_HISTORY.

Uma observação a se fazer que alertas stateless vão direto para a view DBA_ALERT_HISTORY.

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação Oracle SQL Expert e OCP PL/SQL, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE Associate por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Marcado com: , , , , , ,
Publicado em Administração, AWR

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Esse Blog é reconhecido pela
Sou um
Certificações
Sou articulista

Clique para seguir este blog e receber notificações via email de novos posts.

Tércio Costa

Tércio Costa

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação Oracle SQL Expert e OCP PL/SQL, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE Associate por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Links Pessoais

Serviços verificados

Visualizar Perfil Completo →

Total de Visualizações da Página
  • 150.890 Visualizações
%d blogueiros gostam disto: