Tuning de Banco de Dados

Tamanho: px
Começar a partir da página:

Download "Tuning de Banco de Dados"

Transcrição

1 AULA 06 Tuning de Banco de Dados INTRODUÇÃO AO OWI

2 Na aula anterior... Começamos a estudar OWI, vimos que todo o nosso problema associado a lentidão está sempre ligado a gargalos em banco de dados. Para cada gargalo existe um evento de espera específico que deve ser analisado para que possamos conhecer o querealmente está impactando na performance donosso ambiente. Falamos sobre o evento de espera chamado Buffer Busy Waits e vimos que está diretamente ligado aos chamados hotblocks.

3 Continuando OWI Hoje continuaremos trabalhando com eventos de espera suas causas e a forma de tentar evitálos. Na aula de hoje vamos imaginar uma situação onde uma usuária nos liga dizendo que ao chegar para trabalhar o sistema dela está muito lento. Você então pergunta para ela onde especificamente ela percebeu o problema. A usuária então te fala que existem diversos processos com problema. Você que já está ficando experiente em resolver problemas de performance já percebeu que na reclamação dela existe uma palavra chave: DIVERSOS. Sendo assim você decide que não é uma boa alternativa pensar em problema isolado e analisar trace. Você então prefere pedir para que ela rode novamente o processo e vai investigar o ambiente como um todo. MAS COMO FAZER ISSO??

4 OWI no ambiente real Localizando gargalos Lembra quena aula anterior nós falamos a respeito da query queajudava a localizar gargalos? Pois bem, mãos a obra... Você então roda a query abaixo e percebe um novo evento de espera acontecendo para várias sessões no banco de dados. SELECT i.instance_name, w.event, COUNT (*), SUM (seconds_in_wait) FROM gv$instance i, gv$session_wait w WHERE i.inst_id = w.inst_id AND event not like 'Streams AQ%' AND event not like 'queue messages%' AND event not like 'SQL*Net%' AND (w.inst_id, SID) IN (SELECT inst_id, SID FROM gv$session WHERE status = 'ACTIVE' AND username ISNOT NULL) GROUP BY i.instance_name,eventorder BY 3 DESC;

5 db file scattered read Você acaba de descobrir que um novo evento de espera acontece no seu banco de dados. Ele se chama db file scattered read. Então você precisa inicialmente entender o que este evento tem para te falar. Vamos a ele? O evento db file scattered read, significa que que o processo do usuário (a sessão) está lendo buffers na SGA (buffer cache) porém está tendo que esperar muito por leitura física no disco I/O. De base desta informação veja o leque de informações que se abre para que possamos analisar. Pense comigo...

6 db file scattered read O processo de usuário está lendo do buffer mas está demorando esperando buscar no disco. Sópor esta informação percebemos quea taxa de acertos da SGA, está ruim. A taxa de acerto que eu chamo é quando dados são procurados e eles estão em memória, não necessitando buscar em disco. Outra coisa que podemos analisar é que poderemos ter algum problema em disco causando esta lentidão. Porém aqui cabe um parênteses importante. Falar em problema de disco significa ter que envolver pessoal de storage, SO... E seria muito chato depois de tudo descobrir que talves uma simples configuração de banco de dados melhorasse não é mesmo? Sendo assim vamos seguir entendendo o evento de espera que é bem melhor para nós.

7 db file scattered read O termo scattered read quer dizer leitura dispersa, ou seja lendo em vários locais da memória ao mesmo tempo, onde pode quase sempre ter que buscar em disco. O grande vilão deste evento de espera são as leituras em FULL table SCAN, ou seja varredura da tabela toda para se buscar os dados ou ou índices mal criados que geram leitura full scan também. Quando um full scan ocorre normalmente os blocos lidos não estão fisicamente adjacentes, em seu armazenamento no disco, ou seja ordenados na ordem de leitura. Sendo assim torna a leitura mais demorada. Sempre que encontrarmos este evento de espera é interessante que se analise as queries das sessões onde ele está ocorrendo. Lembra quetemos uma query qye traz quais sessões tem o evento? Vamos usá-la para verificar o SID e SERIAL# e identificar as queries rodando e pegar quais tem o evento.

8 db file scattered read Sabendo qual o SID da sessão e o SERIAL# podemos facilmente descobrir o que a sessão está fazendo utilzando uma nova query, simples porém objetiva: select * from v$sql where address = (select sql_address from v$session where sid =26 and serial#=32145); O sid e serial você informa de acordo com o descoberto pela query da aula passada. Sabendo qual a query poderemos facilmente gerar um plano de execução da query. Mas o que é de fato este plano de execução???

9 Um plano de execução. O plano de execução de uma query será objeto de um capítulo específico do curso, porém é interessante fazer um breve comentário a respeito dele para que possamos entender o que ele traz o que é. Um plano de execução é como um plano de vôo, que diz qual a melhor forma de se chegar a algum lugar. No Banco de Dados ele mostra qual a melhor forma de se acessar os dados e trazê-los para a requisição dousuário. Se engana quem pensa que este plano de execução é sempre a melhor forma de acessar os dados. Muitas das vezes uma tarefa dotuning é fazer mudar o plano de execução. Mas para sabermos como a nossa query em questão está sendo executada precisamos saber o plano deexecução. Para isso existe uma forma bem simples para isso utilizando o comando EXPLAIN PLAN.

10 Utilizando o comando EXPLAIN PLAN. O comando explain é utilizando da seguinte forma: NoSQLPLUS faça: SQL> EXPLAIN PLAN FOR SELECT... (aqui coloca a query completa) Depois para saber o plano de execução utiliza-se: SQL> set pages 1000 set lines 120 select * from table(dbms_xplan.display) /

11 Identificando a query. Na query, ou melhor, no plano de execução procure pela palavra FULL ela pode aparecer em full table ou full index. De posse desta informação e com o evento de espera que conhecemos hoje, já podemos verificar queprovavelmente ele é proveniente de uma query mal feita. Não se engane porém achando que todo FULL é ruim; se fosse assim era muito fácil de banir ele dobanco de dados. Antes de condenar o FULL scan verificamos o tamanho da tabela, a quantidade de linhas que serão lidas. Quando o FULL ocorre em uma tabela muito pequena em quantidade de linhas com certeza ele não será impactante para o ambiente e o sistema escolheu certo em fazê-lo. Isso é facilmente identificado com um select count(*) from tabela; Então a grande lição de hoje é: antes de condenar procure ouvir os dois lados SEMPRE! Bem mas se percebermos que o FULL não deveria ocorrer e que seria muito melhor com a utilização de um índice devemos então quem sabe criá-lo.

12 Estimando criação de um índice. A criação de um índice requer espaço em storage e deve ser analisada. Pode nem ser o foco do nosso curso mas acho muito interessante explicar e o DBA saber. Se precisarmos estimar o espaço na criação de um índice a package abaixo poderá ajudar da seginte forma: Declare u_bytes number; a_bytes number; Begin dbms_space.create_index_cost (ddl => 'CREATE UNIQUE INDEX OWNER.NOME_INDICE ON OWNER.NOME_TABELA' '(COLUNAS INDEXADAS SEPARADAS POR VIRGULA) tablespace TBSPC_INDEX', used_bytes => u_bytes, alloc_bytes=> a_bytes); dbms_output.put_line ('Used Bytes = ' u_bytes); dbms_output.put_line ('Allocated Bytes = ' a_bytes); end; /

13 Estimando criação de um índice. Como resultado temos algo parecido com: Used Bytes = bytes ou 2,34Gb à ocupará este valor em bytes para dados Allocated Bytes = ou 3,87Gb à ocupará este valor dentro do tablespace de índice (valor alocado). Valor alocado será diferente de acordo com a configuração do tablespace. Assim poderemos prever o tamanho de espaço necessário para a criação deumíndice.

14 db file scattered read Voltando ao evento de espera encontrado ainda poderemos analisar um parâmetro que normalmente é setado automaticamente pelo banco de dados a partir da versão 10 mas que poderemos alterá-lo e com isso aumentar ou diminuir a incidência de full tables scan. Estou falando do parâmetro DB_FILE_MULTIBLOCK_READ_COUNT, que basicamente dirá para o banco quantos blocos poderão ser lidos ao mesmo tempo. Quando maior este número mais interessante se torna um full table scan, quanto menor menos interessante seria para o otimizador escolher fazer FULL SCAN. Existe uma regra para calculo de um bom valor deste parâmetro que falaremos no momento oportuno. Por uma questão de teste poderíamos fazer a alteração dele com alter session apenas na sessão para verificar a performance da query.

15 ATENÇÃO!! Dica Para a aula de hoje cabe uma dica muito interessante e importante, sempre que analisar uma query por um problema de lentidão e pensar em alteração de parâmetro de inicialização, como no caso citado anteriormente, pense no banco de dados como um todo e lembre-se que parâmetros de inicialização influenciam o banco de dados como um todo. Se for mesmo muito necessária a alteração do parâmetro, por uma determinação do fabricante da aplicação ou algo do gênero, o mesmo poderá ser feito através de trigger de logon onde seta o parâmetro apenas para a sessão de usuário determinado, ou até mesmo inserir naaplicação o alter session dealteração na aplicação antes daquery. Não deixe que para resolver um problema crie-se outros.

16 Tuning banco de dados Próxima aula... Na próxima aula vamos dar prosseguimento ao estudo dos eventos de espera suas causas e algumas formas de evitá-los.

17 AULA 06 Tuning de Banco de Dados FIM

Tuning de Banco de Dados

Tuning de Banco de Dados AULA 08 Tuning de Banco de Dados ANALISANDO EVENTOS NO TEMPO Na aula anterior... Estudamos os eventos de espera ligados ao processo de gravação do controlfile, analisamos como a geração de redolog influencia

Leia mais

Oracle Performance Diagnostics & Tuning Ricardo Portilho Proni

Oracle Performance Diagnostics & Tuning Ricardo Portilho Proni Oracle Performance Diagnostics & Tuning Ricardo Portilho Proni Mitificação Métodos antigos o o o o o o Experiência Intuição Imprecisão Tempo Sorte Recursos Top Tuning Verificar maior consumidor de CPU

Leia mais

Bancos de Dados IV. Tuning de Bancos de Dados. Rogério Costa

Bancos de Dados IV. Tuning de Bancos de Dados. Rogério Costa Bancos de Dados IV Tuning de Bancos de Dados Rogério Costa rogcosta@inf.puc-rio.br 1 Sintonia (Tuning) de Bancos de Dados O que é? Realizar ajustes de forma a obter um melhor tempo de resposta para determinada

Leia mais

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 10- Indexação Prof. Daniela Barreiro Claro Indexação Indexação em SQL; Vantagens e Custo dos Índices; Indexação no PostgreSQL; FORMAS - UFBA 2 de X; X=23 Indexação Sintaxe: create

Leia mais

Reindexação Automática em SGBDs Relacionais

Reindexação Automática em SGBDs Relacionais Reindexação Automática em SGBDs Relacionais Eduardo Morelli emorelli@inf.puc-rio.br Ana Carolina Almeida abrito@inf.puc-rio.br José Maria Monteiro monteiro@inf.puc-rio.br Sérgio Lifschitz sergio@inf.puc-rio.br

Leia mais

Índices. 1. Introdução. Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I

Índices. 1. Introdução. Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I Prof. Paulo Ferreira Atividade para Sala de Aula: 25/11/2008 1. Introdução Índices Os índices

Leia mais

Profiler. Criando uma trace para análise de performance de um servidor SQL Server

Profiler. Criando uma trace para análise de performance de um servidor SQL Server Profiler Criando uma trace para análise de performance de um servidor SQL Server 1. Análise preliminar: identificando stored procedures e batchs com baixa performance. Demora excessiva para conclusão de

Leia mais

Configurações de performance no SQL Server José Antônio da Cunha CEFET-RN

Configurações de performance no SQL Server José Antônio da Cunha CEFET-RN Configurações de performance no SQL Server 2005 José Antônio da Cunha CEFET-RN Para obter o máximo de performance, DBAs configuram o SQL Server para atender às suas necessidades de negócio e muitas vezes

Leia mais

Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL. Banco de Dados II Transações (Oracle) Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Gerenciamento de

Leia mais

Análise e otimização de queries no MySQL. Jeronimo Fagundes da Silva

Análise e otimização de queries no MySQL. Jeronimo Fagundes da Silva Análise e otimização de queries no MySQL Jeronimo Fagundes da Silva Jeronimo Fagundes da Silva Líder de Desenvolvimento de Software para Web na KingHost Bacharel em Ciência da Computação pela UFRGS Trabalha

Leia mais

Oracle Tuning. Este PDF está disponível em Ricardo Portilho Proni Nerv Informática

Oracle Tuning. Este PDF está disponível em  Ricardo Portilho Proni Nerv Informática Oracle Tuning Este PDF está disponível em http://nervinformatica.com.br/t.pdf Ricardo Portilho Proni ricardo@informatica.com.br Nerv Informática Quem sou eu Ricardo Portilho Proni - Consultor e Instrutor

Leia mais

ORACLE IN-MEMORY 12c. Vantagens e Cenários de Utilização do Oracle In-Memory 12c. Willian Frasson

ORACLE IN-MEMORY 12c. Vantagens e Cenários de Utilização do Oracle In-Memory 12c. Willian Frasson ORACLE IN-MEMORY 12c Vantagens e Cenários de Utilização do Oracle In-Memory 12c Willian Frasson Apresentação Willian Frasson DBA Oracle Tecnologia em Processamento de dados pela Universidade de Maringá

Leia mais

TLBD II. Continuação

TLBD II. Continuação TLBD II Continuação As expressões aritméticas podem conter nomes de colunas, valores numéricos constantes e os operadores aritméticos: OPERADOR DESCRIÇÃO + Adição - Subtracção * Multiplicação / Divisão

Leia mais

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3) Endereçamento Virtual (1) Gerência de Memória Paginação Espaço de endereçamento dos processos não linearmente relacionado com a física Cada vez que são usados, os endereços virtuais são convertidos pela

Leia mais

consistent gets é o número de vezes que uma leitura consistente foi requisitada para um bloco do buffer cache.

consistent gets é o número de vezes que uma leitura consistente foi requisitada para um bloco do buffer cache. Ajustando o BUFFER CACHE, SHARED POOL e o LOG BUFFER BUFFER CACHE O buffer cache é utilizado para armazenar os blocos lidos a partir dos discos. Significa que um buffer cache pequeno irá fazer com que

Leia mais

Lock. Administração de Banco de Dados

Lock. Administração de Banco de Dados Lock Administração de Banco de Dados 1 Tópicos o Lock o Tipos de Lock o Recursos que podem ser bloqueados o Dica de Lock sobre uma Tabela o Dica de Lock em uma Sessão o Compatibilidade entre Locks 2 Lock

Leia mais

Gerência de Memória. Paginação

Gerência de Memória. Paginação Gerência de Memória Paginação Endereçamento Virtual (1) Espaço de endereçamento dos processos não linearmente relacionado com a memória física Cada vez que são usados, os endereços virtuais são convertidos

Leia mais

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída Aula 19 Sistema de Entrada/Saída Sistema de E/S Por que estudar? Essenciais! Muitos tipos: - mouse - discos - impressora - scanner - rede - modem Cada fabricante complica de um jeito diferente. Tempos

Leia mais

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE NÚCLEO DE PÓS-GRADUAÇÃO E EXTENSÃO NPGE

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE NÚCLEO DE PÓS-GRADUAÇÃO E EXTENSÃO NPGE 1 FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE NÚCLEO DE PÓS-GRADUAÇÃO E EXTENSÃO NPGE CURSO DE PÓS-GRADUAÇÃO LATO SENSU ESPECIALIZAÇÃO EM BANCO DE DADOS ESTRUTURA DE MEMÓRIA E DE ARMAZENAMENTO

Leia mais

Performance Tuning. O que é, por onde começar e o que fazer? Fábio Prado. www.fabioprado.net

Performance Tuning. O que é, por onde começar e o que fazer? Fábio Prado. www.fabioprado.net Performance Tuning O que é, por onde começar e o que fazer? Fábio Prado Visão geral Nesta apresentação veremos: O que é Tuning? Objetivos do tuning Problemas mais comuns Onde e por que tunar? Atividades

Leia mais

Performance de Sistemas

Performance de Sistemas Performance de Sistemas Dicas de Tuning desenvolvimento Gustavo Braga Tópicos APRESENTAÇÃO INTRODUÇÃO PROBLEMA CAUSAS SOLUÇÕES DICAS CONCLUSÃO OBJETIVO: APRESENTAR CASOS E TÉCNICAS PARA AJUDAR A ENTENDER

Leia mais

1 Exemplo de banco de dados no Excel com informações financeiras

1 Exemplo de banco de dados no Excel com informações financeiras Este conteúdo faz parte da série: Excel Dicas Avançadas Ver 11 posts dessa série Se você é um gestor, analista, estagiário, empresário, enfim, se você já trabalhou em alguma empresa em toda a sua vida

Leia mais

Backup e Restauração Banco de Dados. Evandro Deliberal

Backup e Restauração Banco de Dados. Evandro Deliberal Backup e Restauração Banco de Dados Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal Backup e Recuperação de dados no ambiente Oracle Backup e Recuperação de Dados Backup

Leia mais

Use o índice! O essencial para desenvolvedores

Use o índice! O essencial para desenvolvedores Use o índice! O essencial para desenvolvedores A culpa não é do Rails Usando índices para salvar o dia (no fundo é uma talk sobre banco de dados) whoami Milhouse (Renan Ranelli) Consultor Independente

Leia mais

Cap 15 Managing Database Performance. Pedro F. Carvalho DBA Oracle contato@pedrofcarvalho.com.br www.pedrofcarvalho.com.br

Cap 15 Managing Database Performance. Pedro F. Carvalho DBA Oracle contato@pedrofcarvalho.com.br www.pedrofcarvalho.com.br Cap 15 Managing Database Performance Objectives After completing this lesson, you should be able to: Monitor the performance of sessions and services Use the SQL Tuning Advisor to: Identify SQL statements

Leia mais

SQL (Tópicos) Structured Query Language

SQL (Tópicos) Structured Query Language SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir

Leia mais

Configurar o ODBC em ISE 2.3 com base de dados Oracle

Configurar o ODBC em ISE 2.3 com base de dados Oracle Configurar o ODBC em ISE 2.3 com base de dados Oracle Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Configurar Etapa 1. Configuração básica do Oracle Etapa 2. Configuração básica ISE

Leia mais

Índices no Oracle Database

Índices no Oracle Database Índices no Oracle Database Tudo o que você precisa saber sobre eles (em 50 minutos) Fábio Prado Apresentação Quem sou eu? Trabalho com TI há 16 anos: 2000/2001: Analista de Suporte; 2001/2007: Analista

Leia mais

Lendas do Oracle. Ricardo Portilho Proni ricardo@nervinformatica.com.br. TITLE Speaker

Lendas do Oracle. Ricardo Portilho Proni ricardo@nervinformatica.com.br. TITLE Speaker TITLE Speaker Lendas do Oracle Ricardo Portilho Proni ricardo@nervinformatica.com.br Esta obra está licenciada sob a licença Creative Commons Atribuição-SemDerivados 3.0 Brasil. Para ver uma cópia desta

Leia mais

Material Teórico. Procedures, Functions, Exceptions e Triggers. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

Material Teórico. Procedures, Functions, Exceptions e Triggers. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque Banco de Dados Material Teórico Procedures, Functions, Exceptions e Triggers Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque Revisão Textual: Prof. Ms. Claudio Brites Procedures, Functions,

Leia mais

Formação de DBAs SQL Server 2008 Parte 6: Gerenciamento de Performance

Formação de DBAs SQL Server 2008 Parte 6: Gerenciamento de Performance Formação de DBAs SQL Server 2008 Parte 6: Gerenciamento de Performance Material Cedido pelo Professor Leandro Coelho Correia Monitoramento O monitoramento é primeira etapa do gerenciamento de performance.

Leia mais

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A BANCO DE DADOS GERENCIAL 1 A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A CONCEITOS LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) A linguagem

Leia mais

BANCO DE DADOS PARA WEB

BANCO DE DADOS PARA WEB BANCO DE DADOS PARA WEB PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com BANCO DE DADOS O banco de dados será de fundamental importância para a criação de páginas dinâmicas,

Leia mais

AULA 10 DISASTER RECOVERY

AULA 10 DISASTER RECOVERY AULA 10 MÓDULO DBA PLENO DISASTER RECOVERY Aprendemos mais sobre backup e algumas formas de automatizá-lo. Na aula anterior... Aprendemos dicas importantes e valiosas sobre RMAN, CRONTAB e agendamentos.

Leia mais

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80

Leia mais

Planejamento Parte Visão Geral do Ajuste de Desempenho do Banco de Dados 02 - Arquivos de Alert e Trace do Oracle

Planejamento Parte Visão Geral do Ajuste de Desempenho do Banco de Dados 02 - Arquivos de Alert e Trace do Oracle Planejamento Parte 1 01 - Visão Geral do Ajuste de Desempenho do Banco de Dados 02 - Arquivos de Alert e Trace do Oracle 03 - Utilitários e Visões Dinâmicas de Performance 04 - Otimizando a Shared Pool

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Slide 1 Memória Virtual os primeiros computadores (início dos anos 60) tinham memória principal muito reduzida O PDP-1 funcionava com uma memória de 4096 palavras

Leia mais

Funções Definidas pelo Usuário

Funções Definidas pelo Usuário BD II (SI 587) Funções Definidas pelo Usuário Prof. Josenildo Silva jcsilva@ifma.edu.br Funções definidas pelo usuário Funções precisam obrigatoriamente retornar um valor Somente aceitam parâmetros do

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

Blob fields in MySQL Databases

Blob fields in MySQL Databases Blob fields in MySQL Databases Publicado em: 08/05/2003 Há algum tempo trabalho com bases de dados padrão SQL voltados principalmente para o desevolvimento de aplicações de Internet. Estes dias um colega

Leia mais

26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real

26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp?comp=28194 Triggers no SQL Server: teoria e prática aplicada em uma situaçã o real Veja neste

Leia mais

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas O que é banco de dados? São conjuntos de registros dispostos

Leia mais

Organização de Arquivos

Organização de Arquivos Construção de Sistemas de Gerência de Bancos de Dados DI PUC-Rio Prof: Sérgio Lifschitz Organização de Arquivos Organização de Arquivos Tipos básicos de arquivos: heap files (entry sequenced files) sorted

Leia mais

Workshop Oracle Tuning

Workshop Oracle Tuning Workshop Oracle Tuning Ricardo Portilho Proni ricardo@nervinformatica.com.br Esta obra está licenciada sob a licença Creative Commons Atribuição-SemDerivados 3.0 Brasil. Para ver uma cópia desta licença,

Leia mais

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl AVALIAÇÃO DA QUALIDADE DO CÓDIGO FONTE ESCRITO EM PL/SQL Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas Linguagem SQL ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas villas@puc-rio.br SQL Linguagem padrão de acesso tabelas em um banco de dados relacional Permite definir e manipular dados DML

Leia mais

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes

Leia mais

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Seja então o conjunto de entidades pessoa, com os atributos bi_pessoa, nome_pessoa e morada_pessoa,

Leia mais

As cinco escolhas que você deve fazer para ter uma produtividade extraordinária

As cinco escolhas que você deve fazer para ter uma produtividade extraordinária As cinco escolhas que você deve fazer para ter uma produtividade extraordinária Reunião, trabalho, família, internet, saídas, e-mails, tecnologia, relatório, informação... Você já reparou quantas coisas

Leia mais

SQL Linguagem de Definição de Dados

SQL Linguagem de Definição de Dados SQL Linguagem de Definição de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais

Leia mais

Tabelas. Banco de Dados I MySQL

Tabelas. Banco de Dados I MySQL FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL Linguagem de Definição de

Leia mais

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS Fábio Roberto Octaviano Dicas de Ajuste (Tuning) de SQL Após o término do Capítulo: Mostrar algumas dicas de como refinar SQLs, de modo a obter

Leia mais

LogMiner Além do FlashBack Query

LogMiner Além do FlashBack Query LogMiner Além do FlashBack Query O Oracle LogMiner é uma ferramenta que permite consultas a arquivos de redo log s online e archives através de SQL. Os arquivos de redo contém o histórico da atividades

Leia mais

OTIMIZAÇÃO DE CONSULTAS - MYSQL. Prof. Antonio Almeida de Barros Junior

OTIMIZAÇÃO DE CONSULTAS - MYSQL. Prof. Antonio Almeida de Barros Junior OTIMIZAÇÃO DE CONSULTAS - MYSQL Prof. Antonio Almeida de Barros Junior Para a otimização de um SGBD precisamos identificar as consultas lentas que eventualmente são submetidas ao banco: Configurações do

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Aula 8 Prof. Marcos Alexandruk Aula 8 Índices (Indexes) Índices únicos Índices não únicos Índices de chave invertida Índices baseados em funções Índices de bitmap Tabelas

Leia mais

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

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

Programação em SGDB s

Programação em SGDB s Stored Procedures Programação em SGDB s Functions, Procedures e Triggers Permite a programação de códigos em um SGBD. Por que programar no SGBD? Linguagens: plpgsql, Tcl, Perl, Pyton e C. Vantagens da

Leia mais

1. Entendendo os erros que aparecem no Excel:

1. Entendendo os erros que aparecem no Excel: Este conteúdo faz parte da série: Excel Fórmulas Avançadas Ver 10 posts dessa série Todo mundo que usa o Excel, desde o básicão até as funções mais avançadas pode ter tido a experiência de ver as mesmas

Leia mais

Implementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco

Implementação de Sistemas de Arquivos. Na Aula Anterior... Esquema do Sistema de Arquivos. Nesta Aula 31/10/2016. Estrutura de Baixo Nível de um Disco GSI018 Sistemas Operacionais 31/10/2016 Implementação de Sistemas de Arquivos Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior... Memória

Leia mais

BANCO DE DADOS GERENCIAL 1 A U L A 2

BANCO DE DADOS GERENCIAL 1 A U L A 2 BANCO DE DADOS GERENCIAL 1 A U L A 2 N Í V E I S D E V I S Ã O, S U B G R U P O D D L : C R I A N D O B A N C O D E D A D O S, C R I A N D O T A B E L A S, E S T R U T U R A D A T A B E L A CONCEITOS :

Leia mais

Revisão Banco de Dados

Revisão Banco de Dados Revisão Banco de Dados Carlos Henrique - Aula 2 Descoberta de Conhecimento e Mineração de Dados Tópicos Abordados Conceitos Básicos Características Arquitetura Lógica Usuários Finais Modelo E/R Linguagens

Leia mais

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes

Leia mais

Page 1. Prof. Constantino Jacob

Page 1. Prof. Constantino Jacob Tópicos Introdução à SQL Definição Tipos de Operações Instrução SELECT Sintaxe básica Operações relacionais de restrição, projeção e junção Instruções DML Delete, Update e Insert Instruções DDL Create

Leia mais

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

Leia mais

Guia do Instrutor Jogo da Bruxa

Guia do Instrutor Jogo da Bruxa 0. Antes da aula A. Criar uma conta de e-mail para a turma Entre no site: https://accounts.google.com/signup? Nome de usuário: coloque nome da escola e número da turma. Exemplo: Weingartner64 Senha: nome

Leia mais

Professor Leonardo Larback

Professor Leonardo Larback Professor Leonardo Larback Engines MySQL Server possui um conceito chamado de Storage Engine ou mecanismos de armazenamento, ou ainda, tipos de tabela. Através da engine selecionada, o servidor sabe como

Leia mais

SQL. Prof. Roger Cristhian Gomes

SQL. Prof. Roger Cristhian Gomes SQL Prof. Roger Cristhian Gomes SQL SQL - Structured Query Language Linguagem de acesso e manipulação de sistemas de base de dados computacionais que segue o padrão ANSI Existem diferenças entre as versões

Leia mais

Sistemas de Informação e Bases de Dados 2012/2013. Índices. Alberto Sardinha

Sistemas de Informação e Bases de Dados 2012/2013. Índices. Alberto Sardinha Sistemas de Informação e Bases de Dados 2012/2013 Índices Alberto Sardinha Sumário Índices Criação de Índices em SQL Exemplos 2012 Ins)tuto Superior Técnico 1 Bibliografia Raghu Ramakrishnan, Database

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 19: Memória Virtual: Introdução Diego Passos Última Aula Paginação Método de gerenciamento de memória mais usado hoje. Espaço de endereçamento de um processo é

Leia mais

Postgres no Governo Federal: Ponto de Vista do Desenvolvedor. Leonardo Leite Serpro

Postgres no Governo Federal: Ponto de Vista do Desenvolvedor. Leonardo Leite Serpro Postgres no Governo Federal: Ponto de Vista do Desenvolvedor Leonardo Leite Serpro Eu Engenheiro de computação (Poli USP) Mestre em Ciência da Computação (IME USP) Desenvolvedor de sistemas no Serpro Doutorando

Leia mais

MC-102 Aula 24 Arquivos em C e Parâmetros do Programa

MC-102 Aula 24 Arquivos em C e Parâmetros do Programa MC-102 Aula 24 Arquivos em C e Parâmetros do Programa Instituto de Computação Unicamp 3 de Novembro de 2016 Roteiro 1 Arquivos Introdução a Arquivos em C Nomes e Extensões Tipos de Arquivos Caminhos Absolutos

Leia mais

BDII SQL TRANSAÇÃO Revisão 2

BDII SQL TRANSAÇÃO Revisão 2 exatasfepi.com.br BDII SQL TRANSAÇÃO Revisão 2 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Aula 17 Prof. Marcos Alexandruk Aula 17 Gerenciamento de Instância Instância Uma instância é a combinação dos processos de segundo plano e das estruturas de memória (SGA).

Leia mais

9/24/2014. Prof. André Backes

9/24/2014. Prof. André Backes Prof. André Backes 1 Arquivos Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não sequencial; Acesso concorrente aos

Leia mais

Banco de Dados I 6 Transações e Controle de Concorrência

Banco de Dados I 6 Transações e Controle de Concorrência Banco de Dados I 6 Transações e Controle de Concorrência Grinaldo Lopes de Oliveira (grinaldo( grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos

Leia mais

PROVA TECNOLOGIA DA INFORMAÇÃO

PROVA TECNOLOGIA DA INFORMAÇÃO Nome: Data: 12/07/2016 1. A arquitetura de três esquemas possui três níveis: nível interno, nível conceitual e o nível externo ou de visão. Com respeito ao nível conceitual podemos afirmar que; (A) Descreve

Leia mais

Índices. SCE-203 Algoritmos e Estruturas de Dados II

Índices. SCE-203 Algoritmos e Estruturas de Dados II Índices SCE-203 Algoritmos e Estruturas de Dados II Índice Em geral, um índice fornece mecanismos para localizar informações Índice de um livro ou catálogo de uma biblioteca Facilitam muito o trabalho

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language) AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados

Leia mais

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8th Edition

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8th Edition Capítulo 11: Implementação de Sistemas de Arquivos Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED

Leia mais

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Aula 6 Prof. Marcos Alexandruk Aula 6 Estruturas lógicas do Oracle: Tabelas tabelas relacionais tabelas temporárias tabelas organizadas por índices tabelas de objetos tabelas

Leia mais

Manual do Professor AVA - Moodle/Unesp (versão 3.0) Grupos e agrupamentos

Manual do Professor AVA - Moodle/Unesp (versão 3.0) Grupos e agrupamentos Manual do Professor AVA - Moodle/Unesp (versão 3.0) Grupos e agrupamentos O Moodle permite trabalhar com grupos entre os alunos, não necessariamente a composição dos grupos que irão desenvolver uma atividade

Leia mais

Planejamento Parte Visão Geral do Ajuste de Desempenho do Banco de Dados 02 - Arquivos de Alert e Trace do Oracle

Planejamento Parte Visão Geral do Ajuste de Desempenho do Banco de Dados 02 - Arquivos de Alert e Trace do Oracle Planejamento Parte 1 01 - Visão Geral do Ajuste de Desempenho do Banco de Dados 02 - Arquivos de Alert e Trace do Oracle 03 - Utilitários e Visões Dinâmicas de Performance 04 - Otimizando a Shared Pool

Leia mais

Em nosso exemplo, o banco de dados XE está trabalhando no modo NOARCHIVELOG, e para verificar isso, basta executar as seguintes tarefas:

Em nosso exemplo, o banco de dados XE está trabalhando no modo NOARCHIVELOG, e para verificar isso, basta executar as seguintes tarefas: RMAN: Backup em NOARCHIVELOG Quando um banco de dados Oracle está no modo NOARCHIVELOG, resumidamente, não há geração de archives, e conseqüentemente todas as alterações realizadas pelas transações não

Leia mais

Setup: Instalando o Pro Tools

Setup: Instalando o Pro Tools Setup: Instalando o Pro Tools Olá, tudo bem? Nesta Aula, começamos o Curso de Pro Tools! Neste vídeo, teremos os seguintes tópicos: 1. Sugestões para Melhor Aproveitamento do Curso; 2. Configuração de

Leia mais

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas usuário processador de E/S gerador de respostas Uso de Índices na Otimização e Processamento de Consultas Profa. Dra. Cristina Dutra de Aguiar Ciferri analisador controle de autorização verificador de

Leia mais

T-SQL Mitos. Vamos criar uma tabela para os nossos exemplos e, em seguida, comparar planos de execução. Mãos à obra.

T-SQL Mitos. Vamos criar uma tabela para os nossos exemplos e, em seguida, comparar planos de execução. Mãos à obra. T-SQL Mitos Mito T-SQL: COUNT(1) é mais rápido que COUNT(*) Já escutei algumas pessoas afirmarem, inclusive DBAs, que usar COUNT(1) é mais performático que COUNT(*). Além disso, também ouço programadores

Leia mais

José Antônio da Cunha

José Antônio da Cunha José Antônio da Cunha CEFET-RN Natal, 10 de maio de 2013 Auditando operações DML com OUPUT Imagine o seguinte cenário: você possui uma tabela muito importante em seu banco de dados e gostaria de implantar

Leia mais

f. Exemplo: verificar condição de aprovação de alunos

f. Exemplo: verificar condição de aprovação de alunos Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Semana 17 1) Expressões CASE a. Tem a mesma finalidade que nas linguagens

Leia mais

Oracle Advanced Compression x External Tables (Armazenamento de dados históricos)

Oracle Advanced Compression x External Tables (Armazenamento de dados históricos) Oracle Advanced Compression x External Tables (Armazenamento de dados históricos) Agenda Sobre Rodrigo Mufalani Clico de dados Visão Geral Avanced Compression Visão Geral External Tables Performance Disponibilidade

Leia mais

1. Utilize versões recentes do Excel com o formato XLSX

1. Utilize versões recentes do Excel com o formato XLSX Este conteúdo faz parte da série: Excel Dicas Avançadas Ver 11 posts dessa série Ter uma planilha pesada ou lenta é muito chato por alguns motivos. Primeiro porque atrapalha demais o uso do seu arquivo.

Leia mais

Administração de Sistemas Operacionais. Prof.: Marlon Marcon

Administração de Sistemas Operacionais. Prof.: Marlon Marcon Administração de Sistemas Operacionais Prof.: Marlon Marcon Gerenciamento de Memória Aula 9 Gerenciamento de memória Memória virtual Cache do disco Memória virtual O linux tem suporte a memória virtual,

Leia mais

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho Laboratório de Banco de Dados II Aula 04 Prof. Érick de Souza Carvalho 1 SQL (Structured Query Language ) Prof. Érick de Souza Carvalho 2 SQL Structured Query Language - Introdução É uma Linguagem para

Leia mais

SQL E MYSQL - COMANDOS BÁSICOS

SQL E MYSQL - COMANDOS BÁSICOS SQL E MYSQL - COMANDOS BÁSICOS Criar uma base de dados: CREATE DATABASE bdteste; Informação sobre tabelas DESCRIBE nomedatabela; Acessar base de dados: USE bdteste; COMANDOS GERAIS SHOW DATABASES; USE

Leia mais

INSTALAÇÃO DO LOGIX COM BANCO ORACLE

INSTALAÇÃO DO LOGIX COM BANCO ORACLE INSTALAÇÃO DO LOGIX COM BANCO ORACLE Passo 1) Baixar instalador do TotvsTec (para instalação em ambiente Linux, necessário baixar os dois instaladores para poder rodar o smartcliente no Windows) Passo

Leia mais