Treinamento PostgreSQL - Aula 10



Documentos relacionados
Treinamento PostgreSQL - Aula 09

Treinamento PostgreSQL - Aula 01

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

Treinamento PostgreSQL - Aula 03

Treinamento PostgreSQL - Aula 05

Prof. Marcelo Machado Cunha

FUNCTION ) RETURNS INTEGER AS $$ DECLARE

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Técnicas de Database Refactoring para ambientes 24x7. Matheus de Oliveira

A linguagem SQL

CONVENÇÃO DE CÓDIGO JAVA

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Estudo Dirigido Programação de Banco de Dados

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

INTRODUÇÃO. Diferente de Bando de Dados

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

Sistemas de Informação

Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01

Criação de Log de Ações Através do Banco de Dados. Marcos Thomaz da Silva

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

SQL Procedural. Josino Rodrigues Neto

Oracle PL/SQL Overview

SQL. Autor: Renata Viegas

trigger insert, delete, update

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

DGAJ/DF. Curso em E-learning

BANCO DE DADOS EVER SANTORO

APRENDA AS MUDANÇAS DE FORMA FÁCIL

Tuning para Desenvolvedores DB2

FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Boas vindas e apresentações Objetivos e agenda do encontro Encerramento espaço livre

SAD SISTEMA DE ATENDIMENTO DATAMACE

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Introdução. Gerência de Projetos de Software. Sumário. Sistemas de Informação para Processos Produtivos

COMO INVESTIR PARA GANHAR DINHEIRO

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

EVENTOS DE GRANDE PORTE

SISTEMA DE MONITORAMENTO DE SGBD SQL SERVER.

Cartilha. Correio eletrônico

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

PL/pgSQL por Diversão e Lucro

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO

Banco de Dados. Prof. Antonio

Pró-Reitoria de Ensino de Graduação Núcleo de Apoio Pedagógico - NAPE P L A N O D E E N S I N O

Controle Patrimonial WEB

Conhecendo os usuários de um Sistema de Banco de Dados

GUIA DE ORIENTAÇÕES ROTEIRO DE CONFIGURAÇÃO DO SOFTWARE CRM PROFESSIONAL ANEXO III ROTEIRO DE CONFIGURAÇÃO - CRM PROFESSIONAL

Bancos de Dados I. Integridade semântica

PERGUNTAS MAIS FREQÜENTES FEITAS PELO ALUNO. 1. O que são as Atividades Complementares de Ensino do NED-ED?

ACENDENDO AS LUZES. Capitulo 2 - Aula 1 Livro: Arduino básico Tutor: Wivissom Fayvre

Plano de Trabalho Docente Ensino Técnico

Gerenciamento de Projeto

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

Proposta. Gerenciando Projetos com Microsoft Project. Apresentação Executiva. Gerenciando Projetos com Ms-Project

Conecta Positivo 2014 MANTER E INOVAR. Assessoria da Área de Informática Educativa

PROJETO DE FINAL DE CURSO (PFC)

Linguagem SQL Sub-linguagem DDL

Projeto da Disciplina Parte1: Estudo de Viabilidade. Um Estudo de Viabilidade

Programação de Computadores. Professor Ilaim Costa Junior

CIÊNCIA E TECNOLOGIA DO RIO

Índice. Introdução. Entenda porque vale a pena administrar o seu tempo. Saiba quem rouba o seu tempo. Separe o importante do urgente

Formação em Banco de Dados. Subtítulo

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

Gestão de Projetos GNG- 103

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Programação SQL. Introdução

(Anexo 1) Proposta de Terceirização do IIPCNet

A Ponte entre a Escola e a Ciência Azul

Declaração de Escopo. Projeto PDTI Informações Gerenciais

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

Oracle 10g: SQL e PL/SQL

Implementando uma Classe e Criando Objetos a partir dela

RANGE-HASH e RANGE-LIST


Termo de Abertura Sistema de Vendas de Pizzas Online (PizzaWeb) - Versão 1.0

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha.

Introdução ao SQL. O que é SQL?

Organização de tarefas e rotina doméstica

PostgreSQL Troubleshooting e Monitoramento

Gestão e Tecnologia. Na Prática. Gustavo Rocha.

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger

Sistemas de Bases de Dados

ENGENHARIA DE SOFTWARE I

Como fazer e dar apresentações cien3ficas. Antonio Roque Maio 2012

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL

Tarefa Orientada 19 Triggers

Governança AMIGA. Para baixar o modelo de como fazer PDTI:

Empresário. Você curte moda? Gosta de cozinhar? Não existe sorte nos negócios. Há apenas esforço, determinação, e mais esforço.

Curso Data warehouse e Business Intelligence

António Rocha Nuno Melo e Castro

Transcrição:

Treinamento PostgreSQL - Aula 10 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 11 de Junho de 2013 Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 eduardo.edusantos@gmail.com 11 de Junho de 2013 1 / 16 edua

Cronograma Semana 1: 27 de Maio a 3 de Junho Administração de Dados Semana 2: 4-11 de Junho Administração de Banco de Dados Semana 3: 13-18 de Junho Alta disponibilidade Semana 4: 19-24 de Junho Performance Tuning Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 eduardo.edusantos@gmail.com 11 de Junho de 2013 2 / 16 edua

Introdução Planejamento O primeiro passo é estabelecer um cronograma contendo as seguintes macro-atividades: 1 Investigação 2 Diagnóstico 3 Migração 4 Homologação 5 Suporte Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 eduardo.edusantos@gmail.com 11 de Junho de 2013 3 / 16 edua

Introdução Recursos Humanos Capacitação é fundamental em todas as etapas; Aprender fazendo é bom, mas perguntar pra quem sabe é melhor; O DBA deve sempre lidar com o conservadorismo. Assim: Documente todas as etapas; Teste tudo muitas vezes; Não tenha pressa! Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 eduardo.edusantos@gmail.com 11 de Junho de 2013 4 / 16 edua

Introdução Se não conseguir... Se perceber que não vai conseguir, peça ajuda! https://github.com/darold/ora2pg http://www.enterprisedb.com/products-services-training/ products/postgres-plus-advanced-server 1 1 Lembre-se: trata-se de um software proprietário, apesar de mais fácil de migrar. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 eduardo.edusantos@gmail.com 11 de Junho de 2013 5 / 16 edua

Investigação Começando Não tem jeito: para começar tem que estudar! Precisa saber SQL! http: //wiki.postgresql.org/wiki/oracle_to_postgres_conversion Algumas dicas: Preocupe-se primeiro com a estrutura de dados. Deixe as regras de negócio para depois; Se sabe que vai migrar, avise os desenvolvedores imediatamente e adote a cultura SQL Ansi na empresa; Se as regras de negócio estiverem no banco, saiba que o trabalho será signicativamente maior. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 eduardo.edusantos@gmail.com 11 de Junho de 2013 6 / 16 edua

Investigação Boas práticas[ike, 2006] Evite extensões especícas; Utilize ANSI SQL; Evite misturar maiúsculas e minúsculas. Minúsculas para objetos e maiúsculas para palavras reservadas; Documente todo o código armazenado no banco; Lembre-se: antes de tudo, faça backup. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 eduardo.edusantos@gmail.com 11 de Junho de 2013 7 / 16 edua

Investigação Diagnóstico Identique todos os sistemas que serão migrados; Priorize os não críticos; Identique possíveis problemas na migração: Regras de negócio no banco; Diferença de dados; Congurações especícas. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 eduardo.edusantos@gmail.com 11 de Junho de 2013 8 / 16 edua

Migrando Durante o processo[ike, 2006] Documente tudo; Dê preferência às cláusulas em texto puro com SQL ANSI, principalmente DDL e DML; Comece com o modelo de dados, que é teoricamente mais simples; Primeiro importe as tabelas, deppois as restrições e por últimos os dados; Só prossiga para a próxima etapa quando a anterior estiver validada. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 eduardo.edusantos@gmail.com 11 de Junho de 2013 9 / 16 edua

Migrando Diferenças sysdate SELECT s y s d a t e FROM d u a l ; SELECT now ( ) ; Tabela dual Sequências: sequence_name.nextval - Oracle e nextval('sequence_name') - PostgreSQL Decode decode ( expr, s e a r c h, e x p r [, s e a r c h, e x p r... ] [, d e f a u l t ] ) CASE WHEN e x p r THEN e x p r [... ] ELSE e x p r END NVL start_ date := NVL( hire_date, SYSDATE) ; SELECT COALESCE( hire_date, now ( ) ) ; CONNECT BY Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 11 eduardo.edusantos@gmail.com de Junho de 2013 10 / 16 edua

Migrando PL/SQL x PL/pgSQL Muitas sintaxes de linguagem em ambos os bancos. No PostgreSQL é preciso declarar a linguagem; Não existem Stored Procedures no PostgreSQL, mas as funções podem retornar VOID; Não existe valor DEFAULT para funções no PostgreSQL, mas é possível atribuir um valor para a variável no corpo da função; Não existem Packages no PostgreSQL. Os objetos são organizados em Schemas; Não há Cursores no PostgreSQL. As consultas vão declarados dentro do FOR e seus resultados armazenados numa variável do tipo RECORD; No PostgreSQL TRIGGERS chamam apenas uma função. Não há código no corpo. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 11 eduardo.edusantos@gmail.com de Junho de 2013 11 / 16 edua

Migrando Migrando Teste! Teste! Teste! Depois que terminar, teste de novo! Quando tudo estiver 100% funcional, apague todo o trabalho, pegue a documentação e comece de novo! Se estiver conante, verique o trabalho novamente. Peça para outra pessoa testar; Finalmente, faça a migração agendando pelo menos o dobro de tempo estimado; Não ponha todos os ovos na mesma cesta. Mantenha o antigo banco de dados no ar por um bom tempo. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 11 eduardo.edusantos@gmail.com de Junho de 2013 12 / 16 edua

Suporte Suporte Após a migração, mantenha contato sempre com a equipe de desenvolvimento; Faça apresentações constantes mostrando a nova forma de trabalhar; Assuma a responsabilidade pelo banco de dados; Seja ainda mais conservador. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 11 eduardo.edusantos@gmail.com de Junho de 2013 13 / 16 edua

Suporte Documentação Apresente à equipe de desenvolvimento toda a documentação gerada na migração; Tente repetir o processo de migração a partir da documentação repetidas vezes; Propague a sua migração! Sempre precisamos de mais exemplos: Escreva um caso de sucesso: Escreva uma notícia: http://postgresql.org.br/user/register Divulgue na comunidade: https://listas.postgresql.org.br/ cgi-bin/mailman/listinfo/pgbr-geral Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 11 eduardo.edusantos@gmail.com de Junho de 2013 14 / 16 edua

Suporte Participe Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 11 eduardo.edusantos@gmail.com de Junho de 2013 15 / 16 edua

Referências Ike, F. (2006). Migrando de oracle para postgresql. http://www.slideshare.net/fernandoike/migrando-de-oracle-parapostgresql Acessado em 11/06/2013. Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 11 eduardo.edusantos@gmail.com de Junho de 2013 16 / 16 edua

Referências Contato Eduardo Ferreira dos Santos Sparkgroup Lightbase Consultoria em Software Público eduardo.santos@lightbase.com.br eduardo.edusantos@gmail.com www.postgresql.org.br www.eduardosan.com +55 61 3347-1949 Eduardo Ferreira dos Santos (SparkGroup TreinamentoePostgreSQL Capacitação- Aula em Tecnologia 10 11 eduardo.edusantos@gmail.com de Junho de 2013 16 / 16 edua