PostgreSQL Troubleshooting e Monitoramento



Documentos relacionados
PostgreSQL Troubleshooting e Monitoramento

Treinamento PostgreSQL - Aula 07

Treinamento PostgreSQL - Aula 09

Treinamento PostgreSQL - Aula 01

Crash recovery é similar ao instance recovery, onde o primeiro referencia ambientes de instância exclusiva e o segundo ambientes parallel server.

ESTRUTURA DE SERVER Lílian Simão Oliveira

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Noções de. Microsoft SQL Server. Microsoft SQL Server

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

Carga Horária 40 horas. Requisitos Servidor Oracle 10G Ferramenta para interação com o banco de dados

Gerência de Redes de Computadores. 05 Gerência de Hospedeiros (Hosts)

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

EverSafe Online Backup Client

Conteúdo Programático

Online Help StruxureWare Data Center Expert

André Milani. Novatec

Prof.: Clayton Maciel Costa

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

PROGRAMA DE PÓS-GRADUAÇÃO POSEAD. Curso Banco de Dados. Resenha Crítica: Backup e Recovery Aluno: Wilker Dias Maia

Treinamento. DBA Oracle 11g. Duração: 120 horas

BACTOCOUNT IBC INSTRUÇÃO DE TRABALHO PARA LIMPEZA DO BANCO DE DADOS

Guia Rápido de Instalação Ilustrado

Gerenciamento de Transações

Fundamentos de Banco de Dados

Guia de boas práticas para realização de Backup

Gerência de Banco de Dados

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

O bloco administração

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Tutorial - Monitorando a Temperatura de Servidores Windows

Manual de backup SigemLoja 2.0 (firebird)

Ajuda das opções Fiery 1.3 (servidor)

FUNDAMENTOS DE HARDWARE INSTALAÇÃO DO WINDOWS XP. Professor Carlos Muniz

Banco de Dados I Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli

Certificado Digital. Manual do Usuário

Banco de Dados. Maurício Edgar Stivanello

TUTORIAL INSTALAÇÃO DA ROTINA 2075 NO LINUX

Ajuda das opções Fiery 1.3 (cliente)

SIMULADO Windows 7 Parte V

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Database Cloud Service Database Backup para Oracle Cloud

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

RELATÓRIO COM PROBLEMAS DE UTILIZAÇÃO DAS FERRAMENTAS PKP, COM SOLUÇÕES. Problema 1: Erro fatal tamanho da memória bytes esgotado

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Treinamento PostgreSQL - Aula 10

Administração de Sistemas GNU/Linux

PostgreSQL Performance

Sumário Agradecimentos Sobre.o.autor Prefácio Capítulo.1..Bem-vindo.ao.MySQL... 22

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

WINDOWS SERVER 2003 BACKUP I

Recovery (recuperação para o padrão de fábrica) Windows 8

AULA USO DE FERRAMENTAS DE SUPORTE DO SISTEMA

Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição

Arquivos e Pastas. Instrutor Antonio F. de Oliveira. Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro

AULA 06 CRIAÇÃO DE USUÁRIOS

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

BACKUP ONLINE PASSOS PARA CONFIGURAÇÃO INICIAL DO PRODUTO

Programador/a de Informática

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

Backup. Prof. Marciano dos Santos Dionizio

trigger insert, delete, update

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

OneDrive: saiba como usar a nuvem da Microsoft

BASÍLIO, LARISSA PIZARRO, MICAELA OLIVEIRA RELATÓRIO FINAL DE PROJETO FERRAMENTAS DE DIAGNÓSTICO

INTRODUÇÃO. Diferente de Bando de Dados

RECUPERANDO DADOS COM REDO BACKUP E RECOVERY

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

Backup. Prof. Marciano dos Santos Dionizio

Introdução ao Processamento de Imagens com o IRIS Por Rodolfo Barros

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Sumário. Capítulo 2 Conceitos Importantes Tópicos Relevantes Instance Base de Dados Conclusão... 37

Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01

INSTALAÇÃO DE NOKIA CONNECTIVITY CABLE DRIVERS

SISTEMA DE ARMAZENAMENTO (STORAGE)

Marco A. M. de Melo e Fernando S. P. Gonçalves MANAGER

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Produto IV: ATU SAAP. Manual de Referência

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Banco de Dados Oracle. Faculdade Pernambucana - FAPE

Tornando acessível a tecnologia e os melhores serviços

Passo-a-Passo das novas Funcionalidades do Gil versão BACKUP, RESTORE e REPARADOR DE BASE

Tuning e Self-Tuning de Bancos de Dados

Data Transformation Services (DTS) por Anderson Ferreira Souza

Prof. Luiz Fernando. Unidade III ADMINISTRAÇÃO DE

Administração e Optimização de BDs

Desmistificando Replicação no PostgreSQL

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

TREINAMENTO. Apresentação. Objetivos. Dados Principais. Tecnologia Abordada Oracle Databese 11g

Data de Aplicação. Reconhecer a estrutura de um sistema operativo. Definir um plano de instalação de um servidor de rede local.

Programador/a de Informática

Fazer backup de arquivos em um arquivo ou fita

Admistração de Redes de Computadores (ARC)

Portal do Senac: Área Exclusiva para Alunos Manual de Navegação e Operação

NetEye Guia de Instalação

Transcrição:

PostgreSQL Troubleshooting e Monitoramento Eduardo Ferreira dos Santos Dataprev Empresa de Tecnologia e Informações da Previdência Social eduardosantos@previdencia.gov.br eduardosan.wordpress.com 11 de Novembro de 2010 Empresa PostgreSQL de Tecnologia Troubleshooting e Informações e Monitoramento da Previdência 11 de Novembro Social eduardosantos@previde de 2010 1 / 34

Para começar Banco de dados não é para amadores. O Sistema Operacional pode ser o melhor amigo (ou inimigo) do DBA. Especicar corretamente o hardware DEVE ser trabalho do DBA, pois é extremamente importante. Os riscos dos erros do DBA são sempre maiores. Aprenda a conviver com o conservadorismo. Empresa PostgreSQL de Tecnologia Troubleshooting e Informações e Monitoramento da Previdência 11 de Novembro Social eduardosantos@previde de 2010 2 / 34

Sumário 1 Monitoramento 2 Troubleshooting 3 Administração assistida(?) 4 Referências Empresa PostgreSQL de Tecnologia Troubleshooting e Informações e Monitoramento da Previdência 11 de Novembro Social eduardosantos@previde de 2010 3 / 34

Monitoramento 1 Monitoramento 2 Troubleshooting 3 Administração assistida(?) 4 Referências Empresa PostgreSQL de Tecnologia Troubleshooting e Informações e Monitoramento da Previdência 11 de Novembro Social eduardosantos@previde de 2010 4 / 34

Monitoramento Entendendo o SGBD Como o PostgreSQL utiliza o processador? Como é a utilização da memória? Como é o consumo de disco? Como o SO pode ser otimizado? Como identicar os componentes externos? Empresa PostgreSQL de Tecnologia Troubleshooting e Informações e Monitoramento da Previdência 11 de Novembro Social eduardosantos@previde de 2010 5 / 34

Monitoramento Entendendo o SGBD ([Momjian, 2010]) Empresa PostgreSQL de Tecnologia Troubleshooting e Informações e Monitoramento da Previdência 11 de Novembro Social eduardosantos@previde de 2010 6 / 34

Monitoramento Entendendo o SGBD Hardware: Processador Memória principal Memória secundária Sistema operacional e seus subsistemas (principalmente o kernel); Sistema de execução de consultas; Processamento de transações; Armazenamento. Empresa PostgreSQL de Tecnologia Troubleshooting e Informações e Monitoramento da Previdência 11 de Novembro Social eduardosantos@previde de 2010 7 / 34

Monitoramento Processador O caminho de uma consulta [PostgreSQL, 2010]: 1 A conexão de uma aplicação ao servidor PostgreSQL deve ser estabelecida. O programa transmite a consulta ao servidor e espera pelos resultados; 2 O estágio de parser verica se a consulta possui a sintaxe correta e cria uma árvore de consulta; 3 O sistema de reescrita recebe a àrvore criada criada pelo parser e busca quaisquer regras (armazenadas no catálogo do sistema) que possam ser aplicadas à árvore. São então realizadas as transformações fornecidas pelas regras. 4 Uma das funções do sistema de reescrita é na realização de visões (views). Todas as vezes em que uma consulta em uma visão (ou uma tabela virtual) é realizada, o sistema de reescrita altera a consulta para outra que acessa as tabelas base fornecidas em sua denição. Empresa PostgreSQL de Tecnologia Troubleshooting e Informações e Monitoramento da Previdência 11 de Novembro Social eduardosantos@previde de 2010 8 / 34

Monitoramento Processador O caminho de uma consulta [PostgreSQL, 2010]: 1 O otimizador recebe a árvore de consulta (possivelmente reescrita) e cria um plano de execução que será a entrada do executor. 2 O plano é criado através da criação de todos os possíveis caminhos que levam ao resultado. (...) O caminho mais barato (mais rápido) é expendido em um plano completo que o executor pode utilizar. 3 O Executor caminha recursivamente através da árvore e busca as linhas no formato representado pelo plano de execução. O executor utiliza então o sistema de armazenamento enquanto está vericando relações, fazendo ordenações (sorts) e junções (joins), avalia as qualicações e nalmente envia as linhas encontradas. Empresa PostgreSQL de Tecnologia Troubleshooting e Informações e Monitoramento da Previdência 11 de Novembro Social eduardosantos@previde de 2010 9 / 34

Monitoramento Ferramentas de monitoramento 2010 10 / 34

Monitoramento Memória principal O que são os danados dos shared_buers? max_connections Maldito swap do inferno!!! Como monitorar a memória? 2010 11 / 34

Monitoramento Memória Principal [Momjian, 2010] 2010 12 / 34

Monitoramento Memória secundária Utilização dos sistemas de arquivos para realização das consultas (Veja 6) WAL Divisão em pequenos arquivos 2010 13 / 34

Monitoramento Memória secundária [Momjian, 2010] 2010 14 / 34

Monitoramento Memória secundária Para os casos de: Melhores tipos de disco Opções de storage Consulte: http://www.midstorm.org/ telles/2008/07/25/postgresql-discos-cia/ 2010 15 / 34

Monitoramento Monitorando o disco Monitorar o disco pode ser um grande desao para o DBA. A maior parte das ferramentas não dá um número de carga do disco. Métrica mais eciente: load average e blocks in - blocks out. L i n u x 2.6.26 1 amd64 ( nodo406. l a b c l u s t e r ) 10 11 2010 _x86_64_ avg cpu : %u s e r %n i c e %s y s t e m %i o w a i t %s t e a l %i d l e 3,11 0,01 0,25 0,51 0,00 96,11 Device : tps Blk_read / s Blk_wrtn / s Blk_read Blk_wrtn sda 24,66 579,87 376,06 767062533 497455345 sda1 0,00 0,01 0,01 14243 11816 sda2 0,60 1,50 6,36 1983346 8407064 sda3 24,06 578,36 369,69 765064592 489036465 2010 16 / 34

Monitoramento Monitorando o disco Load Average acima de 3 e baixo processamento indica sinais de problema com o disco. Relação bi - bo acima de 100: o banco vai travar!!! O comando iostat mostra o TPS (transações por segundo no disco). Se o número de transações estiver alto e bi - bo estiver crescendo, há problemas no banco. 2010 17 / 34

Monitoramento Ferramentas de monitoramento O log é seu melhor amigo O SO precisa mostrar informações relevantes É possível monitorar a execução diretamente no banco 2010 18 / 34

Monitoramento A bíblia do monitoramento direto no banco [Momjian, 2010] 2010 19 / 34

Troubleshooting 1 Monitoramento 2 Troubleshooting 3 Administração assistida(?) 4 Referências 2010 20 / 34

Troubleshooting O que é um problema? Lentidão? Indisponibilidade momentânea? Indisponibilidade prolongada? Perda de dados? (PERIGO!!!) 2010 21 / 34

Troubleshooting Lentidão O que está lento? Consulta demorando muito? Demorando para conseguir uma nova conexão? Conheça o banco e saiba identicar pontos de lentidão. pg \ _stat \ _get \ _backend \ _dbid ( s. backendid ) = d. oid pg \ _stat \ _get \ _backend spb=# \d pg \ _stat \ _ a c t i v i t y V i s a o " pg \ _ c a t a l o g. pg \ _stat \ _ a c t i v i t y " Coluna Tipo M o d i f i c a d o r e s + + d a t i d o i d datname name p r o c p i d i n t e g e r u s e s y s i d o i d usename name c u r r e n t \ _query t e x t w a i t i n g b o o l e a n query \ _ start timestamp with t i m e zone backend \ _ start timestamp with t i m e zone c l i e n t \ _addr i n e t c l i e n t \ _port i n t e g e r D e f i n i c a o da v i s a o : SELECT d. oid AS datid, d. datname, pg \ _stat \ _get \ _backend \ _pid ( s. backendid ) AS procp FROM pg \ _database WHERE d, ( SELECT pg \ _stat \ _get \ _backend \ _ idset ( ) AND AS backendid ) s, pg 2010 22 / 34

Troubleshooting Indisponibilidade momentânea Houve algum erro quando o sistema foi reiniciado? Alguma das partições não subiu? Problema de fencing em Cluster? O log é seu amigo!!! 2010 23 / 34

Troubleshooting Indisponibilidade prolongada Denição da variável TEMPO! Validação de consistência. Levantando a cópia de segurança ou o backup. De acordo com Telles [Telles, 2010], pg_dump não é backup!!! 2010 24 / 34

Troubleshooting Perda de dados Como estar seguro sobre a perda dos dados? A importância do WAL Como tornar o SGBD menos suscetível a problemas assim? Uma vez perdido, só um restore salva. 2010 25 / 34

Troubleshooting Tipos de falha segundo [Momjian, 2010] Falha na aplicação do Cliente; Falha "elegante"no servidor (manda desligar); Falha abrupta no servidor; Falha no sistema operacional; Falha no disco; Remoção acidental de dados (DELETE); WAL corrompido; 2010 26 / 34

Troubleshooting Tipos de falha segundo [Momjian, 2010] (continuação) Arquivos removidos; DROP TABLE acidental; DROP INDEX acidental; DROP DATABASE acidental; Instalação não inicia; Índices corrompidos; Tabelas corrompidas. 2010 27 / 34

Troubleshooting Ações sugeridas por [Momjian, 2010] Falha na aplicação do Cliente: Nenhuma ação necessária. Transações sofrem ROLLBACK. Falha "elegante"no servidor (manda desligar): Nenhuma ação necessária. Transações sofrem ROLLBACK. Falha abrupta no servidor: Nenhuma ação necessária. Transações sofrem ROLLBACK. Falha no sistema operacional: Nenhuma ação necessária. Transações sofrem ROLLBACK. Páginas escritas parcialmente são reparadas Falha no disco: Restaure o backup ou use PITR Remoção acidental de dados (DELETE): Restaure a tabela do último backup. É possível congurar o banco para visualizar tuplas excluídas. WAL corrompido: Veja pg_resetxlog. Reveja as transações e identique os danos, incluindo transações parcialmente gravadas. 2010 28 / 34

Troubleshooting Ações sugeridas por [Momjian, 2010] (continuação) Arquivos removidos: pode ser necessário criar um arquivo vazio de mesmo nome do excluído para que o objeto possa ser excluído e restaurado do último backup DROP TABLE acidental: Recupere do último backup DROP INDEX acidental: Crei o índice novamente DROP DATABASE acidental: Recupere do último backup Instalação não inicia: Normalmente problema no WAL. Veja recuperação do WAL Índices corrompidos; Use REINDEX Tabelas corrompidas. Tente reindexar a tabela. Tente identicar o OID da linha corrompida e copie os dados válidos para uma tabela temporária 2010 29 / 34

Administração assistida(?) 1 Monitoramento 2 Troubleshooting 3 Administração assistida(?) 4 Referências 2010 30 / 34

Administração assistida(?) Seja corajoso!!! Se você espera algo no estilo Oracle, esqueça. Mesmo que existam ferramentas, o mais importante é conhecer o SGBD e seus componentes. DBA não é DBV!!! 2010 31 / 34

Administração assistida(?) Ainda assim quero telinhas... http://www.pgfoundry.org 2010 32 / 34

Referências 1 Monitoramento 2 Troubleshooting 3 Administração assistida(?) 4 Referências 2010 33 / 34

Referências Momjian, B. (2010). Mastering postgresql administration. http://momjian.us/main/writings/pgsql/administration.pdf Acessado em 10/11/2009. PostgreSQL, C. (2010). The path of a query. http://www.postgresql.org/docs/8.4/interactive/query-path.html Acessado em 10/11/2010. Telles, F. (2010). Dump não é backup. http://www.midstorm.org/ telles/2010/05/06/dump-nao-e-backup/ Acessado em 10/11/2010. 2010 34 / 34

Referências Contato Eduardo Ferreira dos Santos Dataprev - D2OP/CPDF/DIT eduardosantos@previdencia.gov.br eduardo.edusantos@gmail.com www.postgresql.org.br eduardosan.wordpress.com +55 61 3262-7481 2010 34 / 34